{"_id":"@xenon-device-management/xenon","_rev":"131-ae7516c6343288bb6a53469319798f60","name":"@xenon-device-management/xenon","dist-tags":{"latest":"2.12.0"},"versions":{"1.1.0":{"name":"@xenon-device-management/xenon","version":"1.1.0","license":"ISC","_id":"@xenon-device-management/xenon@1.1.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/xenon-platform/xenon#readme","bugs":{"url":"https://github.com/xenon-platform/xenon/issues"},"dist":{"shasum":"c1e6ac9e6d7b1d0b3c3544ca6c9aa0c08c728baf","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.0.tgz","fileCount":228,"integrity":"sha512-LCegdZRkIhUaxCGWXLrTt060D4wrVbY9MK0W87o1hFf5+To2prHEt49UKs/aQ3hb7BFm4u9FarkDTdVDfAeiZA==","signatures":[{"sig":"MEYCIQDlgxHbHH1T519FVM6kJLrNChQuKuoSg2az8KZpgZwSOgIhAP71dkGekAZ8adFTM5BiRUt9X/IP2/pwUl803g4YNFI6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3575526},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b5252a35ed96fed8da013fe23e42b1850d34baa5","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"repository":{"url":"git+https://github.com/xenon-platform/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","xmldom":"^0.6.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.10.14","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"9.2.2","ramda":"0.29.1","sinon":"17.0.0","appium":"3.1.1","dotenv":"^16.3.1","eslint":"8.52.0","js-yaml":"^4.1.0","ts-node":"10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","babel-eslint":"10.1.0","chai-exclude":"^2.1.0","@types/lodash":"4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"1.0.4","eslint-plugin-import":"2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-proposal-class-properties":"7.18.6"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.0_1771780517982_0.192959961862172","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@xenon-device-management/xenon","version":"1.1.1","license":"ISC","_id":"@xenon-device-management/xenon@1.1.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/xenon-platform/xenon#readme","bugs":{"url":"https://github.com/xenon-platform/xenon/issues"},"dist":{"shasum":"e1468ac20bec544735b6d15fb76cd13c5f647c31","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.1.tgz","fileCount":228,"integrity":"sha512-2HewLkwhcJtiH571aqdCdKOswS7vrShjypNFduOHRwLXwiy3G/8YqJYLobDZF6q6gNqwLf9hHZSs5P9zbpqN6Q==","signatures":[{"sig":"MEYCIQCbDYtUVK0FmJAUI6YAPSGwMjS0qZHonTIigzhL4z9ZCQIhAKzNFfp/lQvI7R8qpnFQrY5d3uADVq3u7Re4xeDvdSPG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3575526},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1f1bc5275ccf3a4c20c1310b69db40ae84994606","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"repository":{"url":"git+https://github.com/xenon-platform/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","xmldom":"^0.6.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.10.14","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"9.2.2","ramda":"0.29.1","sinon":"17.0.0","appium":"3.1.1","dotenv":"^16.3.1","eslint":"8.52.0","js-yaml":"^4.1.0","ts-node":"10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","babel-eslint":"10.1.0","chai-exclude":"^2.1.0","@types/lodash":"4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"1.0.4","eslint-plugin-import":"2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-proposal-class-properties":"7.18.6"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.1_1771782168850_0.1305816251127343","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@xenon-device-management/xenon","version":"1.1.2","license":"ISC","_id":"@xenon-device-management/xenon@1.1.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d2f2b352a0413d4aca7e26b6a55a2a8172438cd4","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.2.tgz","fileCount":228,"integrity":"sha512-uF8V3B7cH28MrsC9Jo9+z1iZdJfOZrvAk+Vobz6uelJOOGMMhleKPNcR3pmncCoZsSYACA5OM+hN74abQ6++cw==","signatures":[{"sig":"MEYCIQCunkSobXkPbk2RR1BMeXpZFbk94gOCxt3U0tmFinjg8wIhAKRhqwb9YUUOYW68zyONr2uY6DbsAFQ5HnohknvfDbZO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3575779},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"0a9b47846ac3212284aba4bf731454e6518a12ce","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}}},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"9.2.2","ramda":"0.29.1","sinon":"17.0.0","appium":"3.1.1","dotenv":"^16.3.1","eslint":"8.52.0","js-yaml":"^4.1.0","ts-node":"10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","babel-eslint":"10.1.0","chai-exclude":"^2.1.0","@types/lodash":"4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"1.0.4","eslint-plugin-import":"2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-proposal-class-properties":"7.18.6"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.2_1771856799892_0.18476021868361747","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@xenon-device-management/xenon","version":"1.1.3","license":"ISC","_id":"@xenon-device-management/xenon@1.1.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"a93b997085bfa234432fbf77c13df5d7f528f69a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.3.tgz","fileCount":228,"integrity":"sha512-OQvvFgJ+f5ZpHPf7TOGZEc0LZ/1OzdV6djml0sKvcEa+5hJJTQ/T3i8tE6Bd2Sl4CtwDFKMQSmZPpBx3TYLcww==","signatures":[{"sig":"MEUCIA427GVcVjfi5cSKCJnvf7FKRpjXhTtg9pZts5JhKrDWAiEAztCQiRI1Wk9CZ5PIse8m1YlapZClhLvkWiG9Ec/xY2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3575885},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1943fbf414d629ff0cc19818b3a18d2950b88980","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.3_1771858841051_0.7902741156868784","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@xenon-device-management/xenon","version":"1.1.4","license":"ISC","_id":"@xenon-device-management/xenon@1.1.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2f5da4d79fed94a6f35e0529095d757fb1f197ff","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.4.tgz","fileCount":230,"integrity":"sha512-D3bpt1zSrXWk5eLo8JeTNJFUGgx7c3I4dY+CVDc6um5j97TlsauYttMG9pL1Rej3KLbmp/0eHq1I8hJao5oXNw==","signatures":[{"sig":"MEQCIFTTVyqHvKJu9Z7M8yvBav8+lvWV9qNBnwixYANHqtaUAiBSX3cooZCVoNDLe003W7MjmCsJgqtkgt6XqqSC7suZzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3580722},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"54fc57ff4046215fa5c8cc8b08e6cf9c97640abd","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"npx prisma generate && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.4_1771867016973_0.7883684999171834","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@xenon-device-management/xenon","version":"1.1.6","license":"ISC","_id":"@xenon-device-management/xenon@1.1.6","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b4447e425452c63d38e448102d46da0d17faf039","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.6.tgz","fileCount":230,"integrity":"sha512-clRV1wxb9ysokgtlFbFV2yVNsjR0TIQHhuh372b/Pit8m1ip8CwJyq4FcH3iIFHe5YKDwR7gXRJd5ux4Y70uSA==","signatures":[{"sig":"MEQCIBfN6MPKkUQCrLr4BWLdZnjXQ2tzpIKqi0IU4/yhaJl7AiAfMCRsxvYRh+9625zcZRTayx7VZSGn7H4ToJeEdGSD4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3580921},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f1c28798890925ba30fcee7aa14f149d8c3c8229","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"npx prisma generate && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"npx prisma generate","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.6_1771868140096_0.6868171965656311","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@xenon-device-management/xenon","version":"1.1.7","license":"ISC","_id":"@xenon-device-management/xenon@1.1.7","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c20750046f425a9d4d3f70c75d850983f167daac","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.7.tgz","fileCount":231,"integrity":"sha512-octc8nupT7buvpZGKMoX318JdLTIctWQExIoY1HKLnlchiBoQjhMASR2wADpcy1ajyCvxSa0Eau5zAI0BLQkDw==","signatures":[{"sig":"MEUCIQCjNA0p97C1KVokrEza6X00C3emDX1YQvR1a/Z1FvPWugIge/ps+hIRQceo8G5qTAl7VRZxQNZ9iiUzLddC9S279xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3582294},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c3095b49e50c0b21a34444a1c1b69d21aa789e55","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"npx prisma generate && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib && cp -R src/public lib/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.7_1771869895158_0.7520725299085491","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@xenon-device-management/xenon","version":"1.1.9","license":"ISC","_id":"@xenon-device-management/xenon@1.1.9","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b353bc7dfe42bf48e3d4d787430c78d29f17149d","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.9.tgz","fileCount":251,"integrity":"sha512-Zd6qK6i+2aausFt23q4V4D9O6H4fggW2mPGg52VkAy1yz9nBOQhr05fQfVZP5zD46LlciA2MSbGGEo+kXtKbMA==","signatures":[{"sig":"MEUCIQCvecp6BrBqFo4yWBMon2H32/uP8xh5wIzN+yqfW+HywQIgZDncA+3kHfpEZj57warUyD5lfB0+XBccKiDIFI3yFsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21584515},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c8b3956ec4c96e3fa135da3e3a4e9f4e62be1c2a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.9_1771897925560_0.12339404619630656","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@xenon-device-management/xenon","version":"1.1.10","license":"ISC","_id":"@xenon-device-management/xenon@1.1.10","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"712200e02a5ddad9896a6259f5649fb267258fe3","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.10.tgz","fileCount":255,"integrity":"sha512-V82ea3QwNkmnswoGryBHPsHTNuk27fC4gi9L8rswtyqNYD/ZFJUIZCiWKjxC+CnJkvjkDt3rnBxAxUUsAQRl0g==","signatures":[{"sig":"MEYCIQChvfm73UfcRPgNuUxtMLlN+aTRF0RauRtNLpmR1iYbUwIhAO4uHftrDVyJRXEn9FdaQZ8Mb/u/B3jX9lcgaaEqCp3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88504616},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"089be778463ad652f5433ee2ce775444c36271f7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.10_1771898643509_0.30906144015908765","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@xenon-device-management/xenon","version":"1.1.11","license":"ISC","_id":"@xenon-device-management/xenon@1.1.11","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"f2c19250e8b031661fe3703bc5d8768a95effe23","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.11.tgz","fileCount":255,"integrity":"sha512-8Q0vFPG3tLHKWY/i2xg3KMDZIq0Ehqwxh7MYd2inPfPVyNWm1Zu7WQejbFyEK9yJsE6c9ESxZeofunfhhvwONQ==","signatures":[{"sig":"MEUCIQCSB6UBCQcnRDUCTZQrHi7V4Rc0xOwEDKx8Jg+XczjjXwIgcMUo2w5L2PU14HbfJ3+Xs76dFXEhxr6abzVxBVhmUPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88505603},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"6896e3a961832361d49d25671f1f1504f842f55a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.11_1771899316989_0.0568147298989401","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@xenon-device-management/xenon","version":"1.1.12","license":"ISC","_id":"@xenon-device-management/xenon@1.1.12","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"bc46f4a3b35cbc41ae942dd95056ab86860189a9","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.12.tgz","fileCount":255,"integrity":"sha512-rs/cvwbYYu18gUI6NXg3Dq/x8HJ1nEF0i7jpksfum26Yh5azzInB85H+WYoZLF8Hho4d017oGZISFJaHE+ZgzA==","signatures":[{"sig":"MEQCIHN87SAlf3CatvBaTNI6YWre3qnYDmsoIi904XfYW2/wAiAFsCFNm870bnc0nE26twy+u+4WUVhLqHwk0gNf5GGEZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88505603},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"00b998ba95604aa98c2a3c15c48675f084c7f799","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.9.8"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.9.8","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.12_1771899667957_0.21893747079978954","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@xenon-device-management/xenon","version":"1.1.13","license":"ISC","_id":"@xenon-device-management/xenon@1.1.13","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"ca3add5b87e7d0a097b1754ab5b2d0beef930ea8","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.13.tgz","fileCount":255,"integrity":"sha512-HLCWgddBF/INYxJARIjQESH6wP6H3Cra5UMJeROirFQbFoASZKIO/7trzCzSS/PVi9vDT1Gg39VwB9ZrnwY7Dw==","signatures":[{"sig":"MEUCIQDsD/aLqzS5GUSzLAcMvxGCqPmE0xzhDTVfYtV0GoFEDgIgGaf9UnARvT0X9Jj14GJ569TWEYkAjN1c3Z5/HG7JdiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88505607},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8a13ec49175b0a5465a25d3f8277d76512d761a6","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.13_1771902474253_0.378093844073333","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@xenon-device-management/xenon","version":"1.1.14","license":"ISC","_id":"@xenon-device-management/xenon@1.1.14","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c85bf876f82ed3e7bb091f81c1484dbfff4d3cd6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.14.tgz","fileCount":255,"integrity":"sha512-8zq/tdmgcOo1UGNIgLODrLkSu2OrtepDuTCchryHQWHYgl6iNIpMu02M7GeUvrc3ywRXcy4ibEpykScODiECpg==","signatures":[{"sig":"MEQCIDqPQ3MqpgWfbjrD13sS5Lv6upAxP/xUpaxZLporLB0ZAiB7MWpjMoAWAxZ/Ihej2wnbeTK9WYKGXjV36PpK3MFHog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88505627},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"535049b171fed11ebc8619f91f45f2e19b53c9e1","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.14_1771902673371_0.41930736161135895","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@xenon-device-management/xenon","version":"1.1.15","license":"ISC","_id":"@xenon-device-management/xenon@1.1.15","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c6274b9a4d6e86d8cf61c81339c5b5a4734ae366","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.15.tgz","fileCount":255,"integrity":"sha512-TeF4RyglDcErS2snETsxfcdcevAu9SawlfBu4Ttbh1cgP9b1SyWcaVFslQC1knSBFQEAdUnzrcKCKQThD/5ybA==","signatures":[{"sig":"MEUCIQDZ9MWzSPcZ/hbheHJLRnm7bNCDM8KhGQg1YFJ7aI2MvgIgccgVI4AvrvQIgYURF3SbEkBj29Xfi/WOL3EvPQd79B0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88506546},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"5c2d33ec5a7914e7091835ba6b69102b21027616","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.15_1772089978910_0.4856720178617553","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@xenon-device-management/xenon","version":"1.1.16","license":"ISC","_id":"@xenon-device-management/xenon@1.1.16","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"eb7794199e9c74a18a3944a1c9ba48fa359eaf5c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.16.tgz","fileCount":255,"integrity":"sha512-Y4LHzPBsOCSoGP1apI3AuInf/PK08hOHguUH50JrMJwvwGHP02nCFj8VfQmoNpVIv4COnZ9Cte9+C4lQebrC8Q==","signatures":[{"sig":"MEQCIDVR/eZMOi0TjGK9I2mI7XdEv0In49O8vrh439Pft6uLAiAjH/JLmwCSDl2cFifmvJrSm6XmvDED2V+iQT0GblHK0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88507027},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8b3edac68d15bd760737aa8d358b88f0305aca4d","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.16_1772090463293_0.13403760050281144","host":"s3://npm-registry-packages-npm-production"}},"1.1.17":{"name":"@xenon-device-management/xenon","version":"1.1.17","license":"ISC","_id":"@xenon-device-management/xenon@1.1.17","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"f8dfbcf62ee3dc6e7f363acf0b91cd1b78b978c0","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.17.tgz","fileCount":255,"integrity":"sha512-DYjqahBKWNc9viJ61rJONwwNA70lWb7lnnA/GpyeO28oZnZv7BzkUCoIe/OMRRxFGE0n8qU19FuPI8wqbt7f1Q==","signatures":[{"sig":"MEUCIBPHT3riuyqM8h+Vcjhy91v/Rc5KV86ouqepoT22vKobAiEA1QHRqT/hQYA4jWW24rzavpqywcLhWJD2fvM+4/vOXAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88508336},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"d916ebb5c22d37a95f77d40183bbe06ec292bfd7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.17_1772091288783_0.05586586123209547","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@xenon-device-management/xenon","version":"1.1.18","license":"ISC","_id":"@xenon-device-management/xenon@1.1.18","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"835894520a9c786ba7088cce5b1521a7ee1a02ad","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.18.tgz","fileCount":255,"integrity":"sha512-7LwLftAuJL2BtZSrUoaEeRBc6bwSZM8LnwjDt4TCcdVNHpDgFrXjWxSLnHAaZtB8w9dA/tHCHAr3kjVn+/I4Xg==","signatures":[{"sig":"MEQCICkgfzmFj6NKdB7UHyroBtCenZMSB9rAZBed05DI3zPoAiAcFGTDC/i7auWWP82e9GsTe5el6zC+mB7AyBwc8Jp1XA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88510181},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"efb4f3a437eee901a4acf55493670838d766e965","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.18_1772091663788_0.261510674499674","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@xenon-device-management/xenon","version":"1.1.19","license":"ISC","_id":"@xenon-device-management/xenon@1.1.19","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"eb6ad162d9702776b90f5bcb69db9a9756bcff54","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.19.tgz","fileCount":255,"integrity":"sha512-yFIt5E5nXSn9v3tEUDrcnqU89IU8QhYwQOZBTlHRrXG0qZES8LzpQQEyXl67YQ4+uW47l9yeoB1dnjzBSWMF3A==","signatures":[{"sig":"MEUCIFGXG8Wy+ocBjbmQmKZBoSp2pqbMwCaYDunt8rnJAG/QAiEAh4e1FiP3IYFVrjxDUytT9Ax9f6O5p7smi043/u+mHw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88511213},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c4a360f5fb9ca56373eb8ca0a512f2b0377a26c3","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.19_1772092583440_0.8072484897726471","host":"s3://npm-registry-packages-npm-production"}},"1.1.20":{"name":"@xenon-device-management/xenon","version":"1.1.20","license":"ISC","_id":"@xenon-device-management/xenon@1.1.20","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"06125cb703f938f516e0506c107ffdc1e571c0fc","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.20.tgz","fileCount":255,"integrity":"sha512-yC409W+wRwO/ZV9x1KUp8SAV8s5ddzTHCUPtjvPxmhnDX7q5Rvi8Fw6E5AZOSIW4VXEdwmthzH5hJAAW7noRLg==","signatures":[{"sig":"MEYCIQChHKEcGF8uTAMiRB6zRXlMKbmkn6UTL6Uuwzz1kqOwhgIhAIlJv78LUW5tgedu/Xg+a7y4RaQr97rl9cSYRGau6Mnp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88511123},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"732c5becd4f3ac3c5563c3ad339b4a773d3d0d5e","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.20_1772094332546_0.4517414396027917","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@xenon-device-management/xenon","version":"1.1.21","license":"ISC","_id":"@xenon-device-management/xenon@1.1.21","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"95c621040703a53fa46027afcaf0177d59e5f1fd","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.21.tgz","fileCount":255,"integrity":"sha512-PBmK1wjMauPwrJ+6WH4rMj/d81M3Akoef5/1IaK9qOgy4985vkEXupPTgBcLY2KLTukzkNuW58gMuxjvoBa8Mg==","signatures":[{"sig":"MEUCIQCgNIAHzMThbaxfSJwvHmkS+zK1MF1MbRLzLvxzWZlFYwIgKWH4om0A5c+Ou3luVuBoA7w0x3XOZe3e8ScgPOauGpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88511111},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"14ed520325dd54d9634f2222bca5f18e815c5589","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.21_1772096522444_0.24698985070588741","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@xenon-device-management/xenon","version":"1.1.22","license":"ISC","_id":"@xenon-device-management/xenon@1.1.22","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"0486e2acea9c1e25214b117fe0afb7db363b041a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.22.tgz","fileCount":255,"integrity":"sha512-HmIZbun8czFFbuZV2S5it6yJ7m/u54G6XwU/VkVnnsLDNyjPJqU0fXNFq1GKVGdgj3f49jISeJdRr4X/tLC7Cg==","signatures":[{"sig":"MEYCIQD4XJzgpdbAZ8Hkz8wngvZKJundSeaJ3wv0Ug56f/t9zQIhANAhOW+ABz9xkWvy1ZledWOWfGUNfa0ZeOwo1Vuv5lxF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88512131},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"d9bda01ce8b55d412d3d7c73186d4d372180f44a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.22_1772098032532_0.4464299835094079","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@xenon-device-management/xenon","version":"1.1.23","license":"ISC","_id":"@xenon-device-management/xenon@1.1.23","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c09ecd7629ee2915098d87bb3d6b198007390f7c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.23.tgz","fileCount":255,"integrity":"sha512-O5Nco4xoh4u7Ha67AKsLIKL5gInvO8J0f+jdm/f61u5JmBsYvPPwE/u6SPVx8WwRN9wLrHOpK/fcv8OHyUQ64Q==","signatures":[{"sig":"MEYCIQCSwIJ3RuZSBULakyeuXotO7/B0oBDqrJxQPnnNKTjKxAIhAIfApXjkJyxLxFZrzF9R0Z9FzXfEKdK87vEwZ3lgb66F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88516234},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"24916322a5abb7e8b110ce24ba98cee79736d137","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.23_1772099362443_0.9409880229356169","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"name":"@xenon-device-management/xenon","version":"1.1.24","license":"ISC","_id":"@xenon-device-management/xenon@1.1.24","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"50b7700c5143322467ac9b8661d42f080d277bfd","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.24.tgz","fileCount":255,"integrity":"sha512-mNH789ZoCp7ohsEBsIZunEcR6yVWL34ill95/d/3Crhqod9s9B6BMzPOWf2LicnB9J/M4/f+OBBeWjXe4OIkQA==","signatures":[{"sig":"MEYCIQCBJhBWgpRF1zPQUiFucdnjM+5L7UVQkM6jOD+yRFlCUgIhAI7x4+Al3oC6oBjwSIfYeXA6GngVbNivd7d7cjtjkk18","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88517796},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"d57221e63ee7db99373f1ec13749fcfe5f14584e","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.24_1772103096687_0.3064179525355366","host":"s3://npm-registry-packages-npm-production"}},"1.1.25":{"name":"@xenon-device-management/xenon","version":"1.1.25","license":"ISC","_id":"@xenon-device-management/xenon@1.1.25","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2dff4532746f7e2cbebbe50bcd77e09e84d5a31f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.25.tgz","fileCount":255,"integrity":"sha512-J/JToqbN9+VhK0g6I/QoUDBfNx+TPZmn+FEsl6+1e5tWXG/Q9yTdHLw42eF+sjKmRUyJZw94Yh8pasv5v2zTjg==","signatures":[{"sig":"MEUCIFF1sEgDcfTgJPTy8fY5wTz0hlQS9Ji0jb3sqlozXirjAiEAndW2ow2TMxn+pw5+vzZwp+4MnlSAA56flw1DLCmXoo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88520410},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"467fee7eacca8cdd8f483cbe2e68b1a7508fbf45","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.0","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.25_1772105418404_0.054257992262025656","host":"s3://npm-registry-packages-npm-production"}},"1.1.26":{"name":"@xenon-device-management/xenon","version":"1.1.26","license":"ISC","_id":"@xenon-device-management/xenon@1.1.26","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"9c5f9ff7f148c8665fa349aa84631e735afddda2","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.26.tgz","fileCount":257,"integrity":"sha512-0/tZ5/KBKRJi9p2juwgqLeGMBgHuTf/3KWZ5S4g7AUal615waqva8HTfTxHtydifqoJjYpbbpHDqF0aYsaAzbA==","signatures":[{"sig":"MEUCIFJGbdBUNP1r1tHa7L1xaaZhLCA/dhHoNbHSHAT8eQJQAiEA15/qYEMTjU3ILEN7RpRiMfp3G1a6H1F+wJs2u0sYJ8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88527842},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c5d09be9446cfa1f4864a757b07e904fab369252","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.26_1776738632778_0.1005655784887014","host":"s3://npm-registry-packages-npm-production"}},"1.1.27":{"name":"@xenon-device-management/xenon","version":"1.1.27","license":"ISC","_id":"@xenon-device-management/xenon@1.1.27","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"835bed83c744e6ab7bcef140328116d120d9358a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.27.tgz","fileCount":257,"integrity":"sha512-ZiRITjNch3fTgqntb8KuLocDMndJWq8/3eO3uifJyF+nKQT6nXUlU3XfESUd5heRtOQ8/D4QNc1n3xYliPwwYg==","signatures":[{"sig":"MEQCIB4lA6AYG0fKte+y76H/EH21SXs8eTBnFN/BErl6La2aAiBWff1pvwSNsiil+/FG951+jJ4TQHGPV7rjNyGD4Odbbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88527933},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1dc9d56f6d6a37f6286ecb62be1b96a003e621ba","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.27_1776739651620_0.0693036944859724","host":"s3://npm-registry-packages-npm-production"}},"1.1.28":{"name":"@xenon-device-management/xenon","version":"1.1.28","license":"ISC","_id":"@xenon-device-management/xenon@1.1.28","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"69df35c555bcf8a871b6dde15a001892a1256059","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.1.28.tgz","fileCount":257,"integrity":"sha512-owjzy3oJY6acjeY7SmMpCdvG9BVV7mxZmWZb8gY9NQUqgkD7H8LKW0RFwLqxKmA46RWRo5+MaAR3JT1aBqnxBA==","signatures":[{"sig":"MEYCIQCkV/f28Duhwo1xfaX51KCmFBhxcMbuXPbzDzRbtw3fAAIhALLUtOQOoa+Vu+pCykFP3KaLX9d9lruVWZouQInBHQlC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88528172},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"0c1c4d7e3a409c368e60d2aea5fccc470a457055","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.1.28_1776740599268_0.0018604949068863341","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@xenon-device-management/xenon","version":"1.2.0","license":"ISC","_id":"@xenon-device-management/xenon@1.2.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"6c45ff3aa433c9b619a3ff113495467860fd10f6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.2.0.tgz","fileCount":269,"integrity":"sha512-ci1Yb7DK5xvK3jBLPEn6iB9YATmPc1ESm2yH+uygcmnBx4Dhw+E/0xv5FDYVcyOq94bbeQ9Wb1OAtbYDJmCrOA==","signatures":[{"sig":"MEUCIQDYQLrh1/dLNdG22QujUAwCs6ZAG9JdNc59yqT8CjmK0wIgPhBdy80Z0rt40GrsNN08nFKrd98Pc4Knisj7mWFcXCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88679605},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"806a3c5c699811989da5151c4bd7543e93615316","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.2.0_1776825879161_0.9830786606685029","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@xenon-device-management/xenon","version":"1.3.0","license":"ISC","_id":"@xenon-device-management/xenon@1.3.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"23dc6d53edbf371e76c42a5952b5543894010d5a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.3.0.tgz","fileCount":292,"integrity":"sha512-MER5SiixMoKtsVaN8pG/984gLgNdhCdNcM+m0iXpd/aXD+8+QW5hsQjdkalvZPTuC6afYYIZ7Swbo5fQdxP8fA==","signatures":[{"sig":"MEQCIB8gsbRpEoMNHstPF/j4K7UK/5gN3vUx3QjAF0n5zoJXAiBj9jN4m7MShFzCBSmOFMSG2uNC3TV+FlwLZ2oiWrvZSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88813406},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"03e67463399969dd0d3895ac5d840af6a7ce31cd","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.3.0_1776932702464_0.02941373216699028","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@xenon-device-management/xenon","version":"1.4.0","license":"ISC","_id":"@xenon-device-management/xenon@1.4.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"49f6ba37cc740629f7b4d212afbd3dffad07dc17","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.4.0.tgz","fileCount":300,"integrity":"sha512-vrdnNptXX+oucCVjoXDUrIPIpA1HigOm88wKxSjesLqWBZ+dBiIy1k+hsTuyNHOwOG0PsQQke9xdp5ljEOZlnA==","signatures":[{"sig":"MEUCIDcxu6eDlQuB/npxzUQqxp8lHtEDoMOfoa0HZaUkgZHTAiEAuL5b8xGFmCgxcbvETfLF1zfqkNjo58n1xWf4oom/G8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88957029},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"4368d14dd7267fb79efb054d824c2992ccd3dab7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.4.0_1777005010419_0.7843961305231866","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@xenon-device-management/xenon","version":"1.5.0","license":"ISC","_id":"@xenon-device-management/xenon@1.5.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"e6281aee5dd385070c9e225fc9a250094cf3a969","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.5.0.tgz","fileCount":308,"integrity":"sha512-qrrK8fWr54+cQUfakG7yCdTW9ndV/VmzH88g0T9nDLEM76WyENqZ//oUaZg+O1JyMyynBTuF1rPiOAs+BBqfdA==","signatures":[{"sig":"MEQCIFlF1qmpJkTN2eUUi75wHZ6jigJy+S0IlVpcujFAIznpAiBPub+J0AzRqBVewosvubblbNlIVm7D13Blg2WotZ45zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88970964},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"097874b72a20ce18a9e25a111f007fe1f3fccd47","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@appium/docutils":"^0.4.11","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.5.0_1777013568212_0.0230656347628031","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@xenon-device-management/xenon","version":"1.6.0","license":"ISC","_id":"@xenon-device-management/xenon@1.6.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b6865230bfe501232f2c1990458f227f976a77f5","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.6.0.tgz","fileCount":457,"integrity":"sha512-u0aOY477pdtskXyTa+a3FNb6QIFk4wzu0gpT/W8ox+utZG2V22tspjcM+ZDKgPELCEbQHXdR3SGMW96EyAQCJw==","signatures":[{"sig":"MEUCIFH58X/rH9+uYX5TJbCUEJxaQFSWsvq8OvQwb19ZKyPYAiEAuga9hb5F8E8dmIEf11PV3J2XQKejl3NmwoVUTKdbw2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90665375},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"5b498115f9e6f913e9bb3e02611e94144e6ecb78","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.6.0_1778396563590_0.40153694062866396","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@xenon-device-management/xenon","version":"1.7.0","license":"ISC","_id":"@xenon-device-management/xenon@1.7.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"ccfa5f18186485a0dcfbaec6a640171f0fbbb35a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.0.tgz","fileCount":477,"integrity":"sha512-Lc8kCFzCrhN+5AaAkk+XadtgirOll3wdeV5D5Oy8oONbcbIG4srCXk/fpgwvgIY8cdP1SMpd4zPF28Uu7lp9KA==","signatures":[{"sig":"MEYCIQDRUMkD/MnpF2uWtOn1mKXbWunKbxTJojT6UOZIL1QtIQIhAPt4370o8zbeeuEPnRjjq8T8V4qIMf51yKK/G6T+7RO+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90816867},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"7b5ba736e2ff5b966c2b22acbd03ba7c3ae4396f","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.0_1778779989637_0.5064020674705121","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@xenon-device-management/xenon","version":"1.7.1","license":"ISC","_id":"@xenon-device-management/xenon@1.7.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"ea0ed09d0d054119c70c0360b11454d12c58c3ff","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.1.tgz","fileCount":479,"integrity":"sha512-8hoMMvHWns8IqLjVtmCXnjumJpMMFo8HTMbmWekX+pMx63w5970p8lBkVGR6hcadGtacQyHg15N6Ui/9yZKSEw==","signatures":[{"sig":"MEUCIHUrrZZsmnaPc9wNgfyT5k1P7GmDsmp+ksxomacUpqPDAiEA66OcfAgL8ssl32ouAC+HSxvqq70mEjEviL7UEZHIB5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90827147},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"5835a9341d06d0463813ff02bee2f52449facc2f","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.1_1784200643879_0.42603328732567625","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"@xenon-device-management/xenon","version":"1.7.2","license":"ISC","_id":"@xenon-device-management/xenon@1.7.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"a8b6d2fe7746631358d80ca3c5ac11d5953b56e8","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.2.tgz","fileCount":481,"integrity":"sha512-c9dvbSAYscSfWgSr/tC9uQn3cyCUrkrhcBSWl/RLnAh7nmZ1uscBsolWgvBI62L3NgaqWtrt+dB5QPIgSPbA/w==","signatures":[{"sig":"MEUCIQCWkPCp8a/T/huvjdJVz27WUwTxBGTZT36E1UtPtlP+YwIgF7fZuuR/TAN+4iSKsQ8U657vg/uoVZiib1QHZncKIJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90837454},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8e6892cf9ffa260c280c5ed6648f352ee569bc8c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.2_1784253783681_0.041438190246133155","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"@xenon-device-management/xenon","version":"1.7.3","license":"ISC","_id":"@xenon-device-management/xenon@1.7.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"16bb4ec68dfa1412b8c1018ee3bc37a003847fca","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.3.tgz","fileCount":498,"integrity":"sha512-+Tb/rM+kf6mhmLT/ZUM6+wNO7QAspOiKcEgKoxCYNONDSEg2e41nNyL0RW31Efvtk1JA9763ksyVmX2uh1CfmA==","signatures":[{"sig":"MEYCIQDM0aetQ9mbcdXr0h2h+meoYTTOn3jGSkC8mkLGxchGWwIhAO06S8O1Nh+lLQfXInhIG2KN0fu0COq2gUWNGUpeJqjL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90995607},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1332cca1998975bd4b2243328a3229220154e7ca","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.3_1784275408863_0.6332858871622948","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"@xenon-device-management/xenon","version":"1.7.4","license":"ISC","_id":"@xenon-device-management/xenon@1.7.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"451c4423944109c2bcc9542a2e5c40f602ec7739","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.4.tgz","fileCount":503,"integrity":"sha512-jsM2xh1LH1wyIkEkGRm/r9r78Ft8KGIN21ZR3m2LAYYp2zPE4lfjMLJfX/ynd48OKyYL8OggZKtev69fFmCBNA==","signatures":[{"sig":"MEQCIHqcf0g1PccWzunjbTLCBNwriwkNFqMK6SRzBkdqajk+AiAuNWC/PtK3Eyv6ERTBqeKOOoWqTjlU/FAPMLTXofZ10Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91011927},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f95f6759f1a1ffc0453cd8298bf82ee282a5ddf4","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.4_1784282568158_0.19383211442763093","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"@xenon-device-management/xenon","version":"1.7.5","license":"ISC","_id":"@xenon-device-management/xenon@1.7.5","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"fc03fdf74ee9f5e25bddf22e9bd456bf7dff3567","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.5.tgz","fileCount":503,"integrity":"sha512-rZrzYTAfixjezICR6Cd2xRRLbaNn2iTkF3LIs9nXFnhntwysXL0ZrJSNany3vPa0iIlMSYeeVjQ2xvgudyHSSg==","signatures":[{"sig":"MEUCIQCPZ9Ge7AhgxUpm+DrgwFHj4BYi5+PkLKvptLzU3u3I9gIgC9zSrozSWFAIthPoMP13BVrKB9G3ND7fOIq58SNdnVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91021273},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"7bcad08cb76a8e6d82095755cf4d97735bcd7053","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.5_1784286019249_0.7992104916795435","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"@xenon-device-management/xenon","version":"1.7.6","license":"ISC","_id":"@xenon-device-management/xenon@1.7.6","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"462fda8f6eb5aca6bd20b57a80b27f02a0e7d757","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.6.tgz","fileCount":504,"integrity":"sha512-klPZHy51fbd6zArPfrVfUkN8NtD8IIEeYl5GgusNlyHzjiH9QK9RXs4b/EJz77qcXt1md0XeLsjB5mPeFvo0lg==","signatures":[{"sig":"MEYCIQDrDv45lUXMTX9yKzZtRePqdiiHmDYrRJiOo46olkfJjQIhANRgYF8FTL57GIBXRCWp7Yv3/Jdi5LTqclfLyZVSH2Mb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91026794},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f60738169c4d33c3316fb11a2758d88d4dd7079e","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.6_1784287421286_0.5163815961068896","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"@xenon-device-management/xenon","version":"1.7.7","license":"ISC","_id":"@xenon-device-management/xenon@1.7.7","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2a49f09493a50acb5abd293a758993b7b3345a22","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.7.tgz","fileCount":506,"integrity":"sha512-HDYLSkZ6tYVG3eJ1bBG+nS60bkI8h9dbH8bKOh67m/JMCfh3II+f1CV1EDmUDgv6Xt92ejGZqqO/ss/tbO80eQ==","signatures":[{"sig":"MEYCIQCyxUHT1VdYEZqPwkArBmJhP9uekm3W0CUtW65ir7x/CQIhALS/g56uPY3+U6Kg8jsD5/UiOACgsmvggE8noP/6paQr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91031273},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8dfb8d163a2d159d9ef8bb604885387605cdb27c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.7_1784289303778_0.8953484375595246","host":"s3://npm-registry-packages-npm-production"}},"1.7.8":{"name":"@xenon-device-management/xenon","version":"1.7.8","license":"ISC","_id":"@xenon-device-management/xenon@1.7.8","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"76c495021a05e51eff5ebf12405c9dac93c3cb47","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.8.tgz","fileCount":506,"integrity":"sha512-8sUT6ETD6aI0dvV8V/0KTBGkj5WJADM0bCtePStipkCAzzB2+MsS4Aq6LA6tt7iHCWYJ8gxnE1kckji/lL6CAA==","signatures":[{"sig":"MEUCIQCV9W3vi2xeL37pLMw1YHByKhnKyMHQYT5tr7aB9yS1JQIgTy7Co9UcXUC9NfW65xj6skpratZRrJ4jTkG9o98BFmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91031357},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"794a886717c7b1f4fd9faf81357f0a1167b1426a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.8_1784293123910_0.4132948907292553","host":"s3://npm-registry-packages-npm-production"}},"1.7.9":{"name":"@xenon-device-management/xenon","version":"1.7.9","license":"ISC","_id":"@xenon-device-management/xenon@1.7.9","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"139f973f30819b6a883332d0caa096e27370b020","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.9.tgz","fileCount":506,"integrity":"sha512-2fN0EAGYrhn2j0dp6zII548++JCC3qc+RlbrWdOt9lcczFMfUBSIOgvm5qCmQ33sopbIbL61d14OAzfgHwvPYA==","signatures":[{"sig":"MEYCIQCgtlXPlUXphu0S/ExMWEU0+iRZ4zqT/0YpsVXbJlMMMwIhAOegAZLWzeHFs5efsWdff0ejiB8zdKCPgLy1d0zL8O0U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91031706},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"24b8641ffbfca2de0727d8c8b8aa302ac8e3b261","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.9_1784295739827_0.8122950237088702","host":"s3://npm-registry-packages-npm-production"}},"1.7.10":{"name":"@xenon-device-management/xenon","version":"1.7.10","license":"ISC","_id":"@xenon-device-management/xenon@1.7.10","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"1e7536c184d236b338819d725cb9206aa19bde65","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.7.10.tgz","fileCount":512,"integrity":"sha512-PLtlSZv6BNOGs8Mqbc+yMHpEpQRO+Xo9k/AWppkadbYOQ8kn+Nmm0O6kAi8cGZ8sqzdv3SAQwTyRblmeBfNUyg==","signatures":[{"sig":"MEYCIQCp0nLGTVqD4GuGRl0LFdnUoe3yBNuPc1MJ7R5WA9Bn8wIhANzFHF8ip+iEmbCkj7JIo9gnT94lRijt7wVWcZ6+84R6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91032507},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"593637d47552fcea4be7121945c405451e24b35c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.7.10_1784298738620_0.4244482734550441","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@xenon-device-management/xenon","version":"1.8.0","license":"ISC","_id":"@xenon-device-management/xenon@1.8.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"728aa8a6ee2e37c65eaaa48262843fc5d73a57c0","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.8.0.tgz","fileCount":525,"integrity":"sha512-gLpWiXVh0lqJdv0RqcFgH3TxO7ANa2rRN5JhYlr/jJtdP8PU/F413+N/BrUnIg5yetz7mklTz3H9W1QyPpkjuQ==","signatures":[{"sig":"MEYCIQC1Iu1vQwnQIr46ZRqeM9zR0pRw/4m2p6MCI5t01qH4hQIhAKMwA5B5+fmSXY+aAU2WRJvMqUfBMiVAOMcTDD9vAPCq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91135283},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"3ddf872de2ba170e7622796f124e1f74b723dbb6","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.8.0_1784514327569_0.11906104631562853","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@xenon-device-management/xenon","version":"1.8.1","license":"ISC","_id":"@xenon-device-management/xenon@1.8.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c1675cb40cfc2f046b90b4bddae89c62148039ee","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.8.1.tgz","fileCount":526,"integrity":"sha512-ZRxrCIek9MwSEO2+hIzMGmHaWhRHWMtdwikLqV1dIP6VwRvNmBjQA5k+fPfkR78wHSaUg2x2zbH+j8w7KGs3QQ==","signatures":[{"sig":"MEYCIQDZIJbqyp70l+11COc9Vulr2vo/N4aVj9HZgSickeRj4gIhAJr3fggQIF4rv/xnngUFdy44SBrsSL55BUFYeCU1ijEW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91140883},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ec828e6d1c1aef7eca14dfb13ad7e1cbd680c08d","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.8.1_1784690803300_0.9340230442760833","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"@xenon-device-management/xenon","version":"1.8.2","license":"ISC","_id":"@xenon-device-management/xenon@1.8.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4dff0e1212ef8af74dfa70c77e52d02e3dfbcfa2","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.8.2.tgz","fileCount":527,"integrity":"sha512-9Nvc/sD7xdtPBqZSd8q83VvfpX2kg5dXxgDhzSwhNqOhJZiNyJoKoZpPhjXQR4CKuS3Fdb0vsh5NzRfZO7WaUQ==","signatures":[{"sig":"MEQCIB0xlLvEd6FvOfzzFJNmDdrEHEnxVR0fVhAbi64k0w5WAiAoPvk/VaMuH6rpA18GeuplccqaewAROBMFUcs4DWmy0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91148588},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"85b711c097f69522af64270770e07bb46d6c427c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.8.2_1784780872820_0.4782532032792759","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"@xenon-device-management/xenon","version":"1.8.3","license":"ISC","_id":"@xenon-device-management/xenon@1.8.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"3efdec25d472086bdccf94753f0c1b9a930f8121","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.8.3.tgz","fileCount":528,"integrity":"sha512-RCdBrCG8CnHLfM1fvfTZkFU+FdAmphawgJDkf/kjmMErquimitrvMUFxkhi6llLu0ljyDijMH9O02dU0xVd9NA==","signatures":[{"sig":"MEQCIHzRcJA77kMgNwSdpZa2EbkIRNe24CP8o4klnrxQ7gy9AiBp2EQR401YncGDyOa7Q/dvtl59SiFNiaId5WxRPlGVrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91151480},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c2ed220cb2763c925096849590455f6ca28a1f6e","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.8.3_1784783746673_0.11975892528925325","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"@xenon-device-management/xenon","version":"1.8.4","license":"ISC","_id":"@xenon-device-management/xenon@1.8.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"bba6936e9ae032d3105eb62adc17387c3f2d43be","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.8.4.tgz","fileCount":529,"integrity":"sha512-4f3se0loz2NcsNDgmtL8aI0Yiw0TwMDw/CIMSK0AVmDwAT7jMbgafnyc0oFLqyxoUQSlInPvLjuYEn24ctXk/g==","signatures":[{"sig":"MEUCIA5gBkoId4xBq3X3oeECMHmR3gTR8zrQ+5DRo6y6DnRfAiEA2w8FlFr07O/GOTEkY+RC2XYFliXxLLuf7Ft76QPU1nM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91158732},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"36f9774f6818dc956db76a7fae6b40f14dfcfee3","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.8.4_1784785766496_0.6388675642148003","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@xenon-device-management/xenon","version":"1.9.1","license":"ISC","_id":"@xenon-device-management/xenon@1.9.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"dc8cfc979f9890d38c09484a79b565f10d0f2d25","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.9.1.tgz","fileCount":539,"integrity":"sha512-NTe9A5fuKkq83v2i3JR7+bGrn1+fP81BoJLTxFvoytrxxaJnZF/wwCZYiScBUliQm+ZddQDYaYe/r4YSk0BPjQ==","signatures":[{"sig":"MEUCIQDvFYDYMUvj8rcrNBVjs03VZagpNLiNyzrIMvNQbU5y/AIgUUKEVAsXyvASyaC9kzIEYsb7Nukrwt0tKTEVea14rIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91205009},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f9c16889f54d86937c01ec6692c1cb323b753d04","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.9.1_1784796178055_0.4537353767146872","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@xenon-device-management/xenon","version":"1.9.0","license":"ISC","_id":"@xenon-device-management/xenon@1.9.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"085557c54ce4a855c1f7ad7a8bc45b6b3cfa0c44","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.9.0.tgz","fileCount":539,"integrity":"sha512-Qbj1oWxxBn5P6LZqk48wFJ4g/BSfjkeXrgGfEyDC0QAiDG/BjFAlW0sKgS1HtPNyiLfnhap23PfwLM6d1U0rQQ==","signatures":[{"sig":"MEUCIFJqkc1DyFXa8PxwdJESe5ia7n5YkKl7pseLOQWJ3ZuRAiEAmWlFUIzDf1/o1x8Bij5Jb1A0pc7ksnw2zEG8AcohzsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91205009},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"68b64bc40a62c7cb72cb305c8b773a5da6d445da","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.9.0_1784796478170_0.8724621732275841","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@xenon-device-management/xenon","version":"1.9.2","license":"ISC","_id":"@xenon-device-management/xenon@1.9.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"8bad7a61ac7e6c542c975f28d7288d37f0daad8f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.9.2.tgz","fileCount":539,"integrity":"sha512-6ohwCGVJIIq/sVYj9EuMXtwu9MTnGj6b8APcVuRtCq1spXgyTCTHws8+ff0uYb6c2iDqf+bOSFJu4rIq+OrwnA==","signatures":[{"sig":"MEUCIBkdjvTbri0NpL0zFM4SZriRtNIA4cUpSmx5AQglnGcTAiEAqyaiUvs0Egtn86/yGQRXhdq2w1Aj0STSSAXbCY6aXj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91205009},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"163ab144ed28eae24f39b2ed89dbeae4192119aa","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.9.2_1784797689391_0.2299279027179295","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@xenon-device-management/xenon","version":"1.10.0","license":"ISC","_id":"@xenon-device-management/xenon@1.10.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"19f1bc85823d4d59d5353b0852c5dbf8244e2348","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.0.tgz","fileCount":546,"integrity":"sha512-pjSvVMOuAiHv1cw4u9aC+oAj4dnzTWfPC5p1tOEKtS0IfUzpT4+keMUH1e538nIYlmw9SYThLJ+h6EqYLyH46Q==","signatures":[{"sig":"MEUCIQCWt/rHjV+cKqsnzrHoZZS+TcoRxFxKAI5rrmU+qJf4CgIgCckeqevfnIJAY+sS+ohzWLBUFUScA7d5v4fashobZUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91325210},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"5401bf6321e34fe2bebde8ad0d87f7f4c3cf370f","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.0_1784812654565_0.086527186648242","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@xenon-device-management/xenon","version":"1.10.1","license":"ISC","_id":"@xenon-device-management/xenon@1.10.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"5ad5a5bb9f14063b4019ba414b74fde1eebbcea1","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.1.tgz","fileCount":546,"integrity":"sha512-eC6yTAClyQPyx+csdu3TyNkRNM44E6tLaSu7WJ4jrBNTiYKU1plv0/g/Asv7Aj2m91i53T8RhgDW8kSAWfxRIg==","signatures":[{"sig":"MEUCIDFRu//238BDUK1Xc23hWOz6BIDPSs6mh6Tqmtv2EQTCAiEAxEOb/acnb2o6hfUq5rGUAMjCD0+rm52FyXnSv/6t8QA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91312845},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"def9c8094d454e5cfd52d8f4ca5dcb09d5becd96","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.1_1784818055758_0.7824961066666736","host":"s3://npm-registry-packages-npm-production"}},"1.10.2":{"name":"@xenon-device-management/xenon","version":"1.10.2","license":"ISC","_id":"@xenon-device-management/xenon@1.10.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"948ffd976a71753f249cbb13deac3141f3818272","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.2.tgz","fileCount":546,"integrity":"sha512-cYfftfYhN/Wdk82UPPIfqpEjD58z8ZNbBH4P+6ePkIapmVExE2kefoV8Go35bS2So9m29i1QUaeHkT+0SPQb1g==","signatures":[{"sig":"MEQCIDLsLPRdaKPT+I7+rbAL8501xBPpZwkDwCFhtGAapI82AiAOW19jYHyXmZg29a0R8owdUe4SES4x6v+hxfkQ+wJwFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91315340},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"0ba2870d0e76aa8cbbaf02c1b1670cab97e6133d","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.2_1784825658961_0.23275511748510036","host":"s3://npm-registry-packages-npm-production"}},"1.10.3":{"name":"@xenon-device-management/xenon","version":"1.10.3","license":"ISC","_id":"@xenon-device-management/xenon@1.10.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"cb4adf98cea3d999db9f7e76cbd32a90759f88be","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.3.tgz","fileCount":549,"integrity":"sha512-7WYOyp2Rlj0kV1xwCbSaQOiq4G091gd1tnrxPqlhaPu06o8vZS+U8UJYAEeSi+XmOUGY8cLxeEbPwSoMhrVdmg==","signatures":[{"sig":"MEYCIQDiMER50HelKUMiAyM0sRd6CrGFUWlk5rayT1MD9mmecAIhAOVfAMVstB4TU78P/ImKG36WQuB6rcyeNe4ths6Zzmdw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91329530},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f619af0331421974f3f03e6ab2bc5b18e9138705","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.3_1785858417116_0.24228617789324924","host":"s3://npm-registry-packages-npm-production"}},"1.10.4":{"name":"@xenon-device-management/xenon","version":"1.10.4","license":"ISC","_id":"@xenon-device-management/xenon@1.10.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4c582a59cf9365b7c08b77039363a8fe6f73c50f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.4.tgz","fileCount":549,"integrity":"sha512-oOYbugQJEtTPD0o8MS0HoqkGKd5f4buHKqDCn8RtPyxH+1TcI1woxAK4oY+XLD5YShqEm8WN+zU2bjVU7n0PxQ==","signatures":[{"sig":"MEYCIQCfxsEr6NAI4cEk5ZI5O6kLb/qZF/bLdxkFvmJJrwfPrwIhAJMX/2RI03mxXbKrsSTvNC+7d9GCYUjhWGI+6gI316sr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91332016},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"cca4abc1304e40dd4d43a359661ca955cde21a5c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.4_1785864944495_0.3243019784620358","host":"s3://npm-registry-packages-npm-production"}},"1.10.5":{"name":"@xenon-device-management/xenon","version":"1.10.5","license":"ISC","_id":"@xenon-device-management/xenon@1.10.5","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"3d66210965138027ded7b4b6d07ca83517d57b6d","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.10.5.tgz","fileCount":551,"integrity":"sha512-m7p6hckjoMRllGhPDRfkZc4P6dQyJqeAWuTdv5rbfocd+F9/jLLx/mbkymVABaYLoW3KTcHXj3BFTGrxVUTIBg==","signatures":[{"sig":"MEUCIGazyn5wCX7ioxT8FrNMwbURCQbNF5flgGOh0lGtJvKgAiEA8a/Q8K8odJF7/vUv4xO9V5ouqfxYasr1lIFauJq8jXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91352070},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8816e0f155458da3c60bf2953e7533e84c0eb203","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"npx prisma generate","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.10.5_1785900279156_0.3978810120051839","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@xenon-device-management/xenon","version":"1.11.0","license":"ISC","_id":"@xenon-device-management/xenon@1.11.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2efdf722daf01309e631b0cc7f72236404450d06","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.11.0.tgz","fileCount":566,"integrity":"sha512-Jfgv2R4o2yoRyks4mi4vcN1UUaDaRyARqSrduddkL6AOFvPhLcYqe18OwVIzG5jEQXVhEaFholN4r4nfs3eG/w==","signatures":[{"sig":"MEQCIESwGnzUUuhs4txcDPLZOopy8UHxHYibbjM9uth6wqjqAiAqXhu8TSD7z/3ln/ukHxe/a0qwf4lcnQdEGmEAY/YHLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91448709},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"800d5692ae2899ce57704d6adf22d0af6d5cfda6","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.11.0_1786100462668_0.6253777688821771","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"@xenon-device-management/xenon","version":"1.11.1","license":"ISC","_id":"@xenon-device-management/xenon@1.11.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2cfbbfe0093b1cded1063416536c64c10d94faf6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.11.1.tgz","fileCount":569,"integrity":"sha512-+RMYvxLlW9M+Domogdl0CVoMusKWLhYQ7bcTwEs+KsdW2mSjzxX1bUUshc2GDmb+m8+u4qh5ZtuYMcg+h3P+7A==","signatures":[{"sig":"MEUCIQCiu0O0B43NXMda7x6SqBoMsNR6PSAsKmJwpjv9JpOQ1QIgJlsrFZGktubzHy1KIdVecGIG8JTPpB4xVIUo0xz+OnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91462752},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1fa9f8474abd3f721713519378388031c4a1c097","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.11.1_1786102346379_0.3012083262619807","host":"s3://npm-registry-packages-npm-production"}},"1.11.2":{"name":"@xenon-device-management/xenon","version":"1.11.2","license":"ISC","_id":"@xenon-device-management/xenon@1.11.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d73ddb72efc21fd8ae0d99fea91c8e552e753b96","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.11.2.tgz","fileCount":574,"integrity":"sha512-aLx6izCs04P27yQyn1E+fPuHcNMVAirUl7beR0RDpu8PfldivNYRvS/Uoc+kEmFCYbBw6G/+1lrOZBxV0sNzFA==","signatures":[{"sig":"MEQCIACgxRnsGNUGzfDJub9TaTybytNv/iaDhHY/svWFl2gkAiAI3L14cwD5LY5Vhgzdm/pigs2o48M8nBXwlHwnJSLsZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91516193},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"88fe74381a7086a14a6738fa94d20d4963e7bcd0","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.11.2_1786111271605_0.5534208591212748","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@xenon-device-management/xenon","version":"1.12.0","license":"ISC","_id":"@xenon-device-management/xenon@1.12.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"1d4f863967e74263d340539ca9c6ff0c2d1a46e0","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.12.0.tgz","fileCount":576,"integrity":"sha512-cClHamg9IxZdO8idqeFb5bixuD53lV1VprIyszOuONo4L7pwhJzB1SLAxvR2VyFh9DsXYXpr/KOK0vIPMVeczg==","signatures":[{"sig":"MEUCIQDAbk5TP20KhKEKeI4bJdBLxxnqXP4+2/TjKx8JnLg3JQIgUMEYfCN1IvmO1aE8K6lJFKG3SlVfy5xANkIwgsz04GI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91536026},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ffca4fdc6ad497a2c465e417642748d41f424311","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.12.0_1786117714337_0.7058097628859599","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"@xenon-device-management/xenon","version":"1.12.1","license":"ISC","_id":"@xenon-device-management/xenon@1.12.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b8dd21b4efa86e17dd8bc588389f76efbc4e66ae","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.12.1.tgz","fileCount":577,"integrity":"sha512-+qQYm1tyVbxdK66ExxfpgsxnVI/RfxYvt/YaCg9LcLOpwkaZjnzwDYKtnCmmF5kj9VAn09xZoZojdzBlZ4aFlw==","signatures":[{"sig":"MEUCIDcvlDAKfxCUB6B+XzKqEqTEhuvmiu+acA7lOgFBI8obAiEA/nTx1anSPP0Rf3OHbDCvG/Ujle6nyDoDhHHOPzdgjdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91539096},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"347383bbb2023c5fcb640bcf59af305cbd7f1cf9","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.12.1_1786157589200_0.31767821451676714","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@xenon-device-management/xenon","version":"1.13.0","license":"ISC","_id":"@xenon-device-management/xenon@1.13.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"19d4b17032dc1b1f4dd3861a6325466cc4b18a4a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.13.0.tgz","fileCount":588,"integrity":"sha512-y/ZjcbdEgkTvyau4bOA7VxqrWYc57xi2rqBds4xF8LPnWfB5Enl+4j8LFhHCeP1LmdQbOZw+SMHdPrPQGbUP0g==","signatures":[{"sig":"MEUCIHGodGxQsGF/KrIE/83KcSD6LuzU8PXFJvfSXcgyKcWMAiEAyHC9gUxtJf9vfHfaSnUzf8vlOu/gJyJYO/2vbinaOHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91623573},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"2525a616cd504f4bc4cd9106cb6d6f21310ae1be","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.13.0_1786245670061_0.7050971463362736","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@xenon-device-management/xenon","version":"1.13.1","license":"ISC","_id":"@xenon-device-management/xenon@1.13.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"7dd80a70d1eb814d9109974aedc838bbb89b68e2","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.13.1.tgz","fileCount":592,"integrity":"sha512-jxlT8HYSAB3MiuRGfWsIDxueSevbsarb1GPHAK3///cStLd0a1iSBkW6mdDvMibM1vDOYQVUNuONLq9JyUGW+w==","signatures":[{"sig":"MEQCIF6CJ7ELP/SAcd+ye1+Y8f0RIXYOa1k595RmvBDH57JGAiAW9EPei6+IZLiUrFQuMd6bebEemPl1XWQEiJDkYnxu9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91642943},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"2389fd74925f70bb1ed84986d5a0a73858989bb4","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.13.1_1786251078737_0.361129951176695","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@xenon-device-management/xenon","version":"1.14.0","license":"ISC","_id":"@xenon-device-management/xenon@1.14.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"28b4a156174b4987ec1ae047e83ac035d0fad60a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.14.0.tgz","fileCount":605,"integrity":"sha512-t0nWgw/ARqLxiMcJV7MgdaFnukBYDPjs8N7QoNVtLPovZj+xZJuKKXqiCFhQ+/3FG2kg7kT9V1cNXU1ddfAhNQ==","signatures":[{"sig":"MEQCIBGCkkqNZsciWLH26yW0+TxfTXtjiV+piAsgw3PGUvM/AiAZqf/6pKrh4EnJesQf1KQtGaVJfLyI9w+XN5cZx4G36w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91854514},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"eaa02943144160169b754e6a9263115b119dc2df","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.14.0_1786371574557_0.1253203155903453","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@xenon-device-management/xenon","version":"1.15.0","license":"ISC","_id":"@xenon-device-management/xenon@1.15.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b5fe22d4104b04807ee793766c21aff15de89cc9","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.15.0.tgz","fileCount":605,"integrity":"sha512-Y57aGVUxt97Pgy5W7MBhrYMWBLkAStt0K0rEO5CPDN8TsqB87LpD9Mm0WDcp2S9dT0ZAKgc8Log9Tz7kA6FtGg==","signatures":[{"sig":"MEUCIQDEq8nr5bLkzomsS4cX4clGBXnjSh82gD+M4fLoI2aSQwIgE/NXR91lbZDR1JGHvK0g5Z/jbvX+LvLWluIctT2Xzwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91858393},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"3d75be9f2578d4cac6005244708a9dfd44801b0c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.15.0_1786379966090_0.34355859896674623","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@xenon-device-management/xenon","version":"1.16.0","license":"ISC","_id":"@xenon-device-management/xenon@1.16.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d48655b781f6ba4510973059101f0cc6969358aa","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.16.0.tgz","fileCount":608,"integrity":"sha512-3ghpuqJhB4h3t5AYVw5N+v1VobACg10XeF9tqBdbRH1+WHc6P4JrkcvZpIHrJV9LmpY0Dz7OOtmbfCLN/izJQA==","signatures":[{"sig":"MEUCIHYGkm/qMpxpuF+hlEgCATq5Vtz8v4mMsRp5/km2zp2QAiEAnW501jU2dp3N6pCOGJcB+LiOQrSNblHN6xiNwiLZIoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91910409},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f1a9427b1fdeeb3ff7d777f770fa11f52863e807","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.16.0_1786383434063_0.7569968599255519","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@xenon-device-management/xenon","version":"1.16.1","license":"ISC","_id":"@xenon-device-management/xenon@1.16.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b218120e70aa2cc8f5727e5da1653d9d51d4b979","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.16.1.tgz","fileCount":608,"integrity":"sha512-+m1Oj40Rqwpgt6iyQek/+3B5kOiTZPPxWjNQQT3D76am+aw0f6YrSHgVBEZRKEqY7hPZc8jFl1n0CsuX3e7NhA==","signatures":[{"sig":"MEQCIGDKJN6RWD6/qh6GUT8GZ7DVDcjSqUMyri9QzfS57aaxAiBoB5colilX5PnEFU1VbmpoCe2yEAf55shz1xopXnEXGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91912444},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"1c1a3740f2bed13bf4cf2d9b6b287e567a1fe6b9","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.16.1_1786385038927_0.3624783224979684","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@xenon-device-management/xenon","version":"1.17.0","license":"ISC","_id":"@xenon-device-management/xenon@1.17.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4230daf84b0de3e45d630000c0b1f6a027bd29a9","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.0.tgz","fileCount":611,"integrity":"sha512-aCNuQDSU/xiEu/JbGZIXDg1kH/WtiSkRIB8P3NB67995yloS6lM7XhZMhResSVXr/iwBxSI/uZ7SNjGXOkG5eg==","signatures":[{"sig":"MEYCIQCxruVEimevFto3j82MtWP72J/WLTevG9vAofZdb1tKFwIhAMSzY4578cKxafKV7dhF5fi43EIfpg9MrRIXjNxzrzKf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91929801},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"49729be88c851e720889423e85c784ec44b32756","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.0_1786388836615_0.9629062376938016","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@xenon-device-management/xenon","version":"1.17.1","license":"ISC","_id":"@xenon-device-management/xenon@1.17.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"52bab7352f1d0ecdc4bab65c924ddece3f2d44fc","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.1.tgz","fileCount":612,"integrity":"sha512-3OL51kygnNv20BAM/C2BBa5eZz2EAXDIMhK+CS0XkluHh8RiuomKX3zkU/aAOArAov+3h5PrSLxqWThBoiiasQ==","signatures":[{"sig":"MEQCIEF99lqaG7I9laBenagg7hTXBE/uRVgy+WJblS31MWGXAiAuPWGqkvpZ8x+W1iiM1teIWXzu21ECOxnDVXYmEkTCWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91945417},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b9165c623aed264f0eab9c22ff079d37247b99f3","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.1_1786391211973_0.2652775798901059","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"@xenon-device-management/xenon","version":"1.17.2","license":"ISC","_id":"@xenon-device-management/xenon@1.17.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"8662a939dc28ea28805b6477faccd2d6f7c744da","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.2.tgz","fileCount":613,"integrity":"sha512-+0X+x5Ax50rnoNwBJsqBsRNmwA5kcLFPJmMLXrJNa2X/EaGOGmkbI7xkOugKqPv4KQHXCAOZ4rRE6+Y2T5z0Aw==","signatures":[{"sig":"MEUCIC8/Ao5nMJwaxzn5U2CaVjDB1KDx7JCryIbvzy8ExpmyAiEAyjALOtKkigqpMPMxI1309x9YG/UEViMHnGbIQ8lb110=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91953242},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ca79f14cdc75776fcd720e97d6e88bfd3d6522f8","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.2_1786417105251_0.9778301758926013","host":"s3://npm-registry-packages-npm-production"}},"1.17.3":{"name":"@xenon-device-management/xenon","version":"1.17.3","license":"ISC","_id":"@xenon-device-management/xenon@1.17.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"937f6719c4c44b377046454194bc170ee0cf83c8","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.3.tgz","fileCount":613,"integrity":"sha512-pA2DqTvNtrb+jdZMGRgZDEf53WynPL3Rp1DfcUJfZ++3ckoj135qAYVpHoLvCuVUHf0BD35mnd5V0W7JcIN7uw==","signatures":[{"sig":"MEYCIQDTx8N7Fmdjde/8kFTY42HphQUzKDz8OYoqYpTn27RaWwIhAIZSIMy0u3BCSNpbBQPZCCEHFUCdfqRecBxC3uoyR/b2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91956445},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"33da80b884c311b7152b7aed06d46877a4e1d90c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.3_1786419855792_0.6156837396457626","host":"s3://npm-registry-packages-npm-production"}},"1.17.4":{"name":"@xenon-device-management/xenon","version":"1.17.4","license":"ISC","_id":"@xenon-device-management/xenon@1.17.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"714d8532ab98eb9879a48467ac159297176474b5","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.4.tgz","fileCount":613,"integrity":"sha512-pxkzcRjTc7lJHKfCpICKw5WHD2juL+EB+c0gOZ1IzWUdeXB/aaFSjD9QVsY0RqvNPb7Rj9l3TL1IcmFcJqDwGA==","signatures":[{"sig":"MEYCIQCpmDT7PVIvLkv2UHYE8FLLmCNCFdGNm5EvSPTNfS0WjAIhAK0dcSAYnl3CaDFOsg5/rhan2UuKZ7UWk6pPiZFlPi0s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91952574},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"5b22927d5b24c85a817960e967c3570fd66d60dd","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.4_1786548156143_0.8931378048504117","host":"s3://npm-registry-packages-npm-production"}},"1.17.5":{"name":"@xenon-device-management/xenon","version":"1.17.5","license":"ISC","_id":"@xenon-device-management/xenon@1.17.5","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"e8f056d794193132f008d4029a47b0f550ee137e","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.17.5.tgz","fileCount":613,"integrity":"sha512-DBUv2So+zpFswRMORL1ohRDZKkTDkMLm0oWm9UxgSlCmVpkMOnwtRnQKYCADr4wXmcKh0N7l2m5pL1Dph51LcA==","signatures":[{"sig":"MEUCIQCKjLQxNzwo33kU3erazi2NwKAsa4DG1SkP71G5Zm1xPQIgWwUcq2BR6Jk2E4xOpXkVJnddKTLN0YQK69+DpZHaPik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91958397},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"6288cc3f6ecb11d2ea79bb9c9088b86fb8f2d552","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.17.5_1786549614022_0.36223315500261966","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@xenon-device-management/xenon","version":"1.18.0","license":"ISC","_id":"@xenon-device-management/xenon@1.18.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"cfee1c1b78be7a77795471150ef6a4c7430ad9ac","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.18.0.tgz","fileCount":613,"integrity":"sha512-iRrXgHnV3FRugDJ1xLQyUVeSBXurPs5fyONdNryOEZz4X1YytfQ12JHQL0r8OSSoeVxDxsvkfrlK0BXFHLNKfw==","signatures":[{"sig":"MEYCIQC1In1PDnLmT4So8X5squd6fLMIIsFTuut4d6wEay+foQIhAPIYwg4ChHAhtEhRTQzWBnr66LYqwxDMu6utuw2BhTK4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91964686},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"e602f39c04e8f2bff7a867a554f6eb6a05a16372","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.18.0_1786554309302_0.11942783123716394","host":"s3://npm-registry-packages-npm-production"}},"1.18.1":{"name":"@xenon-device-management/xenon","version":"1.18.1","license":"ISC","_id":"@xenon-device-management/xenon@1.18.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4a8a1a540e351ddba30e774b8f9796eb027289b2","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.18.1.tgz","fileCount":615,"integrity":"sha512-qRu5rK49zhn4OPXKBPF+qSOMvZF+Wr6FxHiTvMDoFqv9+PtQJhwjGll7qxU+zAx0/ixJeIzTNIN2va7z5Z2A/Q==","signatures":[{"sig":"MEQCIF2tcL66K6e33vAJCkHCPDG9oMxnioc2Gny7mXeQBTeiAiA9dn9Aas2s0kjNoQzhbS9lj8Xd//7TYq8AKFzYqLvqnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91975248},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c5780aac02f1a5efae1782e30d620cac867d4cc7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.18.1_1786555707295_0.6956397977949018","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@xenon-device-management/xenon","version":"1.19.0","license":"ISC","_id":"@xenon-device-management/xenon@1.19.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"afb256216afa35c7f5fe2c1f0dac8863f738457b","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.19.0.tgz","fileCount":619,"integrity":"sha512-78NF1zm6ZTCKZjPoNvLjP7ikIQkT2TeoCwdgJQMcfVQjWb+6gh/eZPslrf7gl6Ivg0XWJJEZbMLW5I7X76vWiw==","signatures":[{"sig":"MEUCIQC0oJ4IWOKi/6tz8Eq6guUwfvikzK5Ub0AVmuoWQbUuuAIgGv6XoX+ef1CnwhThdFPeF2vhhdIxF6TWnl4jtTg3GWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92001514},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"305d006413afb1e40723719bbfd509ac71301750","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.19.0_1786588902553_0.05488802616179944","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@xenon-device-management/xenon","version":"1.20.0","license":"ISC","_id":"@xenon-device-management/xenon@1.20.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"e051e956212aaba0df01a23a8a1ed564acd7fc62","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.0.tgz","fileCount":620,"integrity":"sha512-VDDAoxnY0QptTubTjibx3qrT1mWx+iKAN4vx5LerzKjttkj+tsGL1fkmdFSjvEw2GpgGreVgooj45smmMhqvaA==","signatures":[{"sig":"MEYCIQD7Cz3zJSYso6YWHrpxNn4v2vnL8cAaa3ZmYPmMKrOhwAIhAIga6Qh6tcyq9zvseAw/JbuUM6VDksNunfv75kW5KGVG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92023852},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"4230396b5d540ee7507e2d08fd1a99cf0f99b7e7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.0_1786593474976_0.2603561157165015","host":"s3://npm-registry-packages-npm-production"}},"1.20.1":{"name":"@xenon-device-management/xenon","version":"1.20.1","license":"ISC","_id":"@xenon-device-management/xenon@1.20.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4f1c1eed0d88dd5de0ec35c8f121f5b66ad46c4b","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.1.tgz","fileCount":620,"integrity":"sha512-z9+L+w1i7nDNgkILxZ7bq5jwyt3SfItpa5e1+NyAwk0zD61CsKt2gVNGoLGMEtX0Z/+fxe/ugGSDQB/iDEk9xQ==","signatures":[{"sig":"MEUCIQC4544NH/1lnSB9EKeUR2nu1dqOIceaaNr6zAAKYCTLdQIgdmoJ/KG6+6HCZmisdjltDoAGcoSoJQV0hHlzouYBv5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92023855},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"17ae0fb4be0a701490adb62ea10b3a35fe2dc537","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.1_1786606044626_0.0028312472660951826","host":"s3://npm-registry-packages-npm-production"}},"1.20.2":{"name":"@xenon-device-management/xenon","version":"1.20.2","license":"ISC","_id":"@xenon-device-management/xenon@1.20.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"9b4966e4177e7605f96c0383821c1bfb8bbb5eac","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.2.tgz","fileCount":620,"integrity":"sha512-e+QqQ53N2cya9nGeVyQ7LC155Y+sqJJlZAte2qT5c6YZVSfPELaJD3HFheVoZdtEbyiD0rtb1CUAcLakq73opA==","signatures":[{"sig":"MEUCIQCMhkspksDMfXLLH7U7lFCssGyylsTf6ZFMyrjWgdBqDgIgYuWKxfbz1kmRBC8Xir09VXa6T67kA2gBHuB5c1KooJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92023849},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"334bc9b06357d4dc3cc0973149e9a7d169c81291","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.2_1786615722999_0.9109942688044721","host":"s3://npm-registry-packages-npm-production"}},"1.20.3":{"name":"@xenon-device-management/xenon","version":"1.20.3","license":"ISC","_id":"@xenon-device-management/xenon@1.20.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"ae6b52d030f1b03b58be7606072a5c67e532efd1","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.3.tgz","fileCount":621,"integrity":"sha512-dn4/E5KgN3A0lQ/LQj7PqIzD2mHJZKPpVkwOCtDUWbxxqZW1919MJDHlCIXECZWgbeJyYWrJG9WBNAOXp5o5Nw==","signatures":[{"sig":"MEQCIHUkwyAYsRabADfRCNczNwgLYyHMu8wLknUzg94xzqFBAiAtjLt8I8y6dceU+sJTkmQcghaAaiTSZiZ2vwZ0iVzBRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92030686},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"54dc7aec43a403f7fdc70dbbef9ea74fec8616a7","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.3_1786617184047_0.17552287287860557","host":"s3://npm-registry-packages-npm-production"}},"1.20.4":{"name":"@xenon-device-management/xenon","version":"1.20.4","license":"ISC","_id":"@xenon-device-management/xenon@1.20.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2c146d50c39ce9e326c16ff7a80c52b7fbf855ef","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.4.tgz","fileCount":621,"integrity":"sha512-nFNioMua+ZV7edh4Q7iS4ft4y+EDStxO1MBEttAsmG8TztsULQMqbp3WK3rviRP9VbFoaDjyxjrwuBQ9mid4IA==","signatures":[{"sig":"MEYCIQD+d93G8Ub9nG9VDgRvnzuUBMuQhnHuK2FIfDB92Y5VyQIhAPcALyUuFSTPTHkszfOe9lpgidNelUCZ8/RY4E4mcLw+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92031369},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8c13ef71fc8882f12e4cbedfa5f743fb90a5df2b","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.4_1786621160264_0.4941344003014554","host":"s3://npm-registry-packages-npm-production"}},"1.20.5":{"name":"@xenon-device-management/xenon","version":"1.20.5","license":"ISC","_id":"@xenon-device-management/xenon@1.20.5","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"23bc9514fc031538b2a03ec3cb50e92633177934","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.5.tgz","fileCount":621,"integrity":"sha512-4zG97XLooBRDgimyo5YIJLeg6PnPDRMUN3m9GNl5AdZdzoB+mony+7zRyu2Gx+AtlsYCObogrFuE3IHx1O4MFw==","signatures":[{"sig":"MEUCIHWCwFBB3re1gZh15wjvQrcBuH8eXB6YfI9O+fmg+g2BAiEAhxbkipFFy/A+KZMm4n/9e2LkV5tcw53zilixEgpNJ1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92031434},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"f5dfd056bbae0dcbefd673875a1a511b738c0501","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.5_1786623017841_0.9054639641763664","host":"s3://npm-registry-packages-npm-production"}},"1.20.6":{"name":"@xenon-device-management/xenon","version":"1.20.6","license":"ISC","_id":"@xenon-device-management/xenon@1.20.6","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4bc0db6b5b5f79316d38b0aa4a937b2e032e6502","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.20.6.tgz","fileCount":624,"integrity":"sha512-kJqPIdenrDm+LLgSxk0VA4gjt1eQ1xGeowVLmNuwGR8w48DSgPPvFskwaBXZNwQdroSHJ2xxBrSMOWwEozjArA==","signatures":[{"sig":"MEUCIAD3jF3KgPN6Fr6yVCiyKtIDj9fQxgOzeREvtKd2WRieAiEA5/9YsK/pL1RFOK8lWBL44AeXocRhzJyQ5GXGCm1fUBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGNxWuraBnufOVJL9QPaJnugrOGlo9gzBAUUaltugoIYAiBqO7TNlF9AWU0km4SSeTHTS6THhSYySuXE4JaCA8ZURQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92060483},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"7fabe92d6e1c9f6d4e36750a1e6f299a88ed086c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.20.6_1790181807745_0.36832543437772025","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@xenon-device-management/xenon","version":"1.21.0","license":"ISC","_id":"@xenon-device-management/xenon@1.21.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d011ecbfa00b51057dfae1a0ae3efbc12d0b62ec","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.0.tgz","fileCount":710,"integrity":"sha512-5iOfZdS66tx7FsC+ntrDK/aN66sGgyiCnWyQDOkFUZHI2fxhA0ICXPDn+WY1H1g/ht/wO/LbrGNfwF+7WEANFQ==","signatures":[{"sig":"MEUCIF34A7tz4OYPY4wEDSunOeNdLtIlQ0NtpHKexzFnsIN1AiEAr/n/K04USfNvhbA3FgK8yfgJSL/Os47qcuJpWuzq4Kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDN3TPW4vZjiDXFZ2eEvL9N7V26XARbToYb9IE9ylL4jgIgEABl0Z7A+SYT8bhatroKVGp5R+Gc+nGjSWt4ZfE/IVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93306905},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"0c4121c147a43e94fe3e0df93a193291599d8adb","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.0_1790225632927_0.0476402802195981","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"@xenon-device-management/xenon","version":"1.21.1","license":"ISC","_id":"@xenon-device-management/xenon@1.21.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"dd707573bb194ac3f685b299f956eedac1ee3e40","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.1.tgz","fileCount":710,"integrity":"sha512-ukOLFXk4Yj2WJBpyEh/Tyzawpat9sR275bR1Bsm+Lby1ISqa69R4NPorbrLBbpj7g+qq3ZPtHiLCWmhs53Srag==","signatures":[{"sig":"MEUCICtYG4BIaHr4vCP3OrMaZsk6IVG4K1mDDryMiSQa9XOAAiEA39789He9vyZdceFz95cbWgn3C9VChbp7m/gFGMFPtMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID7A6aYjJrJ9Q3qbPQPbYgkB6cQkR+2hOEiGPgtm8JM6AiEA6rB/+f4Eavy5diJYwlV3oKFWj5rtVRl6Xi+ItwZNY/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93308117},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ec48f9fe9903d5da4633cf5316894a9ca5f5082a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.1_1790262719571_0.7238668968184416","host":"s3://npm-registry-packages-npm-production"}},"1.21.2":{"name":"@xenon-device-management/xenon","version":"1.21.2","license":"ISC","_id":"@xenon-device-management/xenon@1.21.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"3ce2955ca40b413f62bd4c3348ff31c3b74555d6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.2.tgz","fileCount":710,"integrity":"sha512-v8KhT1/1hfqaZKAOJqDu282y6hl8E/ZNMVsEnGT1CYRqA4Ns4Wv1ru2+GjSqOTYvXOJl8C60bkDGzwUc2Fj9Fg==","signatures":[{"sig":"MEUCICxqlBK/ZopklIZn1UcEN/7ml/tmNZbWvseEX/+fwF3mAiEAz5tjD/J34sEnC39ImuDTED1J/w7l2smxW0eT33z6/7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD7VKvjREANNyYtDESfGW89p38hlhMGECSiMX+vQJeXigIhAKAtQ5CzCtX1QwDGvAqQAWvz6HG0DKhClg6B0uQuuhy6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93308123},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"df5748c98ec70f8c8f58d1453c5b07c658d1c70f","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.2_1790268469255_0.48447891685976185","host":"s3://npm-registry-packages-npm-production"}},"1.21.3":{"name":"@xenon-device-management/xenon","version":"1.21.3","license":"ISC","_id":"@xenon-device-management/xenon@1.21.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"849d4dd25216a004b6ab752e12ceb17163dafae5","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.3.tgz","fileCount":711,"integrity":"sha512-mNPW9VQnsz16R1vS39U144DW6a+kFW+sRIjGFH4JYv1WoAP8Y94kGPU1dqGMB599D3EcSqHPPGp/tsrecqvWeg==","signatures":[{"sig":"MEUCIAgtDioW8Zep1U5FqHTk1VyG5lDEffL9Pv9NAmeeRlWcAiEA+jShiTN2XANPO3oqPFZabCfEUozImRrQx+B78IAXlZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDzjcDeN0covC/n15wqHTP4zu9Fkw6ohOaF34IzBsmovAIhAM9Y7CwxjwFKc043EI9o9AMrQPE4u6UTFtkXGXm9u3hT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93314161},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"35c039957b49e99c374414a9bd2386747e403fbf","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.3_1790301630878_0.357559464697766","host":"s3://npm-registry-packages-npm-production"}},"1.21.4":{"name":"@xenon-device-management/xenon","version":"1.21.4","license":"ISC","_id":"@xenon-device-management/xenon@1.21.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4be97acecdc512976a88a9453642f5eeb990b543","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.4.tgz","fileCount":711,"integrity":"sha512-yLdZ6N3G9UU4v/XJ39XOI5Qwa1Y82h3n1jUVPIYo4e6dW9w+UWd888jn0gM8nUDijXkyYFnsJdx7Q19i0lP+/g==","signatures":[{"sig":"MEYCIQC4lVqs96gk85PQ79F0hIETrI0FgCKZNcpkbE0xSaYPDgIhAIjmdHAaorF95gVgtJGiLNuWocniSQ3ohMzMTR0VaUSV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDkPzrSFjxz0n6OtB25DA8Y/glmHE/trrt16WhRMSN03gIhAKLgX7ltxInXpWi3c5DrnilG86IoR9MtFEQcK/vCSh/s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93315282},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"700b3a6b5e1475e497c8f419104bf73bd0d7c04d","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.4_1790308384817_0.8254437485751924","host":"s3://npm-registry-packages-npm-production"}},"1.21.5":{"name":"@xenon-device-management/xenon","version":"1.21.5","license":"ISC","_id":"@xenon-device-management/xenon@1.21.5","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d616cc9887ee5e152f3e724dc6986157adcc616c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.5.tgz","fileCount":711,"integrity":"sha512-+bESJU9hjfPr5vzhqmu1CsLYfmUMXk80ElOe13SY52hYzbhdTSWwMZjYcJKBcXPFDcYE7vyEH88vchRE4IDn/A==","signatures":[{"sig":"MEYCIQCHmpOgJMMsnUaZJpTswy5D6Ue7fsSxL00acjAGZ7YWPQIhAJbu9sAyt9BRnmM7juVX2x7VQJKawyJukRSmsqiN3GDh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAJgzpVWSKmm5OmyG6B/ZFMQf0r/KFHHyGXw9PzzJxfBAiAYJk+0+/3vXfcQK0so5BQ9iXece5ckiNfcjC3fKBeU4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93316450},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"9fdf4c7fa4a51bfce0f1c09fc94b1e30a6445901","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.5_1790312143928_0.6398406968042936","host":"s3://npm-registry-packages-npm-production"}},"1.21.6":{"name":"@xenon-device-management/xenon","version":"1.21.6","license":"ISC","_id":"@xenon-device-management/xenon@1.21.6","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"6003f8a313134235a7ac15e90263d3a2789580ac","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.6.tgz","fileCount":711,"integrity":"sha512-L/1fiGTj95Wg7MIPnBlhON8tIOCGW7GfKXRMCkLvE+wqsV1mXrOhBR8BTmSk0M3D/RNtJah+RBzNT+mcAlCnmw==","signatures":[{"sig":"MEQCIHTQ5QKNgC83ERKU+g2xR6tKEvIgLewhYMkiEXHMUvTUAiAFPdJrGdvO2gXP02lhpRgr89Vg0jTkTlxPvtiPK2Fq/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDKSREaqXVtqyNnoIie/KLqkP4qLa8dtfP1ndDdWQW5MAiBXTd5ByTGWgK6ON2wVcKsFRAGfEuey+NEaW8H4sF+xLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93316545},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"33d615618c4bf659e2c4b1a87ca327386e90741f","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.6_1790313766115_0.3605540339254685","host":"s3://npm-registry-packages-npm-production"}},"1.21.7":{"name":"@xenon-device-management/xenon","version":"1.21.7","license":"ISC","_id":"@xenon-device-management/xenon@1.21.7","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"03077356a2b4a26e897b28d46a9da35dc4a97353","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.21.7.tgz","fileCount":712,"integrity":"sha512-DW5AiZhJP7dzSd9eF+zzW8TnkN63RbIiF8NCCUhcDPQhxc4jcwd8K2daTLiTx9I78nnvVUooGYmSvw85bZaxGQ==","signatures":[{"sig":"MEQCIDjW5uSLSTkIMaFv4DLL8ee4KRl4rb76MahsbxeuO1lzAiBNO0RH7JTzrD0jfUt+86DoSfWh+BHAE1YRLgD2ZpcUfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBZCzjYgz+Dynekt5dskzfmE+LpInBgOAyx0qCXetAFbAiEA0X35o8e73kfcRq7QHrbGvSePGgkB6t/s+owZBH1QmAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93317394},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"92e6b56419d747b8bbceabbf7d6148d42684bde0","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.21.7_1790336179059_0.3573828530184373","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@xenon-device-management/xenon","version":"1.22.0","license":"ISC","_id":"@xenon-device-management/xenon@1.22.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"a004e0fc312b1500a4c81181a25595c39b5d0954","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.22.0.tgz","fileCount":721,"integrity":"sha512-r9JDOKkFr8xNMM8t5sLu39jzn5OQBJ5/t56a4fDwfpbVKS3Ivcihw2GVidIwE2+Afx/KwrG/4H+VO4grutuGlA==","signatures":[{"sig":"MEQCICi5mslrH6k2uJTTt2wYSJIKCAfDQCyPBeBAN0AmB1ntAiBVFiGB2q8PIGspcxEL48JvohU9FdpG3T4xVvphLzpEnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4n9uiZHxeahpEFP4pIVCSNJo5ZHOf5OgD+VqD4/4uCwIhAL7jGrMXO66DxcjswuPFCwmA+5tCEPE0n9myncMJWf7q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93432484},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"57f3bf1853fed3f4ee2080e8a4c4dd51f68278af","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.22.0_1790392826391_0.13282994801368186","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@xenon-device-management/xenon","version":"1.22.1","license":"ISC","_id":"@xenon-device-management/xenon@1.22.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"0d37daf70cb9f9e2c60d25d243810ebbae78d41f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.22.1.tgz","fileCount":724,"integrity":"sha512-bQzg1yGQgtl8grDNffKy0ArUFYPlhGy4W7roi3x7jnsib9L7xwuZ/ajqfHZ/BVIufgIG0zcYFFmMDrUAJx6/tQ==","signatures":[{"sig":"MEQCIHr//3U+2gp0LgOesFCQoh14KqMRZMmhy4VnD6Kjsq0rAiBX/hXJ7PFtC5hw1YtXZ63i23b3LGkQ/2BflIbrqfl6kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCSzog74LVOBBounsmyJuyRWXXjtZWdoWXG/AAuISa86gIgE/jTIJdqudCzXMwL5ETWXwqoLC3Md7g4fQwkSua21yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93482979},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"0c4de2207d7dabb51c4750df74f455e4d086c18c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.22.1_1790398767177_0.6288862864582159","host":"s3://npm-registry-packages-npm-production"}},"1.22.2":{"name":"@xenon-device-management/xenon","version":"1.22.2","license":"ISC","_id":"@xenon-device-management/xenon@1.22.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c3d21cc6a840e35cb909ae18308ee1f61c604fae","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.22.2.tgz","fileCount":726,"integrity":"sha512-U0/EXPNyowwBUv8sTHOiFsjiEG7PEDQKemkMcE9xcnnoATu1L23Z7BXq5Bgf8DroJVkxgWFyobTUAXCyjkTfBg==","signatures":[{"sig":"MEUCIAsAhS7tMruA/zmDPyIGdXReOEcRNe4/6I6vXFHCyOwbAiEA46UCzMnHv11unRhLuG6GRAZY1VKADRuiObp0FIedmuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFopm6b7ItcwiT0YwB6WLLrnLnWJGfcwIRmarvmCV/xRAiEArbKxp/3i3yaiCBVyoQzy8vAhsug1rm4cpQUUUQwKlpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93490843},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"078a523b802cdbdf67d377f6b776d11cff751004","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.22.2_1790403257382_0.014308030549293527","host":"s3://npm-registry-packages-npm-production"}},"1.22.3":{"name":"@xenon-device-management/xenon","version":"1.22.3","license":"ISC","_id":"@xenon-device-management/xenon@1.22.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4becc0908ab472a6fb19313caf9b08dbe6f709ff","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.22.3.tgz","fileCount":728,"integrity":"sha512-LCIdxfjpNaIUIPE1Ugkr5aRW/3uV6ScYDpMjyfKFUDDSBjDwpCpRhgjleDF0mCRnpgCkhwtSpSHAIQYrrXNCgw==","signatures":[{"sig":"MEYCIQCQKYK0tjnv/69uoRtcy+RBGHhEB1PFV0VhbuLMp3lyxgIhAJ/e5GEIs2xT8+uwJ516fomE4zRfXXBPoTNfuRU/tuEe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCW/2fy1PS9HptEmV85mec5zyE4+R69r8/60i7knfZeBQIhAKXayRqnaXOcYOvYS3lsGK3FUnVqXX8ytgBQNmomV+NH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93491703},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"13771481d8cb7d42565824087a460822c4a9f58b","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.22.3_1790406486573_0.11370273703377043","host":"s3://npm-registry-packages-npm-production"}},"1.22.4":{"name":"@xenon-device-management/xenon","version":"1.22.4","license":"ISC","_id":"@xenon-device-management/xenon@1.22.4","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"068f27c051e758a2c4a80ac3c4e371db5d9134fc","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.22.4.tgz","fileCount":728,"integrity":"sha512-ZGPrTDuA3LfsUEUq1q9V/Q0Lk4hM6ypayaiHVcCK7Tgf0H6U2xn1nxlipM0aNAgE+RpRlH6yyZHgJjIN4cAxtQ==","signatures":[{"sig":"MEUCIGuKaQWucEpZLq5dYJds2aMf9U+7n6xPqTOhaaSrqhsDAiEA0QOLwR/Ps45LjIjSiBUt8Rj6G8/Ho1nSdSfsLuxASkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICFxnxHKdnBXRSKbjugORC0pNGfYniaWScdfjGxhG5/VAiEA1HyKIMnvf1dUL7B9PDavfwKPS9G4w7CwQbWZbhnKvr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93492582},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b9ee99729b5ea32af1c5e049403facb583a785c4","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.22.4_1790411805715_0.512356655550096","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@xenon-device-management/xenon","version":"1.23.0","license":"ISC","_id":"@xenon-device-management/xenon@1.23.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"2384418cd4f6f277e1a429d8d7b1d75a41450135","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.23.0.tgz","fileCount":737,"integrity":"sha512-bzqXd6jLP1F78j+cNv/0JjAQ0tE8czm5JJ6K7oQClz/nvau3kBB/E07kg6tG0NkDEWdCN2cMutABHuL1xxvrEw==","signatures":[{"sig":"MEYCIQCsKoksJ02vDT1l1tzTKRY9hsHtG5bYMV0dyusJPx1YnAIhAL6Lztd4MoB7aG/esjVeFMS4CGt1s5dtGJjVDuPb9Ded","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDJxYnrqVP2SRXQwnLt/Tkar2PRxAkVFLS6QfPJt3TY6AiEAtIRO/4pFMA0bG6iNkIiRdekthO9+1TC0W+G3mahXOMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93515037},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"c574c12a2d2647db2d73126c2e93d2eaf7128cf2","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.23.0_1790415874862_0.30115857744042196","host":"s3://npm-registry-packages-npm-production"}},"1.23.1":{"name":"@xenon-device-management/xenon","version":"1.23.1","license":"ISC","_id":"@xenon-device-management/xenon@1.23.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"58422ce3ca09ffdb72e9e835ddeb219c86fbcf80","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.23.1.tgz","fileCount":738,"integrity":"sha512-WUXfi0q4xerC/tPrB6oZx4ao3+I2KAYbMDjPonVOFnhllmxGnHJEIsse+rX4t8IdSRaEByOC4q3EcxBSsxRHUA==","signatures":[{"sig":"MEQCIGgMlcenSplMLbTkUx5QbeuI0Y2m7AFzxjZAsUogRoyWAiALAoyEo7/K+a8QO5kWKpYA/C6R70tDCSmOWSkwF+CCYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGFVU4pwKZA77fEsO7Vvsqz6nqMgntV0XzpU3PhZrH8QAiA7lkQds80sv4geqBuYtLQgaIpYWW7VTQbUdfHaq3xagQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93516814},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"927e28418e9c5768c4645cb958245c818a999d24","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.23.1_1790417361353_0.07084260443991486","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@xenon-device-management/xenon","version":"1.24.0","license":"ISC","_id":"@xenon-device-management/xenon@1.24.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"6b4b4b70dbc682fb58befb859c8406b6597f8aec","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.24.0.tgz","fileCount":738,"integrity":"sha512-FuNi8X9wCye4WftpF7DoEmu1k0BFcVVUgV1keTXo1Ps1DmUMHS5Qm1wrJ7sLjfq6RlLnBsfHyaIgTr6lfwRz7g==","signatures":[{"sig":"MEQCIAo0JxxbFmdFxWhhViY1sdzsFPvO66fMDn7Q0Mfd75iIAiAhwNB5Iaxn7Jo67iZ+I01YsA3d1ocFbyd/BbmnDZVDEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCYa6PrI8Gt4vKKpdk7L9FV54Q+IS4NWQrmVskDVbbMfAIgZvpgM/n2Eqc6lsFxzxZiLxlVglE1eB6SBOsq5TdUzAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93516937},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"40e74021a83b8d923d10a93bab2377a89b2912d6","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.24.0_1790419362817_0.25489284837805504","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"@xenon-device-management/xenon","version":"1.25.0","license":"ISC","_id":"@xenon-device-management/xenon@1.25.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"01e7ba5661882554409230bdc60da25d5f886757","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.25.0.tgz","fileCount":739,"integrity":"sha512-LisF7BGHdko3RcPvFi0ACENOLRCHO84jpJqrdgXGMLgCfYVunTdvFg69xvOPdrPNyBIpxt9f3fqllHUQUcQP/Q==","signatures":[{"sig":"MEYCIQCyxAogcHL9qsmFYdU7IISf6Rt8+Vm+nXuqoux3kS17SQIhAKf++Ra0e7TRM6hzl6dfEkpE19mjtKmbaAD1sYtSf5kX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCL/ZacfSOcRX/y3ibMNEDfZJYUA1HgVg/2Ucn7oybHtgIhAPzqBbNvBIQ3LL2cT4CeRVj1a7fCavlrynRwvpnYwh/z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93529898},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"eaee3ca84c782cd7869bfd928e995e4d30e0d31a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.25.0_1790428382516_0.7898168762256248","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"@xenon-device-management/xenon","version":"1.26.0","license":"ISC","_id":"@xenon-device-management/xenon@1.26.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"f71ac14799171e004ed28d0708f73c3888e9c712","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.26.0.tgz","fileCount":739,"integrity":"sha512-6/bRs6B0oIVanXvbSgCSqcvWSyS6zIHIG0ldiiWAf2lPDAzYuiwr8eoQ4Pp7Hxsd3Rze6jMyUNUg2ob52SSWtA==","signatures":[{"sig":"MEUCIGBg1+/kj33IkVD/GEoCU2QRUFdiYN8WEmyfnlS7EdlPAiEAi/B2OSfDHj0sLzB3DQzwGLZ2eal2sPGhxd3QDS3Fibo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCHTjhmyMHz2QkKyoRTQnAU+fFCAq990TCjfFJ6p4nvwwIgNRVvnR7voXCT5+klPkrM1Al2MmbtvlKQzZLXTEL2spg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93537120},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ced3d8eaaf644f503a264ebec8f400927eab9c84","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.26.0_1790431840688_0.029885549136631884","host":"s3://npm-registry-packages-npm-production"}},"1.26.1":{"name":"@xenon-device-management/xenon","version":"1.26.1","license":"ISC","_id":"@xenon-device-management/xenon@1.26.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"e01a240a7cf51c4378b727cbca20cfe215cda03f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.26.1.tgz","fileCount":739,"integrity":"sha512-a7s7qLrx6wBGD7zkNkRxVakOY3pOrUOV7cv4BdsB8dlX5ipNkUNZ3mCVkxUiRtjfUQKaa+rOEU9pq6ytGEFpFQ==","signatures":[{"sig":"MEUCIQCX/Bzg5O1viBZllHjwrE9nxL2XsG6SptMgithzXjsrTwIgfGcaQxoere+Aag9345O1Nuvt6o3j2sMegZqSTNIx3NQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGMmL9tdzkp4HnQUrQ6yzXwFnnRM37kUwt6YeWuEoQDbAiBpADJA5rUoDfAugqAxe142Wq0C6ty7bUrsJDdLWKu0lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93537118},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"98a8779f6b3ed0cd4aa4539c8047dd313b513484","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.26.1_1790432862620_0.6781013252930426","host":"s3://npm-registry-packages-npm-production"}},"1.26.2":{"name":"@xenon-device-management/xenon","version":"1.26.2","license":"ISC","_id":"@xenon-device-management/xenon@1.26.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b5b0c6867c89736bc149bf66c358a55e6b198885","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.26.2.tgz","fileCount":739,"integrity":"sha512-Z7BM8KLY7pVvvjgwX78V28rt9OK/tEFayYF4wcCtjKIEnJrjsT/mxCMM7VI9Zy8gYV2efD1xxojpyxpr21+ZBA==","signatures":[{"sig":"MEQCIB5VPeC5kykMfDkANOXoqRmsN8slFJ5KtQJpAqaOuueUAiAh+2UUoOPBZ6smX+gd7QoxqT/nB86UL/HgZqB4UM8y8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQQcOZTupSposObND+sGsyKSf5m/p+2v2nxcwDgC82FgIgIIOgEc+xJAR94DTS1OteQNdkIPOIeR2mDIdOstfmkGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93539713},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"de2b3662936f917b49d4ec891e6b0c6a9ff8f45b","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.26.2_1790434215661_0.32796768064019366","host":"s3://npm-registry-packages-npm-production"}},"1.27.0":{"name":"@xenon-device-management/xenon","version":"1.27.0","license":"ISC","_id":"@xenon-device-management/xenon@1.27.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"340b7527361ee1eba093dc8bf07fb6aa41fe9a5c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.27.0.tgz","fileCount":743,"integrity":"sha512-f/NZcpNXqxRJx9Vv3hxFjBGUlTjP5IOHSQxrBDcPULHQl761QtN3M5tTR6pTRyejisN6VAdxu3jEcQYXQsqRXg==","signatures":[{"sig":"MEUCIQCM3CSfZtap953RG+uB2X4ix4H//dn02F0DztpJ9uzDuAIged6ta7pA9lFq9ct5j0Z0Ya7/MQouWXq+U6jaGnNXe1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCTx03mWI3Z57a2hwU4UNlfHU7AAWrC1kkyZP21RwR/zgIhALdoKuyL+zmaQbCobyl+N02BSYuu5dLwajWGxikEKXM7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93555086},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b0ccfb2a4cba38de694f2a66f1ac00cc8984e478","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.27.0_1790439159076_0.7548906301973546","host":"s3://npm-registry-packages-npm-production"}},"1.28.0":{"name":"@xenon-device-management/xenon","version":"1.28.0","license":"ISC","_id":"@xenon-device-management/xenon@1.28.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"97c4f0ed21ec6f5554769d8ea08209888a6cdfa5","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.28.0.tgz","fileCount":746,"integrity":"sha512-PFytXXClOt9LX6diD2VT5eUDthwKG7zmKd+3I1D0zvXfcaD+rx2FtUBSgeHvZ0m2F+JxbpSubhO6/N6IHJsyBg==","signatures":[{"sig":"MEUCIQCjPfjytpeeTgvswqjz8y7IjxwXRvfIVj3jSuyfQePGfAIgDMTi2mRFMY27wXfOia/zJlWGFk8rC3cRbMPys9MsqUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQQ7gNDigZy8YekZ6uavqzYK9dZBYHXGwRF5hR79qEwgIhAI6WxcF6LmE7d4hQzafM3n6TLiJIh2pmvZMI7ZUyOWQP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93593286},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"57db8a8801d45eb382704c48a2df3be6d3930e0b","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.28.0_1790478622443_0.9252486616673017","host":"s3://npm-registry-packages-npm-production"}},"1.28.1":{"name":"@xenon-device-management/xenon","version":"1.28.1","license":"ISC","_id":"@xenon-device-management/xenon@1.28.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"98d896f702c657ed4a0698c0f3f19c3fed4d0042","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.28.1.tgz","fileCount":750,"integrity":"sha512-fLsTdK8/gIQOH4Nn6pXOzNb7sdvuMFAfEFR/7lHzmWJElKgDpKKM2NZYbYZmv77q6Piqk0GVyJDroZqmw0Zefg==","signatures":[{"sig":"MEMCHxNKdUJr+j2aU8vHKTzaywoi3wJAybnifn8SAupIZ04CICGh90SeOI6ha2FmxW41JEI4IzU2qA42Q14YSIoZBhgZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDBt7GaIFVPPIBvqiISZRa7RzVMty1zwimFf9+w2fTUKwIhANpAk4wMBkWCgqNtZQTOoxXeEWXJKvAEV97+QuHEWJlD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93623919},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8b7bb90a2f33c1eed1219e5c3a4a513eaaa196d8","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.28.1_1790486333344_0.7039943225981118","host":"s3://npm-registry-packages-npm-production"}},"1.29.0":{"name":"@xenon-device-management/xenon","version":"1.29.0","license":"ISC","_id":"@xenon-device-management/xenon@1.29.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"c0b7585ea90ad5c5bcc695fa9ce9311e8d89c7db","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.29.0.tgz","fileCount":799,"integrity":"sha512-pgWgLF6IEzRHvUo6sLxp6okVpMMONFiXMjl/95MFEMX2aMIhZLkMTOsfoMaU+pN8IFpgHVrG0+SfYtVxAVsV8g==","signatures":[{"sig":"MEYCIQDkDdiF4z0V6wxCQpksvfwT+lPWVfoOEWOhDlCp2spAKwIhAL5TiYCa5hLFqa/s4V8CVN2S+dKMLSFgIfHa39ohJH6f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCAETKIjbCQ71VwC5gp7yFcU+3SajWvdZP3naAvf85HtQIhAMATKGyw8fbiiZIcSwQm6lzIuZ0dcIQh72+rMp82K/LC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94150535},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"618b0eb9ed5f2f155b111ed39bf850a3fa0afc64","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.29.0_1790533434283_0.6136200530546305","host":"s3://npm-registry-packages-npm-production"}},"1.29.1":{"name":"@xenon-device-management/xenon","version":"1.29.1","license":"ISC","_id":"@xenon-device-management/xenon@1.29.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4cb338e0466ba3c16d5a329081ca52e8c24bcf8b","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-1.29.1.tgz","fileCount":804,"integrity":"sha512-l4fU3m0Co2WJWOoWX6gPnvAKO8DQ3L4O1YnVmV3Sn8GsDBkTjUfWB7FTV9TLoCDu8ldMsSWUcK8+YZBVIFIlZQ==","signatures":[{"sig":"MEQCIFvJxaLuijVVqe89oYYKXDEZ7z5smzayL5Bx4/PmnaIqAiB0JwG/Vz97ZqGgWamkY9I/7LnadDBsTxSCTXN3iagjJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHT1++EILa7kJj9cCzK4T5YZhlnRoV88L8NhNVGnL/crAiEA1pGdW2dF+hYQxcsvVKaPTizBBPkJegV2ttBzbqdfCA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94192644},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"e7ba1d09980a6e7402a64714aa5fa724eae4a469","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_1.29.1_1790564949331_0.45658419371179293","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@xenon-device-management/xenon","version":"2.0.0","license":"ISC","_id":"@xenon-device-management/xenon@2.0.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"0b958bc00a5e0ddc6c39284e51049366f66060a6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.0.0.tgz","fileCount":839,"integrity":"sha512-K5oQ29KVuuU914QQ3G+wLsxnEFpKU7jGoK37xlexK13k3XfKFRZlYYYnwsXAnMAB0Hn2SkRNcCjosNgAlzrOBw==","signatures":[{"sig":"MEUCIQC4y6DjajH+YjLrC7RsBdtVc/IGtQctb++csd9dmU9kHQIgS7dL9Oc2JbeBO5nQ0MJRoieICvrNDZH2XOAops7+ZJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/TYlI2fJ+CHmYo8GcimZ4bXSpOc/BE9nn8z6RA/Wr3AIgObUmckgmVoI5hVzlJur3Jb6/rZRoVVBs/cRPTNAqsSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94547347},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"39d89af08ce77cee9ef2ed9742d2b7bbdb94ad95","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","http-proxy-middleware":"^3.0.0-beta.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.0.0_1790618286235_0.6905371161192377","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@xenon-device-management/xenon","version":"2.1.0","license":"ISC","_id":"@xenon-device-management/xenon@2.1.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"24e92c85ddbaf8cb91207b053961acc057a06846","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.1.0.tgz","fileCount":908,"integrity":"sha512-IEx47BS04b+/XkbnJOBFIVBfiqENYQH4foJYfLb4sIVs5IUJ/0UDKiZQeRhcs6B6XM4p49WutONzMSXZeDrINQ==","signatures":[{"sig":"MEUCIQCkeuqB30nOrqE+kpGiGndmUFMZrpkuUm5YEGW51YtVFgIgA33taOvimOsaY1OSsXu5tQBnGcQjXkGEvtBuE9UWlug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDr20uPNAMNp/5im8fb7II4J4CvGGBLtVGkZ4KSZSHSyQIgYZbPUiw2b5kCnSY6FvNaZb94L9bOmPacvJMYdj65qjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95346969},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"ec42397908f2ebb22dea665b5954d14b17f0525c","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.1.0_1790780962872_0.26420051635845687","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@xenon-device-management/xenon","version":"2.2.0","license":"ISC","_id":"@xenon-device-management/xenon@2.2.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"d5bb48d51e57281e276e9fb4e843e98f0b108700","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.2.0.tgz","fileCount":916,"integrity":"sha512-BEOKxYOkms3iK+sG1XhKcOo/FBwHp950ciMxCESgDpulzQ35HeP9Wvd6XYq97Ovbj9Ncuo77UZjgq55XoUnZ/A==","signatures":[{"sig":"MEQCIBK9dEyvgR1WF9JWan4J8mZeNnIJk8CZhvIoz3N12GLsAiAgcTHbSbrNiTtei+R1OZXiERuPa0/Hza5PwpzHDRm5oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDAywTLPtxqkpWXJKUihs2xGgJsArT7xJOvOm/26zM5XwIgKToUag4BmLEbFdJdQedtsbtg0kVhlK+hhC7tNS+biL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95435314},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8f466717f8a9908af2fac97e50fc68afebf81a4a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.2.0_1790790180207_0.2337414068939485","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@xenon-device-management/xenon","version":"2.3.0","license":"ISC","_id":"@xenon-device-management/xenon@2.3.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"30841f8b6aef68fd5169c2a8f1bd1c7262df3043","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.3.0.tgz","fileCount":919,"integrity":"sha512-Fh7lGrV3cLkQivArMybpqlElad2KDAXWTRCDZkPjU+PuIIr19l19PKYRfmJZyc4UVjUOfmPYoxB02SARhosaUw==","signatures":[{"sig":"MEQCIDSaPiRkBLNDJHl6jwcBVI6FfuB/7G/wVhi5Reqf901oAiAnK44cwCOpbUb5R5OGupUexe82ZwGZSojB1IavslXkxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICfO2FBoHpyMtUB1PPqikTyNdpcLCcuiV40LzhRf8AY7AiEAhzBb61utEbvy5IL0L2N3XlZ6k4UwOnx2nJj6LxQ/f8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95483857},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"491070dfb9c3b99c0e74608564e84b1bb7cfa759","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.3.0_1790820749169_0.0015152282293366959","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@xenon-device-management/xenon","version":"2.4.0","license":"ISC","_id":"@xenon-device-management/xenon@2.4.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"74f21baf058511709f5979fbea1d653ad9ddc521","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.4.0.tgz","fileCount":921,"integrity":"sha512-rIZsXCihO3qZ61Ed+WdXy7RYDfPWzxVXE3A5oAD1c8hc2/dRWD0FhlwLML9Fit7zMXLU+BTZAovIAACs0zy4ng==","signatures":[{"sig":"MEUCIHYPYEOduvW4BbgETA2p1xh7bOZKdPwOyuVkqc87179PAiEAr6dnahbyQSErbnF+w5YW0B5RbWrR4QElcw0vNaL3qHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFH3pV0l8uAhSryr3qFWaroxS+UXds15/Edn1+CEQMxoAiEA+KnKV1pS0590Gcy8mbA7pkNzOPkNZuGV4KKk9m80JQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95513422},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"adfd7e401d457d6545cdfaf560ba5dbd6c8f33ff","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.4.0_1790822532578_0.24107327504390463","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@xenon-device-management/xenon","version":"2.5.0","license":"ISC","_id":"@xenon-device-management/xenon@2.5.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"b127207b47675dcdafdb1adc4d03767f8d6adec4","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.5.0.tgz","fileCount":924,"integrity":"sha512-WdoB3UIywGAL2Or69iya6Oep8gv6DvTtIxszaUzke2yG7H3autlOMm78pxhLrkPxCFrPgbQZcXnHKFXIsxX79Q==","signatures":[{"sig":"MEUCICrVnQzQH0NJNIkjs4AXjDn3vx4u6y1Dp5g0yWvW5SeyAiEA4oASsNbzA3H6+OKmqdsUuV8GHalxv2hwxUYsDBEBKiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC9Fhhd6+pLwiPLzYeXo1Zcrl7mJmdZd2zHN+/01p6WKAIgZx1z+xgGiySihwo8NZNPvcLJ1VbDBLL1t0wIUstqOK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95550653},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"2afcff59a9ec083eda505eb3cc2fa70ad03eb073","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.5.0_1790826040463_0.05472697741734445","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@xenon-device-management/xenon","version":"2.6.0","license":"ISC","_id":"@xenon-device-management/xenon@2.6.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"aac009d1fe01b7a3a2022e717da169c14ec56442","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.6.0.tgz","fileCount":924,"integrity":"sha512-+kNTOzo1CNWgiSAo6KIXfT0oKD/XrNTUfUSPcW//AYtBr4DtbivMq/6Ga7Kkf2gmHST7BbmdqOTXzM+gIK6PJg==","signatures":[{"sig":"MEYCIQCNJmEE464iwgW5ZWxxIyp4xvqpwzDVHbmpKtPbC7hpvQIhAKHqVK+YSGHlRl3u4bgikgn2OPCAKUQgw/NhO0Aa/eNJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGs0ERASNgq/FVwuMNJLXseMbNo0shwh3o6O8ycg3aegIgBE9oRg57b/B7mLcXb2BuaQEE6SFGk223bM/3L/Hjp0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95562237},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"709871ecb30508d3dd4e0e1943fd5671c2442342","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.6.0_1790861360861_0.20246264772816835","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@xenon-device-management/xenon","version":"2.6.1","license":"ISC","_id":"@xenon-device-management/xenon@2.6.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"4a58f5e9a102701074c693d1591e495fd6563f64","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.6.1.tgz","fileCount":924,"integrity":"sha512-6bq1A2QYDoc6lVSypE8vkdvCBPUfyZ9Ud4YRlMQORjf72wK/pR1jNSbuSnAa0czhJYIjxwYby8wRFrL2NWUGHQ==","signatures":[{"sig":"MEUCIEByJylT1Q4lUfLdwgjIAfhhfjpPejlYMyF2oq4Kji8TAiEA38lIhPvB5CmqgmbU1zLJCvAQlmkJwwpHd9l7rpNOPYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCiNhK3jAx/njbeI3ObKOBTywI55X20H9JuHhEb0OA9kAIhAMe/mQQ2gvqmBhj9yQzTozXvSeTsaa6W5DLIa1yTXlYA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95565776},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"4d19206da18acd2507c602db22a48b90e7fc9b50","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.6.1_1790863897138_0.7956138024496557","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"@xenon-device-management/xenon","version":"2.6.2","license":"ISC","_id":"@xenon-device-management/xenon@2.6.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"fe823d43a85728897d1158013886c08bbf94d41c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.6.2.tgz","fileCount":924,"integrity":"sha512-FPuF2VyNJMFXKMv8n8Plm+i6YNqOKYRElsW/sgeu/0fOM/XpNNaS4nBO8ZV3bZWnVuKJk/VNey/kx/GceqLjjA==","signatures":[{"sig":"MEUCIGkjKf3JyHTEt29TXU7n0t9Q97AL3LpAaLtbMG9ryWZxAiEAzlltDidEOkbwg9ZWFSF8Z6ZrWj3rZf5bBFXen/Pm2/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGrVDzRNjCFpsggh34hZRdxSOb993rEXUwSdxwF9zuOVAiEA41FYcx/fRrDji9BK5f4Y1zbd/X7mk8qw70DqPw8GgNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95566677},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"88b6edc353e41d9a08d303daf25b3d2b4c6644ad","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.8.2","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"20.20.2","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.6.2_1790865697758_0.35666399269895765","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@xenon-device-management/xenon","version":"2.7.0","license":"ISC","_id":"@xenon-device-management/xenon@2.7.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"1cd4c4a8a5f29aa983cb3b77cc87ecdac675944c","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.7.0.tgz","fileCount":924,"integrity":"sha512-ifURxYmadpnzOkp1Bc6EuUUdUBgkJWkZ6t2NTfgNwApe1yNntZ7TIPCzXh3okOAx6uHzL0eyd6c3wCpKiunBBg==","signatures":[{"sig":"MEUCIQDjwzHy0JZel+otmj59QyQyIIci6GLUG/cZYLzBrtsKKwIgHvfMiccQiJVS9blOM7ue75yI4idP5RbL1NYDuDCPRas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICsZ9IgZ06zC4daUdDW6npSSxJnOWYTqswjfsnQ7KGohAiBGDLeC4oxSBHBZzZhfO7ZmMsN9ielQLexySzAk3o06BQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95573775},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"3c78b0209beda5f0cf90061b9a45f6d6776a8336","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.7.0_1790867811416_0.03352551617460797","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@xenon-device-management/xenon","version":"2.8.0","license":"ISC","_id":"@xenon-device-management/xenon@2.8.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"91e3a1d2dca30824195f91f378f88474bbfee648","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.8.0.tgz","fileCount":928,"integrity":"sha512-d0CJouwsGfi+00qmMGOHukPPI3E0l5HmqD1o/vmiIQ7P6u0ecfuWE/lnx1tPbODU4Cv6fr1qrmKjGiOH4dp5qg==","signatures":[{"sig":"MEUCIF/qX2Qa3+9wXooSBBgJ9duyMox/NcDIfsBkvBdPtH3hAiEAykm1PDEGllLwUuuyf1hNVODUB+/d2wWsPDUNo31SUec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVjRz9SYQ8N4kwuROjdVURoq012P5nE9LJeITfKdIslwIhAMmAdzPJGlhi3CjnrFcdWS90L8EX6+l5a8OKOR0PRI15","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95629357},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"2fd00109a0923ee3e0534818793d59e3d248aefc","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.8.0_1790905158229_0.3943757676140267","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"@xenon-device-management/xenon","version":"2.8.1","license":"ISC","_id":"@xenon-device-management/xenon@2.8.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"9ad7907cb9d1134fb04ffb06367372eef47be2af","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.8.1.tgz","fileCount":928,"integrity":"sha512-8lZXtrtirBrV+CZ0YJPMs6k281lbFDBWgEwT3AF0oUVmqGmSnrFrIAtaPt6bHEedBcyKiqB/JAEF2SQQCyIztQ==","signatures":[{"sig":"MEYCIQDzw+bMbUNmVey6caFHXrmLH1A2U1DkEBYxyglVkX00ewIhANqq4LIIhHtu2mqUbZv6bw9OoMxBhTPuqEpwqZ1Fmopn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCuX0ltdwe2k7a2gsAdoyoOEYpMasvo8QU4lPGRv9KUJQIgUzq0sUQqpgtoCip/sbX5ChlGjUOkR6AJdHUz/jGroI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95629643},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"9d3dca0f0d3a806cde7524890759ab69b04c11f5","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.8.1_1790907479357_0.574054420540483","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"@xenon-device-management/xenon","version":"2.8.2","license":"ISC","_id":"@xenon-device-management/xenon@2.8.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"744102ada6158be56ce5e831ae4f4797dadc3596","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.8.2.tgz","fileCount":929,"integrity":"sha512-BU/ItKKStdfEIlW1lulv1cQuN4QEE5MuXkaNR75cmwz6aGR4O1gDvovLWMc8WMXfV5mmAX8PGL/lPO2epQpanw==","signatures":[{"sig":"MEYCIQDBVz/TemUp6qqq75jFjYSpXsrFOrh2y79aPz3HIUK3zQIhAIcTxxjLAldunWdC9REWvgGeaepw8UCjJK3h5VkkffPh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBViFdwF5C20q2ksnW03cjR47YLdCG9bAsYrlYg56wCnAiEAhX1g53LnstWt5qOAURTq2iD8UeQAC6FPzbj5eljUPqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95637001},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"8d5ed4786bd4246d89c317e45ae16b8e09c0aea5","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.8.2_1790908920588_0.08466442508317784","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"@xenon-device-management/xenon","version":"2.8.3","license":"ISC","_id":"@xenon-device-management/xenon@2.8.3","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"faea3f71934efface44d72af6b3b0fd724320323","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.8.3.tgz","fileCount":929,"integrity":"sha512-eb9mtl4lfGSK56GfPlkNqaIsvSsqkRt365d+Bw3i7aDeLPqqdxpZmVXwinE2b+YkeCayQUKVbaUb89oEA508Ww==","signatures":[{"sig":"MEQCIDfwK0wzd9N7E4DMbYPgzqyv6BujEMl7ejGChGiCtd8hAiBoN7dNBo6glkZiwAgh8s+/jI3kM20frmzLLHgHTHrdYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDgal9Jl9uNSi08k9SXSjo3ZklQkVfTJWTRXFUG6LvAgAiEA2mFZ8G2npa4E8IPcT9ZhNx1o4YprlnchMHYouGkNNm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95647984},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b2dcebddd3f4234d57c328e4258ae3f6f50be6f3","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.8.3_1790912973320_0.5027322066706286","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@xenon-device-management/xenon","version":"2.9.0","license":"ISC","_id":"@xenon-device-management/xenon@2.9.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"1999360400041915ea52af61834f72733fcb7fc6","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.9.0.tgz","fileCount":929,"integrity":"sha512-3QIYYgSlkBPiqGmxdB1Uvou3UA2BRQrZIW8KuaKpPyNs21skY/HGF9hW8NatDj8g/hvZ8/pJASRm8bSP6niO2A==","signatures":[{"sig":"MEUCIQD12Sp64CATNqDZtTe+fVotFWYZ3o3OeOaQJjX81bbsQwIgKGX0jRpsQwzGXYNMI+OfsrwnyHpm6kv8m+admEaOFjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2FKOd6NPP9tuvh8n10DNSlsOerFkhTFubemwuAOGjywIhANOUG7sJDdKPUu5j58bWoIZ7sb5TDrErOd4CfqPPNCER","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95658697},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"d94c869a4b15062b4bff0b35e33dded6d2910964","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.9.0_1790914775898_0.7547646689330689","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@xenon-device-management/xenon","version":"2.9.1","license":"ISC","_id":"@xenon-device-management/xenon@2.9.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"822927a070ac42b6d6c717441659f67163a8c74a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.9.1.tgz","fileCount":931,"integrity":"sha512-Uc7QX6Q5lRJSrK2tYyNQq18+/32ACq/mck2/1X+2aiECc0fx8vMDtdejUUY4/+8yMhxWvBBjzUyVyoGweRmVNA==","signatures":[{"sig":"MEQCIAIXPDZxiUZORi0jHQpboO/eHIZiar1N75B5FO4zo26bAiBlAg1PU5aUdLR/owmgofghTAY3eUwZ3Lzk/6X6FHarSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHNV1j4CNqx8zKIkIq4mTJULUqpoKx/O9nn4gcQDwOs1AiEAirFb7Vz2wOO1umSCXqfoF8qRgvYdzw+9G9rv+xHgUO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95668479},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"e8be0b620ddcec00fa50aa6a01a391296e4dc547","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.9.1_1790917789163_0.015041666013265953","host":"s3://npm-registry-packages-npm-production"}},"2.9.2":{"name":"@xenon-device-management/xenon","version":"2.9.2","license":"ISC","_id":"@xenon-device-management/xenon@2.9.2","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"31df6fac815ee10f65ab41418c42f7061b137f3f","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.9.2.tgz","fileCount":932,"integrity":"sha512-gVr65ztm0GwYKDyATmJfV5ur9I/8c8UMrG8Jjz48v43NpP0s3ThVgrBKZEosZ3K9brYQMPI7b0nQeTKqmSCPyQ==","signatures":[{"sig":"MEQCIAJXHijfjtQ/4FyOsOhE15jlrUrTt7lYb/6mi10HvpY6AiAkZ8vmerBTlPcvYWnwQ+jIR7jGjv95GjBZqbSaQGVWKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDP2bCcW+EtuT1wne/9OXvJC2nQbj4cLji/XbmJJhGeRgIhAPsvH4Ztek3oUz+jfoGD7X1LG4f23Ndj/mKDqfoW441/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95673138},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"28e635722120a8b7462249c3b4aa7cddc213e75a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.9.2_1790921225872_0.08437743124139585","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@xenon-device-management/xenon","version":"2.10.0","license":"ISC","_id":"@xenon-device-management/xenon@2.10.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"0e21684713f63ca23e6b009de69c66630e77b08a","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.10.0.tgz","fileCount":958,"integrity":"sha512-rpID0br+3b1XVnaB2vgefO75Nw57duVb1gX3GnrBAEKh8rKkxj5WOu35oBaUBCZX0JVXnsPQh7dSIepS5dJFeA==","signatures":[{"sig":"MEQCIEH07OBgoCAxqaUHHKZpWX1dzKSy6k4BKzsMO+4IQ9D/AiAVh82GjBASVQ8SRCqMIYqjC7En7bZQyPfvBGgRkqXIUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCejvpr56Bf4pPqxSXvTiX72puiBMW6jnMkU6tl2U/FXwIhAO6KoWDKCNKBDgnQfnfKF8YRwmx2tkJuVa8aMCo/h4Mh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95960992},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"373f66d2ce293b409c8245bbe9c08978a52891b4","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.10.0_1790942094989_0.3951319156081279","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"@xenon-device-management/xenon","version":"2.10.1","license":"ISC","_id":"@xenon-device-management/xenon@2.10.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"ad10655663a33dcbc80d9eac3acbb0970ed31806","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.10.1.tgz","fileCount":962,"integrity":"sha512-t56ti3hgstNPbGOpSt9mydH+xJOHjRdnrMBv+9NUf/4TZLKQs/Hj2XwniITeOyDiZuxKKmrkUzGgBYu+YUuBKA==","signatures":[{"sig":"MEUCIGwxcyHOi48+iK9W1ybK5plrCO/esDOhyLOO+RcaTAeyAiEAsW4UvPMP/Pxnn4yvxVX7dd5RzfITeaLNg6O+oXQIArM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEdcjAK1NMDzoTtNbq9+TjIc/yGHu4NkKDnDcSBI+tS8AiAmjRP4A3Z7W6FmJpbZfRE19pW+Vd7QqCNXFaFJIc1ogQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95984822},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"539cba37cca0bd872c37f76b9fc799d7f6c28cb4","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.10.1_1790946846713_0.9643524438075735","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@xenon-device-management/xenon","version":"2.11.0","license":"ISC","_id":"@xenon-device-management/xenon@2.11.0","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"427eb7a44bf057ee3e99fb3fbaff83e174cc8074","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.11.0.tgz","fileCount":972,"integrity":"sha512-fUF6toVTwrJvsSDOr/PTF622tCv556FDm8XK4Ki77sNfdxHEpSILW4raPyFX9aUt5lvnKWmbaRK5GrTLSDAX+Q==","signatures":[{"sig":"MEUCIQDSzvfMK7tPB43tfx1MkuaovtIcETwK0aty8S94fgGYgAIgIoMvbsWogVn4O+pXmbJZFiV7Zc4r9rA3QJi++ZtbExw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCFrxia4LQ3Qd00+TdIDuhxgcu7cWwY2hClxoUF5M4EUgIhAOZq9esr/yhvDjuXYkCrcrnnvAWS40rGdSon9OuZCQ8l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96058082},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"a36d5202f4704d4812d0d1ed266e6f47675495a1","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.11.0_1791007661957_0.15222628168967134","host":"s3://npm-registry-packages-npm-production"}},"2.11.1":{"name":"@xenon-device-management/xenon","version":"2.11.1","license":"ISC","_id":"@xenon-device-management/xenon@2.11.1","maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"homepage":"https://github.com/Rabindra184/xenon#readme","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"3f42b10583bab86ad9495aa56e537286902ea423","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.11.1.tgz","fileCount":972,"integrity":"sha512-K9eqMSJvz8PV8m0zgu69MLYPe8Qm2I5Yb49G8sKgyJvISeBgUbRylMBDVWLRK7pu1PF0FtKgJA0jvXTC19/8NA==","signatures":[{"sig":"MEYCIQCIOz2O/DtYHfBE1Hn2ldrVGOqcHYHGwV7a02bL4xjuhgIhAOoRa1Vhb4wKgdV+BgsuJZ1zKj65+TCgNOiwQAuGLeSG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC5kWkZiDi0rCMKEUNcalVMTSuxuipVNEtS3qH+oja8LgIhALmBbnV82SEdbLvbr6qUh8bP45EVLI1V8tJkBkgQRAkq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96065959},"main":"./lib/src/index.js","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"b78408b9142425590b913c61e4f99f65363d791a","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"_nodeVersion":"22.23.3","dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xenon_2.11.1_1791009908028_0.405677909294204","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"_id":"@xenon-device-management/xenon@2.12.0","bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"dist":{"shasum":"9fd0833ffba62ccede5c9f3650ec3c22b4483b8d","tarball":"https://registry.npmjs.org/@xenon-device-management/xenon/-/xenon-2.12.0.tgz","fileCount":975,"integrity":"sha512-H3euZcaN7cwZJB81tgcthWeL9UJMOHguOPjiTW2kXZU//vaQC57O/RjGseVpuByExE4cB82R4STBzzrl4ehrpg==","signatures":[{"sig":"MEUCIF7MpH7YbLBfKOBquq5pD7k6UqrVFWwvjHG50Y9DyF8rAiEA9fByRXv5FYFipDg7iwoD06v/GYOyWTGQuFDr+0iOor4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDH/wQaY3GiBJMjCthknKwd/KW99cwzporlCg7fTDciLAIhAOrzhPwDEtsHq5MLnQW/j9l7ogEkowDBnPG+jKLL0dbI"}],"unpackedSize":96151177},"main":"./lib/src/index.js","name":"@xenon-device-management/xenon","husky":{"hooks":{"pre-push":"npm run test","pre-commit":"lint-staged"}},"appium":{"schema":"schema.json","mainClass":"XenonPlugin","pluginName":"xenon"},"engines":{"npm":">=8","node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"exports":{".":"./lib/src/index.js","./schema.json":"./schema.json","./package.json":"./package.json"},"gitHead":"e3d438efb1320de2ff14680a01ec9b15e5721dba","license":"ISC","scripts":{"dev":"npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server","lint":"eslint . --ext .ts,.tsx --fix","test":"mocha","build":"node scripts/generate-prisma.js && tsc -b && npm run build:copy","format":"prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote","server":"export APPIUM_HOME=/tmp/xenon-home && npx appium server -ka 800 --use-plugins=xenon -pa /wd/hub --plugin-xenon-platform=both --plugin-xenon-enable-dashboard","prepare":"node scripts/generate-prisma.js","test:all":"NODE_ENV=test mocha --require test/setup/scratch-default-database.js \"test/unit/**/*.{spec,test}.{ts,js}\" --plugin-xenon-platform=both","test:e2e":"mocha \"test/e2e/plugin.spec.*\" --timeout 300000","test:ios":"mocha \"test/integration/ios/*.spec.ts\"","build:all":"npm run build:xenon && npm run build","build:copy":"rm -rf lib/public && mkdir -p lib/src && cp -R src/public lib/ && cp -R src/generated lib/src/ && cp schema.json lib/ && mkdir -p lib/src/device-managers/android/vendor && cp src/device-managers/android/vendor/*.jar lib/src/device-managers/android/vendor/ && mkdir -p lib/src/services/recording/vendor && cp src/services/recording/vendor/*.ttf src/services/recording/vendor/*.txt lib/src/services/recording/vendor/","db:migrate":"path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts","build:xenon":"sh scripts/build-xenon.sh","db:generate":"ts-node src/scripts/generate-database-migration.ts","postinstall":"node scripts/generate-prisma.js","build:schema":"node scripts/generate-types-from-schema.js","test:android":"mocha \"test/integration/androidDevices.spec.ts\"","test:e2e:hub":"mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000","test:coverage":"nyc npm run test","plugin:install":"appium plugin install --source=local $(pwd)","prepublishOnly":"npm run build:all","plugin:reinstall":"export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install"},"typedoc":{"entryPoint":"lib/src/index.js"},"version":"2.12.0","_npmUser":{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"},"homepage":"https://github.com/Rabindra184/xenon#readme","overrides":{"usbmux":{"plist":{"xmldom":"npm:@xmldom/xmldom@^0.8.10"}},"unzipper":"^0.12.3"},"repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"_npmVersion":"10.9.9","description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","directories":{},"lint-staged":{"src/*.{js,jsx,ts,tsx,json,css,scss,md}":["npm run prettier","git add"]},"maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"_nodeVersion":"22.23.3","contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"dependencies":{"ip":"^1.1.8","ws":"^8.21.1","nyc":"^15.1.0","ora":"5.4.1","zod":"^4.3.6","cors":"^2.8.5","jose":"^5.10.0","uuid":"^8.3.2","axios":"^0.27.2","ramda":"^0.28.0","sharp":"^0.34.5","xpath":"^0.0.34","yargs":"^17.7.2","bcrypt":"^5.1.1","lodash":"^4.17.21","lokijs":"^1.5.12","openai":"^6.17.0","prisma":"^5.4.1","semver":"^7.5.4","typedi":"^0.10.0","usbmux":"^0.1.0","express":"^4.17.3","download":"^8.0.0","fs-extra":"^11.1.1","get-port":"^5.1.1","unzipper":"^0.12.3","socket.io":"^4.8.3","appium-adb":"^11.0.3","async-lock":"^1.2.8","jsonschema":"1.4.1","node-cache":"^5.1.2","node-forge":"^1.4.0","nodemailer":"^6.10.1","mjpeg-proxy":"^0.3.0","node-simctl":"^7.3.13","resiliotree":"^1.1.3","node-persist":"^3.1.3","tesseract.js":"^7.0.0","@appium/types":"^0.14.1","node-schedule":"^2.1.1","normalize-url":"6.1.0","swagger-jsdoc":"^6.2.8","tcp-port-used":"^1.0.2","@prisma/client":"^5.4.1","@xmldom/xmldom":"^0.8.10","fast-xml-parser":"^5.3.4","http-mitm-proxy":"^1.1.0","path-exists-cli":"^2.0.0","async-wait-until":"^2.0.12","http-proxy-agent":"7.0.0","reflect-metadata":"^0.1.13","socket.io-client":"^4.8.3","@anthropic-ai/sdk":"^0.72.1","@types/appium-adb":"^9.10.4","appium-ios-device":"^2.7.6","https-proxy-agent":"7.0.2","@opentelemetry/api":"^1.9.0","express-fileupload":"^1.5.2","swagger-ui-express":"^5.0.1","@appium/base-plugin":"^2.2.22","@types/node-persist":"^3.1.5","appium-chromedriver":"^5.6.19","@devicefarmer/adbkit":"^3.2.5","@google/generative-ai":"^0.24.1","node-abort-controller":"^3.1.1","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-node":"^0.211.0","@ffmpeg-installer/ffmpeg":"^1.1.0","@opentelemetry/resources":"^2.5.0","@types/express-fileupload":"^1.5.1","@opentelemetry/sdk-metrics":"^2.0.0","@fortawesome/react-fontawesome":"^3.1.1","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/exporter-logs-otlp-http":"^0.211.0","@opentelemetry/exporter-trace-otlp-http":"^0.211.0","@opentelemetry/exporter-metrics-otlp-http":"^0.211.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","vite":"^4.5.0","husky":"7.0.4","mocha":"^10.2.0","ramda":"^0.29.1","sinon":"^17.0.0","appium":"^3.1.1","dotenv":"^16.3.1","eslint":"^8.57.0","js-yaml":"^4.1.0","ts-node":"^10.9.1","prettier":"^3.0.3","@types/ip":"^1.1.2","@types/ws":"^8.18.1","supertest":"^7.2.2","sinon-chai":"^3.7.0","typescript":"^5.5.4","@babel/core":"^7.23.9","@types/chai":"4.3.10","@types/uuid":"8.3.4","@wdio/types":"^8.24.2","lint-staged":"15.0.2","webdriverio":"^8.20.4","@types/mocha":"9.1.1","@types/sinon":"^17.0.2","@types/yargs":"17.0.32","chai-exclude":"^2.1.0","@types/bcrypt":"^5.0.2","@types/lodash":"^4.14.202","@types/lokijs":"1.5.14","@types/express":"4.17.21","@types/js-yaml":"^4.0.9","@types/bluebird":"^3.5.42","@types/fs-extra":"^11.0.0","@types/unzipper":"^0.10.11","@appium/docutils":"^0.4.11","@types/supertest":"^7.2.0","chai-as-promised":"^7.1.1","@types/async-lock":"1.4.2","@types/node-forge":"^1.3.14","@types/nodemailer":"^6.4.23","@types/sinon-chai":"^3.2.12","@appium/fake-driver":"^6.0.1","@babel/eslint-parser":"^7.23.3","@types/node-schedule":"1.3.2","@types/swagger-jsdoc":"^6.0.4","@types/tcp-port-used":"^1.0.4","eslint-plugin-import":"^2.29.1","appium-xcuitest-driver":"^10.1.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@types/chai-as-promised":"^7.1.8","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"5.62.0","json-schema-to-typescript":"^15.0.4","appium-uiautomator2-driver":"^5.0.3","@appium/plugin-test-support":"^1.0.3","@typescript-eslint/eslint-plugin":"5.62.0","@babel/plugin-transform-class-properties":"^7.23.3"},"peerDependencies":{"appium":"^3.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xenon_2.12.0_1791081525092_0.5585202782718628"}}},"time":{"created":"2026-02-22T17:15:17.918Z","modified":"2026-10-04T02:38:45.862Z","1.1.0":"2026-02-22T17:15:18.218Z","1.1.1":"2026-02-22T17:42:49.108Z","1.1.2":"2026-02-23T14:26:40.155Z","1.1.3":"2026-02-23T15:00:41.291Z","1.1.4":"2026-02-23T17:16:57.245Z","1.1.6":"2026-02-23T17:35:40.287Z","1.1.7":"2026-02-23T18:04:55.444Z","1.1.9":"2026-02-24T01:52:06.033Z","1.1.10":"2026-02-24T02:04:04.702Z","1.1.11":"2026-02-24T02:15:18.331Z","1.1.12":"2026-02-24T02:21:09.109Z","1.1.13":"2026-02-24T03:07:55.398Z","1.1.14":"2026-02-24T03:11:14.521Z","1.1.15":"2026-02-26T07:13:00.108Z","1.1.16":"2026-02-26T07:21:04.426Z","1.1.17":"2026-02-26T07:34:50.111Z","1.1.18":"2026-02-26T07:41:04.984Z","1.1.19":"2026-02-26T07:56:24.582Z","1.1.20":"2026-02-26T08:25:33.709Z","1.1.21":"2026-02-26T09:02:03.548Z","1.1.22":"2026-02-26T09:27:13.715Z","1.1.23":"2026-02-26T09:49:23.604Z","1.1.24":"2026-02-26T10:51:38.229Z","1.1.25":"2026-02-26T11:30:19.505Z","1.1.26":"2026-04-21T02:30:34.084Z","1.1.27":"2026-04-21T02:47:32.740Z","1.1.28":"2026-04-21T03:03:20.692Z","1.2.0":"2026-04-22T02:44:40.343Z","1.3.0":"2026-04-23T08:25:03.595Z","1.4.0":"2026-04-24T04:30:11.579Z","1.5.0":"2026-04-24T06:52:49.386Z","1.6.0":"2026-05-10T07:02:44.930Z","1.7.0":"2026-05-14T17:33:10.852Z","1.7.1":"2026-07-16T11:17:24.565Z","1.7.2":"2026-07-17T02:03:04.329Z","1.7.3":"2026-07-17T08:03:29.500Z","1.7.4":"2026-07-17T10:02:49.013Z","1.7.5":"2026-07-17T11:00:19.995Z","1.7.6":"2026-07-17T11:23:41.924Z","1.7.7":"2026-07-17T11:55:04.441Z","1.7.8":"2026-07-17T12:58:44.555Z","1.7.9":"2026-07-17T13:42:20.512Z","1.7.10":"2026-07-17T14:32:19.451Z","1.8.0":"2026-07-20T02:25:28.242Z","1.8.1":"2026-07-22T03:26:43.988Z","1.8.2":"2026-07-23T04:27:53.653Z","1.8.3":"2026-07-23T05:15:47.447Z","1.8.4":"2026-07-23T05:49:27.203Z","1.9.1":"2026-07-23T08:42:58.684Z","1.9.0":"2026-07-23T08:47:58.901Z","1.9.2":"2026-07-23T09:08:10.045Z","1.10.0":"2026-07-23T13:17:35.381Z","1.10.1":"2026-07-23T14:47:36.628Z","1.10.2":"2026-07-23T16:54:19.612Z","1.10.3":"2026-08-04T15:46:57.799Z","1.10.4":"2026-08-04T17:35:45.136Z","1.10.5":"2026-08-05T03:24:39.852Z","1.11.0":"2026-08-07T11:01:03.346Z","1.11.1":"2026-08-07T11:32:27.091Z","1.11.2":"2026-08-07T14:01:12.274Z","1.12.0":"2026-08-07T15:48:35.007Z","1.12.1":"2026-08-08T02:53:09.890Z","1.13.0":"2026-08-09T03:21:10.711Z","1.13.1":"2026-08-09T04:51:19.399Z","1.14.0":"2026-08-10T14:19:35.240Z","1.15.0":"2026-08-10T16:39:26.770Z","1.16.0":"2026-08-10T17:37:14.779Z","1.16.1":"2026-08-10T18:03:59.684Z","1.17.0":"2026-08-10T19:07:17.472Z","1.17.1":"2026-08-10T19:46:52.924Z","1.17.2":"2026-08-11T02:58:25.955Z","1.17.3":"2026-08-11T03:44:16.436Z","1.17.4":"2026-08-12T15:22:36.977Z","1.17.5":"2026-08-12T15:46:54.671Z","1.18.0":"2026-08-12T17:05:10.031Z","1.18.1":"2026-08-12T17:28:28.018Z","1.19.0":"2026-08-13T02:41:43.538Z","1.20.0":"2026-08-13T03:57:55.636Z","1.20.1":"2026-08-13T07:27:25.499Z","1.20.2":"2026-08-13T10:08:43.698Z","1.20.3":"2026-08-13T10:33:04.760Z","1.20.4":"2026-08-13T11:39:21.010Z","1.20.5":"2026-08-13T12:10:18.526Z","1.20.6":"2026-09-23T16:43:28.353Z","1.21.0":"2026-09-24T04:53:53.583Z","1.21.1":"2026-09-24T15:12:00.184Z","1.21.2":"2026-09-24T16:47:49.880Z","1.21.3":"2026-09-25T02:00:31.740Z","1.21.4":"2026-09-25T03:53:05.433Z","1.21.5":"2026-09-25T04:55:44.560Z","1.21.6":"2026-09-25T05:22:46.743Z","1.21.7":"2026-09-25T11:36:19.691Z","1.22.0":"2026-09-26T03:20:27.007Z","1.22.1":"2026-09-26T04:59:27.951Z","1.22.2":"2026-09-26T06:14:18.061Z","1.22.3":"2026-09-26T07:08:07.303Z","1.22.4":"2026-09-26T08:36:46.336Z","1.23.0":"2026-09-26T09:44:35.514Z","1.23.1":"2026-09-26T10:09:21.992Z","1.24.0":"2026-09-26T10:42:43.424Z","1.25.0":"2026-09-26T13:13:03.134Z","1.26.0":"2026-09-26T14:10:41.356Z","1.26.1":"2026-09-26T14:27:43.302Z","1.26.2":"2026-09-26T14:50:16.313Z","1.27.0":"2026-09-26T16:12:39.715Z","1.28.0":"2026-09-27T03:10:23.086Z","1.28.1":"2026-09-27T05:18:53.962Z","1.29.0":"2026-09-27T18:23:54.910Z","1.29.1":"2026-09-28T03:09:10.059Z","2.0.0":"2026-09-28T17:58:06.854Z","2.1.0":"2026-09-30T15:09:23.680Z","2.2.0":"2026-09-30T17:43:00.882Z","2.3.0":"2026-10-01T02:12:29.779Z","2.4.0":"2026-10-01T02:42:13.188Z","2.5.0":"2026-10-01T03:40:41.088Z","2.6.0":"2026-10-01T13:29:21.500Z","2.6.1":"2026-10-01T14:11:37.763Z","2.6.2":"2026-10-01T14:41:38.403Z","2.7.0":"2026-10-01T15:16:52.055Z","2.8.0":"2026-10-02T01:39:18.844Z","2.8.1":"2026-10-02T02:17:59.981Z","2.8.2":"2026-10-02T02:42:01.192Z","2.8.3":"2026-10-02T03:49:33.964Z","2.9.0":"2026-10-02T04:19:36.514Z","2.9.1":"2026-10-02T05:09:49.775Z","2.9.2":"2026-10-02T06:07:06.494Z","2.10.0":"2026-10-02T11:54:55.637Z","2.10.1":"2026-10-02T13:14:07.330Z","2.11.0":"2026-10-03T06:07:42.607Z","2.11.1":"2026-10-03T06:45:08.642Z","2.12.0":"2026-10-04T02:38:45.719Z"},"bugs":{"url":"https://github.com/Rabindra184/xenon/issues"},"license":"ISC","homepage":"https://github.com/Rabindra184/xenon#readme","repository":{"url":"git+https://github.com/Rabindra184/xenon.git","type":"git"},"description":"Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.","contributors":[{"name":"Rabindra Biswal","email":"rabindrabiswal1@gmail.com"}],"maintainers":[{"name":"rabindra-biswal","email":"rabindrabiswal404@gmail.com"}],"readme":"# Xenon\n\n<h1 align=\"center\">\n\t<br>\n\t<img src=\"assets/xenon-logo.png\" alt=\"Xenon\" width=\"200\">\n\t<br>\n\t<br>\n\tIntelligent Mobile Infrastructure\n\t<br>\n</h1>\n\n<p align=\"center\">\n  <strong>Self-healing device orchestration platform for Appium</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"#features\">Features</a> •\n  <a href=\"#quick-start\">Quick Start</a> •\n  <a href=\"#capabilities\">Capabilities</a> •\n  <a href=\"#api-documentation\">API Docs</a> •\n  <a href=\"#documentation\">Documentation</a> •\n  <a href=\"#contributing\">Contributing</a>\n</p>\n\n---\n\n## ✨ What is Xenon?\n\n**Xenon** is an intelligent Appium plugin that transforms your mobile device lab into a **self-healing, autonomous infrastructure**. Named after the noble gas known for its stability and reliability, Xenon brings enterprise-grade device orchestration to your testing pipeline.\n\n### Why Xenon?\n\n| Problem | Xenon Solution |\n|---------|----------------|\n| Tests fail due to device state | **Auto-recovery** - Devices heal themselves |\n| Manual device management | **Smart allocation** - Queue, reserve, prioritize |\n| Debugging is painful | **Interactive control** - Live stream, touch, shell |\n| No visibility into failures | **Rich artifacts** - Video, screenshots, profiling |\n| Infrastructure silos | **Unified dashboard** - One view for all devices |\n\n---\n\n## 🚀 Features\n\n### Device Orchestration\n- ✅ **Automatic device discovery** - Android (USB + emulators), iOS (devices + simulators)\n- ✅ **Smart session allocation** - Queue management with ETA\n- ✅ **WebSocket-First Sync** - Real-time Hub-Node-Dashboard bidirectional sync\n- ✅ **Device reservation** - Manual mode for debugging\n- ✅ **Team-based quotas** - Fair resource sharing\n\n### Interactive Control\n- ✅ **Live streaming** - Real-time device screen in browser\n- ✅ **Touch interaction** - Tap, swipe, scroll remotely\n- ✅ **App management** - Install, uninstall, clear data\n- ✅ **Interactive Shell** - Execute ADB/iOS commands directly\n- ✅ **Device information** - Battery, storage, network status\n\n### 🧠 AI Self-Healing (Flagship)\n- ✅ **5-Tier Healing Orchestration** - From DOM to LLM recovery\n- ✅ **Signature-Based Learning** - Persistent \"Etalon\" signatures for high-confidence recovery\n- ✅ **Multi-Modal Fallback** - Syntactic -> OCR -> Visual AI -> LLM reasoning\n- ✅ **Infrastructure-Free** - Works with existing LokiJS (local) or PostgreSQL (remote)\n\n#### Selector lifecycle (Trust & Truth layer)\n\nHealed selectors flow through a state machine: **Active → Pending → Resolved**, with an optional **Muted** branch.\n\n- **Active** — a hot selector that's healing in flight; surfaces on the Selector Health dashboard, the CI gate, and the webhook digest.\n- **Mark as Fixed** — after rewriting the selector in your test source, click \"Mark as Fixed\" in the dashboard. The row moves to **Pending**.\n- **Pending** — Xenon watches subsequent CI builds. When 3 distinct `build_id`s have run the selector with no heals, it auto-promotes to **Resolved** (`SelectorVerificationJob` runs every 15 minutes).\n- **Resolved** — the rewrite stuck. Excluded from the CI gate and digest. A future heal flips the row back to Active with a regression badge (institutional memory).\n- **Muted** — a selector you've intentionally chosen to ignore (legacy flow, etc.). Hidden from dashboard, CI gate, and digest until unmuted.\n\nThe dashboard shows strategy + value (`Accessibility ID: login-btn`) so suggested rewrites are copy-ready in JS / Java / Python / C# / Ruby — your client language is remembered in `localStorage.xenon.copyLang`.\n\n> **CI gate behavior change:** muted/pending/resolved selectors no longer count toward `/healing/hotspots/violations`. If your CI was passing/failing based on that endpoint, the signal will get quieter after this release — selectors actively being managed are no longer flagged. Pass `?status=all` to opt back into the old behavior.\n\n### Recording & Artifacts\n- ✅ **Video recording** - Full session capture\n- ✅ **Screenshot capture** - On-demand and per-command\n- ✅ **Network interceptor** - Live HTTP/HTTPS capture, mocking, and HAR export ([docs](https://xenon-docs.vercel.app/docs/network-interceptor))\n- ✅ **Distributed Tracing** - OpenTelemetry spans for exact command latency\n- ✅ **Performance profiling** - CPU, memory, FPS metrics\n- ✅ **Log aggregation** - Appium, device, app logs\n- ✅ **OpenTelemetry Integration** - Standardized distributed tracing for all sessions\n\n### Intelligence (Roadmap)\n- 🔲 **Flaky test detection** - Auto-identify unstable tests\n- 🔲 **Error categorization** - Crash vs timeout vs element not found\n- 🔲 **Predictive health** - USB/battery failure prediction\n\n---\n\n## ⚡ Quick Start\n\n### Installation\n\n```bash\n# Install Xenon plugin\nappium plugin install --source=npm @xenon-device-management/xenon\n\n# Or install from source\ngit clone https://github.com/xenon-platform/xenon.git\ncd xenon\nnpm install\nnpm run build:all\nappium plugin install --source=local .\n```\n\n### Running\n\n```bash\n# Start Appium with Xenon\nappium server --use-plugins=xenon \\\n  --plugin-xenon-platform=both \\\n  --plugin-xenon-enable-dashboard\n```\n\n## 🔧 Configuration\n\nXenon supports configuration via CLI arguments or a configuration file (YAML/JSON). We recommend using a configuration file for production deployments.\n\n### Using Configuration File (Recommended)\n\nCreate a `xenon-config.yaml` file:\n```yaml\nserver:\n  usePlugins: [\"xenon\"]\n  plugin:\n    xenon:\n      platform: both\n      maxSessions: 8\n      enableDashboard: true\n      enableSelfHealing: true\n```\n\nRun Appium with the config:\n```bash\nappium server --config xenon-config.yaml\n```\n\n### Runtime Configuration ⚡️\n\nYou can update configuration options at runtime without restarting the server using the API:\n\n```bash\n# Get current config\nGET /xenon/api/config\n\n# Update config (e.g. change max sessions)\nPUT /xenon/api/config\n{ \"maxSessions\": 10 }\n```\n\n> **Note:** Some changes (like `platform` or `hub` URL) require a server restart to take full effect. The API response will indicate if a restart is required.\n\n### Build & Session Retention 🧹\n\nXenon includes an enterprise-ready cleanup job that automatically purges older builds, sessions, and associated assets (videos/screenshots) to manage disk space.\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `buildCleanupDays` | Retention period in days | `30` |\n| `buildCleanupMaxCount` | Maximum number of builds to keep | `100` |\n| `buildCleanupSchedule` | Cron schedule for the cleanup job | `\"0 0 * * *\"` |\n| `deleteBuildAssets` | Delete video recordings and screenshots from disk | `true` |\n\n**Example (YAML):**\n```yaml\nplugin:\n  xenon:\n    buildCleanupDays: 14\n    buildCleanupMaxCount: 50\n    buildCleanupSchedule: \"0 0 * * *\"\n    deleteBuildAssets: true\n```\n\nDetailed explanation of how the retention logic works can be found in the **[Data Retention & Maintenance Guide](docs/retention.md)**.\n\nSee [docs/server-args.md](docs/server-args.md) for all available options.\n\n---\n\n## 📋 Capabilities\n\nXenon uses the `xe:` prefix for its custom capabilities. You can also use `xenon:` as an alternative.\n\n### `xe:options`: credentials, leases and nested options\n\n`xe:options` is Xenon's capability namespace. It holds the session's credentials (`accessKey` + `token`, or `sessionToken`), a lease (`leaseId` + `leaseToken`, which the lease-create response's `appiumCapabilities` already carry), and options such as `healingTiers`. `xenon:options` is still accepted as an alias; when both are sent, `xe:options` wins field by field. `df:options` is not read. See [Teams](#teams-device-access-control) for an example.\n\n### Session & Build Tracking\n\n| Capability | Description | Example |\n|------------|-------------|---------|\n| `xe:build` | Build name for grouping sessions | `\"xe:build\": \"Release-v2.0\"` |\n| `xe:name` | Session name for identification | `\"xe:name\": \"Login Test Suite\"` |\n\n### Recording & Screenshots\n\n| Capability | Description | Default |\n|------------|-------------|---------|\n| `xe:record_video` | Enable video recording | `true` |\n| `xe:screenshot_on_failure` | Capture screenshot on test failure | `true` |\n| `xe:screenshot_on_every_command` | Capture screenshot after each command | `false` |\n| `xe:save_device_logs` | Save device logs (logcat/syslog) | `false` |\n\n### Device Filtering\n\n| Capability | Description | Example |\n|------------|-------------|---------|\n| `appium:udids` | Comma-separated list of allowed UDIDs | `\"device1,device2\"` |\n| `appium:minSDK` | Minimum OS version | `\"15\"` |\n| `appium:maxSDK` | Maximum OS version | `\"17\"` |\n| `appium:iPhoneOnly` | Use only iPhone simulators | `true` |\n| `appium:iPadOnly` | Use only iPad simulators | `true` |\n| `appium:filterByHost` | Filter by node IP address | `\"192.168.0.100\"` |\n\n### Timeouts\n\n| Capability | Description | Default |\n|------------|-------------|---------|\n| `appium:deviceAvailabilityTimeout` | Wait time for device availability (ms) | `180000` |\n| `appium:deviceRetryInterval` | Polling interval for device check (ms) | `10000` |\n\n### Example Configuration\n\n```javascript\nconst capabilities = {\n  platformName: 'iOS',\n  'appium:automationName': 'XCUITest',\n  'appium:app': '/path/to/app.ipa',\n  \n  // Xenon capabilities\n  'xe:build': 'Sprint-42',\n  'xe:name': 'Login Flow Test',\n  'xe:record_video': true,\n  'xe:screenshot_on_failure': true,\n  'xe:save_device_logs': true,\n  \n  // Device filtering\n  'appium:minSDK': '16',\n  'appium:iPhoneOnly': true\n};\n```\n\n### Custom Execute Script Commands\n\nXenon supports extended control and reporting via the `xenon:` execute script namespace. These commands allow you to interact with the Xenon dashboard and session management directly from your test code.\n\n| Command | Description | Example |\n|---------|-------------|---------|\n| `xenon: setSessionStatus` | Mark session as passed/failed in dashboard | `{\"status\": \"passed\", \"reason\": \"All steps OK\"}` |\n| `xenon: setSessionName` | Update session name at runtime | `{\"name\": \"Step 2: Payment Verification\"}` |\n| `xenon: captureEvidence` | Trigger manual screenshot with custom label | `{\"reason\": \"Checkpoint reached\", \"label\": \"success\"}` |\n| `xenon: addTag` | Add searchable tags to the session | `{\"tag\": \"regression\"}` |\n| `xenon: debug` | Send custom debug logs to Xenon dashboard | `{\"message\": \"API Response: 200 OK\"}` |\n\nFull reference for these commands is in the Swagger UI at `/xenon/api-docs`.\n\n---\n\n## 🧠 AI Self-Healing\n\nXenon features a best-in-class, 5-tier self-healing system that ensures your tests never fail due to minor UI changes. It automatically intercepts `NoSuchElementError` and attempts to recover the locator using increasingly advanced methods.\n\n### 🛡️ The 5-Tier Strategy\n\n| Tier | Provider | Mechanism | Stability |\n|:---|:---|:---|:---|\n| **1** | **Native** | Standard Appium `findElement` | Baseline |\n| **2** | **Fuzzy XML**| **Weighted Signature Matching** (Dice Coefficient) | **85%+** |\n| **3** | **OCR** | Local Text Recognition (Tesseract.js) | High |\n| **4** | **Visual AI**| AI-powered coordinate discovery | High |\n| **5** | **LLM** | Deep Reasoning (Gemini/OpenAI) | Absolute |\n\n### ⚡ Signature-Based Learning (Etalon)\n\nXenon \"learns\" during every successful run. When an element is found, it captures a persistent **Element Signature (Etalon)**. \n- **Zero Configuration**: Learning is fully automatic and backgrounded.\n- **Persistent Memory**: Signatures are stored in your database (LokiJS or PostgreSQL).\n- **Extreme Precision**: Even if `id`, `text`, or `class` changes, Xenon uses anchor attributes (`content-desc`, `resource-id`) from its memory to find the match with industrial-grade confidence.\n\n### 🎛️ Control & Transparency\n\nXenon provides full visibility and control over its self-healing system:\n\n- **Global Toggle**: Enable or disable healing via CLI:\n  ```bash\n  appium server --use-plugins=xenon --plugin-xenon-enable-self-healing=true\n  ```\n- **Live Configuration**: Toggle self-healing directly from the **Xenon Dashboard Settings** at runtime without restarting the server.\n- **Audit Logs**: Every healing event is recorded in the session command history. You can see:\n    - **Original Selector**: The locator that failed.\n    - **Recovered Selector**: The replacement locator found by Xenon.\n    - **Confidence Score**: The mathematical match probability (0-1.0).\n    - **Healing Tier**: Which tier (Fuzzy XML, OCR, etc.) performed the recovery.\n\n---\n\n## 📖 API Documentation\n\nXenon provides a comprehensive REST API for device management, session control, and more.\n\n### Swagger UI\n\nAccess interactive API documentation at:\n```\nhttp://localhost:4723/xenon/api-docs\n```\n\n### OpenAPI Spec\n\nGet the raw OpenAPI specification:\n```\nhttp://localhost:4723/xenon/api-docs.json\n```\n\n### API Categories\n\n| Category | Base Path | Description |\n|----------|-----------|-------------|\n| **Devices** | `/xenon/api/devices` | Device discovery and management |\n| **Sessions** | `/xenon/api/session` | Session management and logs |\n| **Builds** | `/xenon/api/build` | Build and test execution tracking |\n| **Control** | `/xenon/api/control` | Interactive device control |\n| **Reservations** | `/xenon/api/reservation` | Device reservation for exclusive use |\n| **Applications** | `/xenon/api/apps` | App repository and installation |\n| **Webhooks** | `/xenon/api/webhook` | Notification webhook configuration |\n\n### Key Endpoints\n\n#### Devices\n```bash\n# Get all devices\nGET /xenon/api/devices\n\n# Get device by platform\nGET /xenon/api/device/{platform}\n\n# Block/Unblock device\nPOST /xenon/api/device/{udid}/block\nPOST /xenon/api/device/{udid}/unblock\n```\n\n#### Control API\n```bash\n# Take screenshot\nGET /xenon/api/control/{udid}/screenshot\n\n# Tap at coordinates\nPOST /xenon/api/control/{udid}/tap\n{ \"x\": 100, \"y\": 200 }\n\n# Swipe gesture\nPOST /xenon/api/control/{udid}/swipe\n{ \"x\": 100, \"y\": 500, \"endX\": 100, \"endY\": 100, \"duration\": 1000 }\n\n# Type text\nPOST /xenon/api/control/{udid}/text\n{ \"text\": \"Hello World\" }\n\n# Execute shell command (Android)\nPOST /xenon/api/control/{udid}/shell\n{ \"command\": \"pm list packages\" }\n\n# Live stream\nGET /xenon/api/control/{udid}/stream\n```\n\n#### Reservations\n```bash\n# Reserve a device\nPOST /xenon/api/reservation\n{ \"udid\": \"...\", \"host\": \"...\", \"reservedBy\": \"John\", \"duration\": \"2h\" }\n\n# Release reservation\nDELETE /xenon/api/reservation/{udid}/{host}\n\n# Extend reservation\nPOST /xenon/api/reservation/{udid}/{host}/extend\n{ \"duration\": \"1h\" }\n```\n\n---\n\n## 🎨 Dashboard\n\nAccess the dashboard at `http://localhost:4723/xenon/`\n\n<p align=\"center\">\n  <img src=\"assets/dashboard.png\" alt=\"Xenon Dashboard\" width=\"100%\">\n</p>\n\n### Views\n\n| View | Description |\n|------|-------------|\n| **Devices** | Real-time device grid with status indicators |\n| **Sessions** | Active and historical session management |\n| **Builds** | Test runs grouped by build identifier |\n| **Control** | Interactive device control interface |\n\n---\n\n## 📚 Documentation\n\nThe full documentation is available at:\n**[https://xenon-docs.vercel.app/](https://xenon-docs.vercel.app/)**\n\n### Quick Links\n- [Server arguments & env vars](docs/server-args.md)\n- [Node provisioning](docs/node-provisioning.md) — pair-auth credentials for hub-node deployments\n- [Teams & device access](docs/teams.md)\n- [Data retention & cleanup](docs/retention.md)\n- API reference: live Swagger at `/xenon/api-docs`\n\n---\n\n## 🏗️ Development\n\n```bash\n# Clone and install\ngit clone https://github.com/xenon-platform/xenon.git\ncd xenon\nnpm install\n\n# Build everything (Plugin + Dashboard)\nnpm run build:all\n\n# High-velocity development loop\n# (Auto-rebuilds and restarts Appium server)\nnpm run dev\n\n# Run tests\nnpm run test:all              # Unit tests\nnpm run test:android          # Android integration\nnpm run test:ios              # iOS integration\n```\n\n---\n\n## 🔐 Authentication\n\nAll `/xenon/api/*` endpoints are authenticated. Xenon supports three shapes — pick whichever matches your caller.\n\n### Identity model\n\nXenon ships an enterprise identity stack: **users** with roles (`SUPER_ADMIN` / `ADMIN` / `MEMBER`), **teams** that scope which devices a user can reach, and **API tokens** minted per-user with their own scope set. The dashboard, programmatic clients, and hub-node channel all flow through the same identity.\n\n### Auth shapes\n\n| Shape | Header(s) | When to use |\n|---|---|---|\n| **Cookie session** | `Cookie: xenon_dashboard_session=…` | Dashboard browser sessions. Set by `POST /api/auth/login` with `{email, password}`. |\n| **Pair auth** | `X-Xenon-Access-Key` + `X-Xenon-Token` | Programmatic clients (CI, SDK, hub→node). Each user has one access key (rotatable) and any number of scoped tokens. |\n| **Auth disabled** | _(none)_ | Local dev only. Set `--plugin-xenon-auth-disabled` (or `XENON_AUTH_DISABLED=true`). A WARN logs every 60 s. |\n\n### First-run bootstrap\n\nOn first start Xenon creates a `SUPER_ADMIN` user from these env vars (defaults `admin@xenon.local` / `Admin@123`):\n\n```bash\nexport XENON_BOOTSTRAP_ADMIN_EMAIL=\"you@example.com\"\nexport XENON_BOOTSTRAP_ADMIN_PASSWORD=\"...\"  # change me\n```\n\nSign in at `https://<host>/xenon/` with these credentials. From `/profile` you can mint API tokens and rotate your access key. For CI use, programmatically `POST /api/auth/login` to get the cookie, then `POST /api/profile/tokens` to mint a scoped token.\n\n### Generating a programmatic token\n\n```bash\n# 1. Get your access key + a fresh token from /profile in the dashboard, or:\ncurl -s -X POST -b \"xenon_dashboard_session=$COOKIE\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"name\":\"ci\",\"scopes\":[\"sessions\",\"read\"]}' \\\n  http://localhost:4723/xenon/api/profile/tokens\n\n# 2. Use it on every subsequent call:\ncurl -H \"X-Xenon-Access-Key: xen_...\" -H \"X-Xenon-Token: ...\" \\\n  http://localhost:4723/xenon/api/devices\n```\n\n### Scopes\n\nTokens carry one or more scopes; the user's role controls which scopes they can grant.\n\n| Scope | Access |\n|-------|--------|\n| `read` | GET sessions, devices, logs, apps |\n| `sessions` | Create/delete sessions and reservations |\n| `devices` | Block/unblock devices, install apps, hub-node `/register` and `/unblock` |\n| `admin` | User / team / API-key management, webhooks |\n\n### Teams (device access control)\n\nScopes govern *which verbs* a token can call; **teams** govern *which devices* it can reach. A user bound to a team sees the team's devices plus the shared pool (`teamId = null`). `admin`-scope tokens bypass team filtering.\n\nTest clients authenticate a session with the access key and a token (with the `sessions` scope) in `xe:options`, Xenon's capability namespace:\n\n```js\nconst caps = {\n  platformName: 'iOS',\n  'appium:automationName': 'XCUITest',\n  'xe:options': {\n    accessKey: process.env.XENON_ACCESS_KEY,   // user with team membership\n    token: process.env.XENON_TOKEN,\n    // optional: team: '<team-id>' to pin allocation to one of your teams\n    // (any team for an admin)\n  },\n};\n```\n\nA client that holds a hub-minted session token (`POST /xenon/api/auth/token`) sends `'xe:options': { sessionToken }` instead. `xenon:options` is still accepted as an alias (when both are sent, `xe:options` wins field by field); `df:options` is not read. Xenon takes these credentials out of the capabilities before the driver, the queue or the session record sees them.\n\nSee [docs/teams.md](docs/teams.md) for creating teams, assigning devices, and the full error taxonomy.\n\n### Hub-node channel\n\nHub and node authenticate using the same pair-auth shape. Provision a User on the hub for each node, mint a `devices`-scoped token, and set both env vars on the node:\n\n```bash\nexport XENON_HUB_ACCESS_KEY=\"xen_...\"\nexport XENON_HUB_TOKEN=\"...\"\n```\n\nBoth REST `/register` calls and the Socket.io handshake will use this pair. See [docs/node-provisioning.md](docs/node-provisioning.md) for the full provisioning + recovery flow.\n\n---\n\n## 🌱 Environment Variables\n\nXenon reads these env vars in addition to the CLI flags. Prefer env vars for credentials so keys don't end up in shell history or config files.\n\n| Variable | Purpose |\n|----------|---------|\n| `XENON_AI_PROVIDER` | AI backend: `gemini`, `openai`, `anthropic`, or `ollama`. Same as `--plugin-xenon-aiProvider`. |\n| `XENON_AI_MODEL` | Override the default model for the selected provider. |\n| `XENON_AI_BASE_URL` | Custom base URL (local Ollama, OpenAI-compatible gateway). |\n| `XENON_GEMINI_API_KEY` / `GEMINI_API_KEY` | Gemini credentials. `XENON_`-prefixed form wins if both set. |\n| `XENON_OPENAI_API_KEY` / `OPENAI_API_KEY` | OpenAI credentials. |\n| `XENON_ANTHROPIC_API_KEY` / `ANTHROPIC_API_KEY` | Anthropic credentials. |\n| `XENON_OPENAI_MODEL` | Alternate way to set the OpenAI model. |\n| `XENON_OTEL_DEBUG` | When `true`, OpenTelemetry adds a ConsoleSpanExporter so every span is logged. Dev/tracing only. |\n| `XENON_DB_PROVIDER` | `sqlite` or `postgresql`. Same as `--plugin-xenon-databaseProvider`. |\n| `DATABASE_URL` | Prisma database URL. Falls back to `file:~/.cache/xenon/xenon.db`. |\n| `XENON_HUB_ACCESS_KEY` | Node→hub outbound: access key the node sends in `X-Xenon-Access-Key`. Required alongside `XENON_HUB_TOKEN`. See [docs/node-provisioning.md](docs/node-provisioning.md). |\n| `XENON_HUB_TOKEN` | Node→hub outbound: token the node sends in `X-Xenon-Token`. Required alongside `XENON_HUB_ACCESS_KEY`. |\n| `XENON_BOOTSTRAP_ADMIN_EMAIL` / `XENON_BOOTSTRAP_ADMIN_PASSWORD` | First-run super-admin user, created on first hub boot. Defaults `admin@xenon.local` / `Admin@123`. Change in any non-throwaway environment. |\n| `XENON_AUTH_DISABLED` | `true` to disable all auth. Local dev only. |\n| `XENON_AUTO_MIGRATE` | When `true` (default), the hub auto-applies pending schema changes at startup (`prisma db push` for SQLite, `prisma migrate deploy` for PostgreSQL). Set `false` if you manage migrations externally via CI for auditable change-control. |\n\nSee [`docs/server-args.md`](docs/server-args.md) for the full CLI-flag reference and how these variables interact with config files.\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n### Contributors\n\n<a href=\"https://github.com/xenon-platform/xenon/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=xenon-platform/xenon\" />\n</a>\n\n---\n\n## 📜 License\n\nISC License - See [LICENSE](LICENSE) for details.\n\n---\n\n<p align=\"center\">\n  <strong>Xenon</strong> - Stable. Reliable. Intelligent.\n  <br>\n  <em>Named after Element 54 - the noble gas known for stability</em>\n</p>\n","readmeFilename":"README.md"}