Files
markov-discord/package.json
pacnpal 1f0a2573c4 feat: Implement optimization plan for Markov Discord bot
- Added `optimization-plan.md` detailing strategies to reduce response latency and improve training throughput.
- Enhanced performance analysis in `performance-analysis.md` with identified bottlenecks and completed optimizations.
- Created `productContext.md` summarizing project goals, user scenarios, and implementation priorities.
- Developed `markov-store.ts` for high-performance serialized chain storage with alias method sampling.
- Implemented database performance indexes in `1704067200000-AddPerformanceIndexes.ts`.
- Introduced `markov-worker.ts` for handling CPU-intensive operations in separate threads.
- Established a worker pool in `worker-pool.ts` to manage multiple worker threads efficiently.
2025-09-25 13:39:22 -04:00

80 lines
2.2 KiB
JSON
Executable File

{
"name": "markov-discord",
"version": "2.3.0",
"description": "A conversational Markov chain bot for Discord",
"main": "dist/index.js",
"scripts": {
"start": "pm2 start --no-daemon dist/index.js",
"start:ts": "ts-node src/index.ts",
"build": "rimraf build && tsc",
"lint": "tsc --noEmit && eslint .",
"docker:build": "docker build . -t charlocharlie/markov-discord:latest --target deploy",
"docker:run": "docker run --rm -ti -v $(pwd)/config:/usr/app/config charlocharlie/markov-discord:latest",
"typeorm": "npx typeorm-cli",
"docs": "typedoc --out docs src/config/classes.ts"
},
"repository": "https://github.com/claabs/markov-discord.git",
"keywords": [
"discord",
"markov",
"chain",
"markov-chain",
"bot",
"discord-js",
"discord-bot",
"markov-chain-bot",
"docker"
],
"author": {
"name": "Charlie Laabs",
"url": "https://github.com/claabs"
},
"license": "MIT",
"dependencies": {
"@types/stream-json": "^1.7.8",
"better-sqlite3": "^12.4.1",
"bufferutil": "^4.0.9",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2",
"date-fns": "^4.1.0",
"discord.js": "^14.22.1",
"dotenv": "^17.2.2",
"fs-extra": "^11.3.2",
"json5": "^2.2.3",
"markov-strings-db": "^4.3.0",
"node-fetch": "^3.3.2",
"node-gyp": "^11.4.2",
"pino": "^9.11.0",
"pino-pretty": "^13.1.1",
"reflect-metadata": "^0.2.2",
"simple-eta": "^3.0.2",
"source-map-support": "^0.5.21",
"stream-json": "^1.9.1",
"typeorm": "^0.3.27",
"utf-8-validate": "^6.0.5",
"zlib-sync": "^0.1.10"
},
"devDependencies": {
"@types/fs-extra": "^11.0.4",
"@types/node": "^24.5.2",
"@types/validator": "^13.15.3",
"@typescript-eslint/eslint-plugin": "^8.44.1",
"@typescript-eslint/parser": "^8.44.1",
"eslint": "^9.36.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-prettier": "^5.5.4",
"pm2": "^6.0.13",
"prettier": "^3.6.2",
"rimraf": "^6.0.1",
"ts-node": "^10.9.2",
"typedoc": "^0.28.13",
"types-package-json": "^2.0.39",
"typescript": "~5.9.2"
},
"engines": {
"node": ">=20"
}
}