75 lines
2.9 KiB
JSON
75 lines
2.9 KiB
JSON
{
|
||
"name": "ra-h-open-source",
|
||
"version": "0.1.0",
|
||
"private": false,
|
||
"description": "RA-H Open Source – local-first research workspace with BYO API keys",
|
||
"license": "MIT",
|
||
"author": "Bradley Morris",
|
||
"scripts": {
|
||
"bootstrap:local": "node ./scripts/dev/bootstrap-local.mjs",
|
||
"setup:local": "node ./scripts/dev/setup-local.mjs",
|
||
"dev": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next dev",
|
||
"dev:local": "npm run dev",
|
||
"dev:evals": "cross-env RAH_EVALS_LOG=1 NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next dev",
|
||
"clean:local": "bash ./scripts/dev/clean-local-artifacts.sh",
|
||
"audit:repo": "bash ./scripts/dev/audit-repo.sh",
|
||
"build": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next build",
|
||
"start": "cross-env NEXT_PUBLIC_DEPLOYMENT_MODE=local NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND=false NODE_OPTIONS=--dns-result-order=ipv4first next start",
|
||
"lint": "next lint",
|
||
"type-check": "tsc --noEmit",
|
||
"setup": "npm install",
|
||
"sqlite:backup": "bash scripts/database/sqlite-backup.sh",
|
||
"sqlite:restore": "bash scripts/database/sqlite-restore.sh",
|
||
"doctor:local-ai": "tsx scripts/doctor-local-ai.ts",
|
||
"rebuild:embeddings": "tsx scripts/rebuild-embeddings.ts",
|
||
"test": "vitest run",
|
||
"test:watch": "vitest",
|
||
"evals": "cross-env RAH_EVALS_LOG=1 RAH_EVALS_TIMEOUT_MS=60000 tsx tests/evals/runner.ts",
|
||
"skills:sync": "node scripts/dev/sync-skills.mjs",
|
||
"skills:lint": "node scripts/dev/sync-skills.mjs --check"
|
||
},
|
||
"dependencies": {
|
||
"@ai-sdk/openai": "^3.0.7",
|
||
"@langchain/core": "^1.0.1",
|
||
"@langchain/textsplitters": "^1.0.1",
|
||
"@modelcontextprotocol/sdk": "^1.25.3",
|
||
"@tiptap/react": "^3.20.4",
|
||
"@tiptap/starter-kit": "^3.20.4",
|
||
"@xyflow/react": "^12.10.0",
|
||
"ai": "^6.0.27",
|
||
"better-sqlite3": "^12.2.0",
|
||
"cheerio": "^1.1.2",
|
||
"gray-matter": "^4.0.3",
|
||
"lucide-react": "^0.468.0",
|
||
"next": "^15.1.12",
|
||
"openai": "^4.103.0",
|
||
"pdf-parse": "^1.1.1",
|
||
"pdfjs-dist": "^5.4.296",
|
||
"react": "^19.0.1",
|
||
"react-dom": "^19.0.1",
|
||
"react-markdown": "^10.1.0",
|
||
"remark-gfm": "^4.0.1",
|
||
"tiptap-markdown": "^0.9.0",
|
||
"youtube-transcript": "^1.2.1",
|
||
"youtube-transcript-plus": "^1.1.1",
|
||
"zod": "^3.25.76"
|
||
},
|
||
"devDependencies": {
|
||
"@types/better-sqlite3": "^7.6.13",
|
||
"@types/node": "22.10.2",
|
||
"@types/react": "^19.0.2",
|
||
"@types/react-dom": "19.0.2",
|
||
"autoprefixer": "^10.4.20",
|
||
"cross-env": "^10.0.0",
|
||
"esbuild": "^0.23.1",
|
||
"eslint": "^8.57.0",
|
||
"eslint-config-next": "^15.1.12",
|
||
"postcss": "^8.4.49",
|
||
"prettier": "^3.3.3",
|
||
"tailwindcss": "^3.4.17",
|
||
"tsx": "^4.19.4",
|
||
"typescript": "^5.7.2",
|
||
"vitest": "^3.2.4"
|
||
}
|
||
}
|