{
  "name": "@xenon-device-management/xenon",
  "version": "1.7.1",
  "description": "Xenon - Intelligent Mobile Infrastructure. A self-healing device orchestration platform for Appium.",
  "main": "./lib/src/index.js",
  "exports": {
    ".": "./lib/src/index.js",
    "./schema.json": "./schema.json",
    "./package.json": "./package.json"
  },
  "scripts": {
    "postinstall": "node scripts/generate-prisma.js",
    "build": "node scripts/generate-prisma.js && tsc -b && npm run build:copy",
    "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/",
    "build:schema": "node scripts/generate-types-from-schema.js",
    "build:xenon": "sh scripts/build-xenon.sh",
    "dev": "npm run db:migrate && npm run build && npm run plugin:reinstall && npm run server",
    "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",
    "plugin:install": "appium plugin install --source=local $(pwd)",
    "plugin:reinstall": "export APPIUM_HOME=/tmp/xenon-home && (appium plugin uninstall xenon || exit 0) && npm run plugin:install",
    "test": "mocha",
    "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:e2e:hub": "mocha \"test/e2e/hubnode/*.spec.ts\" --plugin-xenon-platform=both --timeout 300000",
    "test:android": "mocha \"test/integration/androidDevices.spec.ts\"",
    "test:ios": "mocha \"test/integration/ios/*.spec.ts\"",
    "test:coverage": "nyc npm run test",
    "lint": "eslint . --ext .ts,.tsx --fix",
    "format": "prettier --write \"{src,web,test}/**/*.{ts,tsx,json,md}\" --single-quote",
    "db:migrate": "path-exists lib/src/scripts/initialize-database.js && node lib/src/scripts/initialize-database.js || ts-node src/scripts/initialize-database.ts",
    "db:generate": "ts-node src/scripts/generate-database-migration.ts",
    "prepare": "npx prisma generate",
    "prepublishOnly": "npm run build:all"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/Rabindra184/xenon"
  },
  "contributors": [
    {
      "name": "Rabindra Biswal",
      "email": "rabindrabiswal1@gmail.com"
    }
  ],
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/Rabindra184/xenon/issues"
  },
  "homepage": "https://github.com/Rabindra184/xenon#readme",
  "dependencies": {
    "@anthropic-ai/sdk": "^0.72.1",
    "@appium/base-plugin": "^2.2.22",
    "@appium/types": "^0.14.1",
    "@devicefarmer/adbkit": "^3.2.5",
    "@ffmpeg-installer/ffmpeg": "^1.1.0",
    "@fortawesome/fontawesome-svg-core": "^7.1.0",
    "@fortawesome/free-brands-svg-icons": "^7.1.0",
    "@fortawesome/react-fontawesome": "^3.1.1",
    "@google/generative-ai": "^0.24.1",
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/api-logs": "^0.211.0",
    "@opentelemetry/exporter-logs-otlp-http": "^0.211.0",
    "@opentelemetry/exporter-metrics-otlp-http": "^0.211.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.211.0",
    "@opentelemetry/resources": "^2.5.0",
    "@opentelemetry/sdk-logs": "^0.211.0",
    "@opentelemetry/sdk-metrics": "^2.0.0",
    "@opentelemetry/sdk-node": "^0.211.0",
    "@opentelemetry/semantic-conventions": "^1.39.0",
    "@prisma/client": "^5.4.1",
    "@types/appium-adb": "^9.10.4",
    "@types/express-fileupload": "^1.5.1",
    "@types/node-persist": "^3.1.5",
    "@xmldom/xmldom": "^0.8.10",
    "appium-adb": "^11.0.3",
    "appium-chromedriver": "^5.6.19",
    "appium-ios-device": "^2.7.6",
    "async-lock": "^1.2.8",
    "async-wait-until": "^2.0.12",
    "axios": "^0.27.2",
    "bcrypt": "^5.1.1",
    "cors": "^2.8.5",
    "download": "^8.0.0",
    "express": "^4.17.3",
    "express-fileupload": "^1.5.2",
    "fast-xml-parser": "^5.3.4",
    "fs-extra": "^11.1.1",
    "get-port": "^5.1.1",
    "http-mitm-proxy": "^1.1.0",
    "http-proxy-agent": "7.0.0",
    "http-proxy-middleware": "^3.0.0-beta.1",
    "https-proxy-agent": "7.0.2",
    "ip": "^1.1.8",
    "jsonschema": "1.4.1",
    "lodash": "^4.17.21",
    "lokijs": "^1.5.12",
    "mjpeg-proxy": "^0.3.0",
    "node-abort-controller": "^3.1.1",
    "node-cache": "^5.1.2",
    "node-forge": "^1.4.0",
    "node-persist": "^3.1.3",
    "node-schedule": "^2.1.1",
    "node-simctl": "^7.3.13",
    "nodemailer": "^6.10.1",
    "normalize-url": "6.1.0",
    "nyc": "^15.1.0",
    "openai": "^6.17.0",
    "ora": "5.4.1",
    "path-exists-cli": "^2.0.0",
    "prisma": "^5.4.1",
    "ramda": "^0.28.0",
    "reflect-metadata": "^0.1.13",
    "resiliotree": "^1.1.3",
    "semver": "^7.5.4",
    "sharp": "^0.34.5",
    "socket.io": "^4.8.3",
    "socket.io-client": "^4.8.3",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "tcp-port-used": "^1.0.2",
    "tesseract.js": "^7.0.0",
    "typedi": "^0.10.0",
    "unzipper": "^0.12.3",
    "usbmux": "^0.1.0",
    "uuid": "^8.3.2",
    "xpath": "^0.0.34",
    "yargs": "^17.7.2",
    "zod": "^4.3.6"
  },
  "overrides": {
    "unzipper": "^0.12.3",
    "usbmux": {
      "plist": {
        "xmldom": "npm:@xmldom/xmldom@^0.8.10"
      }
    }
  },
  "peerDependencies": {
    "appium": "^3.1.1"
  },
  "devDependencies": {
    "@appium/docutils": "^0.4.11",
    "@appium/fake-driver": "^6.0.1",
    "@appium/plugin-test-support": "^1.0.3",
    "@babel/core": "^7.23.9",
    "@babel/eslint-parser": "^7.23.3",
    "@babel/plugin-transform-class-properties": "^7.23.3",
    "@types/async-lock": "1.4.2",
    "@types/bcrypt": "^5.0.2",
    "@types/bluebird": "^3.5.42",
    "@types/chai": "4.3.10",
    "@types/chai-as-promised": "^7.1.8",
    "@types/express": "4.17.21",
    "@types/fs-extra": "^11.0.0",
    "@types/ip": "^1.1.2",
    "@types/js-yaml": "^4.0.9",
    "@types/lodash": "^4.14.202",
    "@types/lokijs": "1.5.14",
    "@types/mocha": "9.1.1",
    "@types/node-forge": "^1.3.14",
    "@types/node-schedule": "1.3.2",
    "@types/nodemailer": "^6.4.23",
    "@types/sinon": "^17.0.2",
    "@types/sinon-chai": "^3.2.12",
    "@types/supertest": "^7.2.0",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.8",
    "@types/tcp-port-used": "^1.0.4",
    "@types/unzipper": "^0.10.11",
    "@types/uuid": "8.3.4",
    "@types/yargs": "17.0.32",
    "@typescript-eslint/eslint-plugin": "5.62.0",
    "@typescript-eslint/parser": "5.62.0",
    "@wdio/types": "^8.24.2",
    "appium": "^3.1.1",
    "appium-uiautomator2-driver": "^5.0.3",
    "appium-xcuitest-driver": "^10.1.2",
    "chai": "^4.3.10",
    "chai-as-promised": "^7.1.1",
    "chai-exclude": "^2.1.0",
    "dotenv": "^16.3.1",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-prettier": "^5.0.0",
    "husky": "7.0.4",
    "js-yaml": "^4.1.0",
    "json-schema-to-typescript": "^15.0.4",
    "lint-staged": "15.0.2",
    "mocha": "^10.2.0",
    "prettier": "^3.0.3",
    "ramda": "^0.29.1",
    "sinon": "^17.0.0",
    "sinon-chai": "^3.7.0",
    "supertest": "^7.2.2",
    "ts-node": "^10.9.1",
    "typescript": "^5.5.4",
    "vite": "^4.5.0",
    "webdriverio": "^8.20.4"
  },
  "appium": {
    "pluginName": "xenon",
    "mainClass": "XenonPlugin",
    "schema": "schema.json"
  },
  "engines": {
    "node": "^14.17.0 || ^16.13.0 || >=18.0.0",
    "npm": ">=8"
  },
  "lint-staged": {
    "src/*.{js,jsx,ts,tsx,json,css,scss,md}": [
      "npm run prettier",
      "git add"
    ]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "npm run test"
    }
  },
  "files": [
    "lib",
    "scripts",
    "prisma",
    "schema.json"
  ],
  "typedoc": {
    "entryPoint": "lib/src/index.js"
  }
}
