75 lines
3.6 KiB
JSON
75 lines
3.6 KiB
JSON
{
|
|
"name": "ejclaw",
|
|
"version": "0.2.3",
|
|
"description": "Discord tribunal multi-agent assistant with owner, reviewer, and arbiter roles.",
|
|
"packageManager": "bun@1.3.11",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dashboard:dev": "vite --config apps/dashboard/vite.config.ts",
|
|
"dashboard:build": "vite build --config apps/dashboard/vite.config.ts",
|
|
"dashboard:preview": "vite preview --config apps/dashboard/vite.config.ts",
|
|
"dashboard:ux": "bun scripts/dashboard-ux.ts",
|
|
"install:runners": "bun install --frozen-lockfile --cwd runners/shared && bun install --frozen-lockfile --cwd runners/agent-runner && bun install --frozen-lockfile --cwd runners/codex-runner",
|
|
"build:runners": "bun run install:runners && bun run --cwd runners/shared build && bun run --cwd runners/agent-runner build && bun run --cwd runners/codex-runner build",
|
|
"build:all": "bun run build && bun run dashboard:build && bun run build:runners",
|
|
"build:runtime": "bun run build:all",
|
|
"verify:dist": "bash scripts/check-dist-fresh.sh",
|
|
"deploy": "git pull --ff-only && bun run build:all && bun run verify:dist && bun setup/index.ts --step migrate-room-registrations && systemctl --user restart ejclaw",
|
|
"start": "bun dist/index.js",
|
|
"dev": "bun --watch src/index.ts",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit",
|
|
"typecheck:all": "bun run install:runners && bunx tsc --noEmit -p tsconfig.check.json && bunx tsc --noEmit -p apps/dashboard/tsconfig.json && bunx tsc --noEmit -p runners/shared/tsconfig.json && bunx tsc --noEmit -p runners/agent-runner/tsconfig.json && bunx tsc --noEmit -p runners/codex-runner/tsconfig.json",
|
|
"lint": "eslint \"{src,setup,scripts,apps/dashboard/src,runners}/**/*.{ts,tsx,js,jsx}\" \"vitest*.ts\" --quiet",
|
|
"lint:report": "eslint \"{src,setup,scripts,apps/dashboard/src,runners}/**/*.{ts,tsx,js,jsx}\" \"vitest*.ts\"",
|
|
"lint:complexity": "bun scripts/check-code-quality.ts",
|
|
"quality:check": "bun run lint && bun run lint:complexity",
|
|
"format:fix": "prettier --write \"{src,setup,shared,test,scripts,apps}/**/*.{ts,tsx,js,jsx,css,html}\" \"runners/**/*.{ts,js}\" \"vitest*.ts\" \"eslint.config.js\"",
|
|
"format:check": "prettier --check \"{src,setup,shared,test,scripts,apps}/**/*.{ts,tsx,js,jsx,css,html}\" \"runners/**/*.{ts,js}\" \"vitest*.ts\" \"eslint.config.js\"",
|
|
"check": "bun run format:check && bun run quality:check && bun run typecheck:all && bun run test && bun run build:all",
|
|
"prepare": "husky",
|
|
"setup": "bun setup/index.ts"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
"cron-parser": "^5.5.0",
|
|
"discord.js": "^14.18.0",
|
|
"ejclaw-runners-shared": "file:./runners/shared",
|
|
"lucide-react": "^1.11.0",
|
|
"pino": "^9.6.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"react": "^19.2.5",
|
|
"react-dom": "^19.2.5",
|
|
"react-markdown": "^10.1.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"yaml": "^2.8.2",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@axe-core/playwright": "^4.11.3",
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/bun": "^1.3.11",
|
|
"@types/node": "^22.10.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"better-sqlite3": "^12.8.0",
|
|
"eslint": "^10.2.1",
|
|
"globals": "^17.5.0",
|
|
"husky": "^9.1.7",
|
|
"playwright": "^1.59.1",
|
|
"prettier": "^3.8.1",
|
|
"typescript": "^5.7.0",
|
|
"typescript-eslint": "^8.59.0",
|
|
"vite": "^8.0.10",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|