{ "name": "leon", "version": "1.0.0-beta.8+dev", "description": "Server, skills and web app of the Leon personal assistant", "author": { "name": "Louis Grenard", "email": "louis@getleon.ai", "url": "https://twitter.com/grenlouis" }, "license": "MIT", "homepage": "https://getleon.ai", "repository": { "type": "git", "url": "git+https://github.com/leon-ai/leon.git" }, "bugs": { "url": "https://github.com/leon-ai/leon/issues" }, "engines": { "node": ">=16.0.0", "npm": ">=8.0.0" }, "scripts": { "lint": "ts-node scripts/lint.js", "test": "npm run test:json && npm run test:over-http && npm run test:unit && npm run test:e2e", "test:unit": "npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --projects test/unit/unit.jest.json && npm run train", "test:e2e": "npm run test:e2e:nlp-modules && npm run test:e2e:modules", "test:e2e:modules": "ts-node scripts/run-clean-test-dbs.js && npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --verbose --projects test/e2e/modules/e2e.modules.jest.json && ts-node scripts/run-clean-test-dbs.js && npm run train", "test:e2e:nlp-modules": "npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --verbose --setupTestFrameworkScriptFile=./test/paths.setup.js test/e2e/nlp-modules.spec.js && npm run train", "test:json": "jest --silent --projects test/json/json.jest.json", "test:over-http": "npm run generate:skills-endpoints && npm run train && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing LEON_HOST=http://localhost LEON_PORT=1338 LEON_HTTP_API_KEY=72aeb5ba324580963114481144385d7179c106fc jest --forceExit --silent --verbose --notify=false --bail --collectCoverage=false test/e2e/over-http.spec.js", "test:module": "ts-node scripts/test-module.js", "setup:offline": "ts-node scripts/setup-offline/setup-offline.js", "setup:offline-stt": "ts-node scripts/setup-offline/run-setup-stt.js", "setup:offline-tts": "ts-node scripts/setup-offline/run-setup-tts.js", "setup:offline-hotword": "ts-node scripts/setup-offline/run-setup-hotword.js", "setup:python-bridge": "ts-node scripts/setup/setup-python-dev-env.js python-bridge", "setup:tcp-server": "ts-node scripts/setup/setup-python-dev-env.js tcp-server", "preinstall": "node scripts/setup/preinstall.js", "postinstall": "ts-node scripts/setup/setup.js", "dev:app": "vite --config app/vite.config.js", "dev:server": "npm run train && npm run generate:skills-endpoints && cross-env LEON_NODE_ENV=development tsc-watch --noClear --onSuccess \"nodemon\"", "wake": "cross-env LEON_HOST=http://localhost LEON_PORT=1337 node hotword/index.js", "delete-dist:server": "shx rm -rf ./server/dist", "clean:python-deps": "shx rm -rf ./bridges/python/src/.venv && npm run postinstall", "prepare": "husky install", "generate:skills-endpoints": "ts-node scripts/generate/run-generate-skills-endpoints.js", "generate:http-api-key": "ts-node scripts/generate/run-generate-http-api-key.js", "build": "npm run build:app && npm run build:server", "build:app": "cross-env LEON_NODE_ENV=production ts-node scripts/app/run-build-app.js", "build:server": "npm run delete-dist:server && npm run train && npm run generate:skills-endpoints && tsc && resolve-tspaths && shx rm -rf server/dist/core server/dist/package.json && shx mv -f server/dist/server/src/* server/dist && shx rm -rf server/dist/server && shx mkdir -p server/dist/tmp", "build:python-bridge": "ts-node scripts/build-binaries.js python-bridge", "build:tcp-server": "ts-node scripts/build-binaries.js tcp-server", "start:tcp-server": "cross-env PIPENV_PIPFILE=tcp_server/src/Pipfile pipenv run python tcp_server/src/main.py", "start": "cross-env LEON_NODE_ENV=production node ./server/dist/index.js", "train": "ts-node scripts/train/run-train.js", "prepare-release": "ts-node scripts/release/prepare-release.js", "pre-release:python-bridge": "ts-node scripts/release/pre-release-binaries.js python-bridge", "pre-release:tcp-server": "ts-node scripts/release/pre-release-binaries.js tcp-server", "check": "ts-node scripts/run-check.js", "docker:build": "docker build -t leon-ai/leon .", "docker:run": "docker compose up", "docker:dev": "docker compose --file=docker-compose.dev.yml up", "docker:check": "docker run --rm --interactive leon-ai/leon npm run check" }, "dependencies": { "@aws-sdk/client-polly": "^3.18.0", "@fastify/static": "^6.5.0", "@ffmpeg-installer/ffmpeg": "^1.1.0", "@ffprobe-installer/ffprobe": "^1.4.1", "@google-cloud/speech": "^4.2.0", "@google-cloud/text-to-speech": "^3.2.1", "@nlpjs/builtin-microsoft": "^4.22.7", "@nlpjs/core-loader": "^4.22.7", "@nlpjs/lang-all": "^4.22.12", "@nlpjs/nlp": "^4.22.17", "archiver": "^5.3.1", "async": "^3.2.0", "cross-env": "^7.0.3", "dayjs": "^1.11.5", "dotenv": "^10.0.0", "execa": "^5.0.0", "fastify": "^4.5.3", "fluent-ffmpeg": "^2.1.2", "googleapis": "^67.1.1", "ibm-watson": "^6.1.1", "node-wav": "0.0.2", "pretty-bytes": "^5.6.0", "socket.io": "^4.5.2", "socket.io-client": "^4.5.2", "stt": "^1.4.0", "superagent": "^8.0.0", "tree-kill": "^1.2.2" }, "devDependencies": { "@nlpjs/utils": "^4.24.1", "@swc/core": "^1.2.245", "@tsconfig/node16-strictest": "^1.0.3", "@types/cli-spinner": "0.2.1", "@types/node": "^18.7.13", "@typescript-eslint/eslint-plugin": "^5.36.1", "@typescript-eslint/parser": "^5.36.1", "cli-spinner": "^0.2.10", "eslint": "8.22.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^3.5.1", "eslint-plugin-import": "^2.26.0", "eslint-plugin-unicorn": "43.0.2", "git-changelog": "^2.0.0", "husky": "^7.0.0", "inquirer": "^8.1.0", "jest": "^27.4.7", "jest-canvas-mock": "^2.3.1", "jest-extended": "^2.0.0", "json": "^10.0.0", "lint-staged": "^13.0.3", "nodemon": "^2.0.19", "prettier": "2.7.1", "resolve-tspaths": "^0.7.4", "semver": "^7.3.5", "shx": "^0.3.3", "ts-node": "^10.9.1", "tsc-watch": "^5.0.3", "tsconfig-paths": "^4.1.0", "typescript": "^4.8.2", "vite": "^3.0.9" } }