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
This commit is contained in:
Ajax Davis 2026-01-02 20:08:52 +10:00
parent 4cbd84edb8
commit 552f319583
28 changed files with 5082 additions and 2 deletions

55
pnpm-lock.yaml generated
View file

@ -223,6 +223,18 @@ importers:
apps/web:
dependencies:
'@ai-sdk/anthropic':
specifier: ^3.0.2
version: 3.0.2(zod@4.1.13)
'@ai-sdk/google':
specifier: ^3.0.2
version: 3.0.2(zod@4.1.13)
'@ai-sdk/groq':
specifier: ^3.0.2
version: 3.0.2(zod@4.1.13)
'@ai-sdk/mistral':
specifier: ^3.0.2
version: 3.0.2(zod@4.1.13)
'@ai-sdk/openai':
specifier: 3.0.1
version: 3.0.1(zod@4.1.13)
@ -3613,6 +3625,18 @@ packages:
peerDependencies:
zod: ^3.25.76 || ^4.1.8
'@ai-sdk/groq@3.0.2':
resolution: {integrity: sha512-Gs7Ir9cUSYlbDIArNMt3+0Ql+OrEKELQhYfji5CCxQ8MdcJGbhbyPf9AQralu9PMxq/QEy2JSOgYW5zOnHDd2g==}
engines: {node: '>=18'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
'@ai-sdk/mistral@3.0.2':
resolution: {integrity: sha512-I2wPbhh3uzSqPA/OdU+PNOT5RZMhnJz86wHhMq8KEDSQEo6kDt82X5OlpL3LFdG0wlPYfZZnWhKpDFn7lcy/2Q==}
engines: {node: '>=18'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
'@ai-sdk/openai@3.0.1':
resolution: {integrity: sha512-P+qxz2diOrh8OrpqLRg+E+XIFVIKM3z2kFjABcCJGHjGbXBK88AJqmuKAi87qLTvTe/xn1fhZBjklZg9bTyigw==}
engines: {node: '>=18'}
@ -11036,6 +11060,12 @@ snapshots:
'@ai-sdk/provider-utils': 4.0.2(zod@3.25.76)
zod: 3.25.76
'@ai-sdk/anthropic@3.0.2(zod@4.1.13)':
dependencies:
'@ai-sdk/provider': 3.0.1
'@ai-sdk/provider-utils': 4.0.2(zod@4.1.13)
zod: 4.1.13
'@ai-sdk/gateway@2.0.0-beta.68(effect@3.18.4)(zod@3.25.76)':
dependencies:
'@ai-sdk/provider': 3.0.0-beta.22
@ -11096,6 +11126,24 @@ snapshots:
'@ai-sdk/provider-utils': 4.0.2(zod@3.25.76)
zod: 3.25.76
'@ai-sdk/google@3.0.2(zod@4.1.13)':
dependencies:
'@ai-sdk/provider': 3.0.1
'@ai-sdk/provider-utils': 4.0.2(zod@4.1.13)
zod: 4.1.13
'@ai-sdk/groq@3.0.2(zod@4.1.13)':
dependencies:
'@ai-sdk/provider': 3.0.1
'@ai-sdk/provider-utils': 4.0.2(zod@4.1.13)
zod: 4.1.13
'@ai-sdk/mistral@3.0.2(zod@4.1.13)':
dependencies:
'@ai-sdk/provider': 3.0.1
'@ai-sdk/provider-utils': 4.0.2(zod@4.1.13)
zod: 4.1.13
'@ai-sdk/openai@3.0.1(zod@3.25.76)':
dependencies:
'@ai-sdk/provider': 3.0.0
@ -11170,6 +11218,13 @@ snapshots:
eventsource-parser: 3.0.6
zod: 3.25.76
'@ai-sdk/provider-utils@4.0.2(zod@4.1.13)':
dependencies:
'@ai-sdk/provider': 3.0.1
'@standard-schema/spec': 1.1.0
eventsource-parser: 3.0.6
zod: 4.1.13
'@ai-sdk/provider@1.1.3':
dependencies:
json-schema: 0.4.0