{ "name": "leon", "version": "1.0.0-beta.9+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\"", "dev:server:no-lint": "npm run train && npm run generate:skills-endpoints && cross-env LEON_NODE_ENV=development \"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", "generate:json-schemas": "ts-node scripts/generate/run-generate-json-schemas.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 --project tsconfig.json && 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:nodejs-bridge": "ts-node scripts/build-binaries.js nodejs-bridge", "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/pre-check.js && node server/dist/index.js", "python-bridge": "cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile pipenv run python bridges/python/src/main.py server/src/intent-object.sample.json", "train": "ts-node scripts/train/run-train.js", "prepare-release": "ts-node scripts/release/prepare-release.js", "skill-package": "ts-node scripts/skill-package.js", "pre-release:nodejs-bridge": "ts-node scripts/release/pre-release-binaries.js nodejs-bridge", "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/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.9.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", "@segment/ajv-human-errors": "2.1.2", "@sinclair/typebox": "0.25.8", "ajv": "8.11.0", "ajv-formats": "2.1.1", "archiver": "5.3.1", "async": "3.2.4", "axios": "1.1.2", "cross-env": "7.0.3", "dayjs": "1.11.5", "dotenv": "10.0.0", "execa": "5.0.0", "extract-zip": "2.0.1", "fastify": "4.15.0", "fluent-ffmpeg": "2.1.2", "getos": "3.2.1", "googleapis": "67.1.1", "ibm-watson": "6.1.1", "node-wav": "0.0.2", "os-name": "4.0.1", "pretty-bytes": "5.6.0", "pretty-ms": "7.0.1", "react": "18.2.0", "react-dom": "18.2.0", "socket.io": "4.5.2", "socket.io-client": "4.5.2", "stt": "1.4.0", "tree-kill": "1.2.2" }, "devDependencies": { "@nlpjs/utils": "4.24.1", "@swc/core": "1.3.14", "@tsconfig/node16-strictest": "1.0.4", "@types/archiver": "5.3.2", "@types/cli-spinner": "0.2.1", "@types/fluent-ffmpeg": "2.1.20", "@types/getos": "3.0.1", "@types/node": "18.7.13", "@types/node-wav": "0.0.0", "@types/react": "18.2.6", "@types/react-dom": "18.2.4", "@typescript-eslint/eslint-plugin": "5.55.0", "@typescript-eslint/parser": "5.55.0", "@vercel/ncc": "0.36.1", "@vitejs/plugin-react": "4.0.0", "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.8.7", "resolve-tspaths": "0.8.8", "semver": "7.3.5", "shx": "0.3.3", "ts-node": "10.9.1", "tsc-watch": "6.0.0", "tsconfig-paths": "4.1.2", "typescript": "5.0.2", "vite": "4.3.5" } }