tpmjs/apps/web/package.json
Ajax Davis 552f319583 feat: add AI Agents feature with multi-provider support and documentation
- Add Agent, AgentCollection, AgentTool, UserApiKey, Conversation, Message models to Prisma schema
- Create agent types and Zod schemas in @tpmjs/types
- Implement AES-256 API key encryption utilities
- Add CRUD API endpoints for agents, tools, collections, and user API keys
- Create conversation streaming endpoint with SSE events
- Build agent tool builder to merge collections and individual tools
- Add dashboard pages: agents list, new agent form, agent detail/edit, chat interface
- Add API keys settings page for managing provider keys
- Add comprehensive Agents documentation section to /docs
- Update navigation to include Agents link in header and mobile menu
- Add new icons: terminal, puzzle, message, key, info, send

Supported providers: OpenAI, Anthropic, Google, Groq, Mistral
2026-01-02 20:08:52 +10:00

74 lines
2.2 KiB
JSON

{
"name": "@tpmjs/web",
"version": "0.0.0",
"private": true,
"scripts": {
"postinstall": "prisma generate --schema=../../packages/db/prisma/schema.prisma",
"dev": "npx @react-grab/claude-code@latest && next dev",
"build": "prisma generate --schema=../../packages/db/prisma/schema.prisma && next build",
"start": "next start",
"lint": "eslint .",
"type-check": "tsc --noEmit",
"clean": "rm -rf .next .turbo",
"test": "vitest run",
"test:watch": "vitest",
"generate-og": "tsx scripts/generate-og-images.ts"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.2",
"@ai-sdk/google": "^3.0.2",
"@ai-sdk/groq": "^3.0.2",
"@ai-sdk/mistral": "^3.0.2",
"@ai-sdk/openai": "3.0.1",
"@modelcontextprotocol/sdk": "^1.25.1",
"@prisma/client": "^6.19.0",
"@tpmjs/db": "workspace:*",
"@tpmjs/env": "workspace:*",
"@tpmjs/npm-client": "workspace:*",
"@tpmjs/package-executor": "workspace:*",
"@tpmjs/types": "workspace:*",
"@tpmjs/ui": "workspace:*",
"@tpmjs/utils": "workspace:*",
"@types/d3": "^7.4.3",
"@types/react-syntax-highlighter": "^15.5.13",
"@vercel/analytics": "^1.6.1",
"@vercel/blob": "^2.0.0",
"@vercel/kv": "^3.0.0",
"ai": "6.0.3",
"better-auth": "^1.4.10",
"bm25": "^0.1.1",
"d3": "^7.9.0",
"next": "^16.0.8",
"next-themes": "^0.4.6",
"openai": "^6.9.1",
"prisma": "^6.19.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-markdown": "^10.1.0",
"react-syntax-highlighter": "^16.1.0",
"react-virtuoso": "^4.18.1",
"rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1",
"resend": "^6.6.0",
"zod": "^4.0.0"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.19",
"@tpmjs/eslint-config": "workspace:*",
"@tpmjs/tailwind-config": "workspace:*",
"@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
"autoprefixer": "^10.4.20",
"dotenv": "^17.2.3",
"eslint": "^9.39.1",
"eslint-config-next": "^16.0.4",
"postcss": "^8.5.1",
"tailwindcss": "^3.4.17",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vitest": "^2.1.9"
}
}