@exulu/backend 0.3.13 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +38 -0
- package/.husky/commit-msg +1 -0
- package/CHANGELOG.md +45 -0
- package/README.md +152 -47
- package/commitlint.config.js +4 -0
- package/dist/index.cjs +799 -459
- package/dist/index.d.cts +46 -42
- package/dist/index.d.ts +46 -42
- package/dist/index.js +799 -458
- package/package.json +98 -88
- package/release.config.cjs +9 -0
- package/types/models/user.ts +1 -0
- package/git-conventional-commits.yaml +0 -43
- package/types/models/embedder-backend.ts +0 -15
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main # or main
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read # for checkout
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
release:
|
|
12
|
+
name: Release
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write # to be able to publish a GitHub release
|
|
16
|
+
issues: write # to be able to comment on released issues
|
|
17
|
+
pull-requests: write # to be able to comment on released pull requests
|
|
18
|
+
id-token: write # to enable use of OIDC for npm provenance
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 0
|
|
24
|
+
- name: Setup Node.js
|
|
25
|
+
uses: actions/setup-node@v4
|
|
26
|
+
with:
|
|
27
|
+
node-version: "20.10.0"
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: npm clean-install
|
|
30
|
+
- name: Build
|
|
31
|
+
run: npm run build
|
|
32
|
+
# - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
|
|
33
|
+
# run: npm audit signatures
|
|
34
|
+
- name: Release
|
|
35
|
+
env:
|
|
36
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
37
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
38
|
+
run: HUSKY=0 npm run semantic-release
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npx --no -- commitlint --edit $1
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# [1.2.0](https://github.com/Qventu/exulu-backend/compare/v1.1.0...v1.2.0) (2025-07-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* removed release.rc ([32d581f](https://github.com/Qventu/exulu-backend/commit/32d581fb642b3e829bb47224006ffc6afc3f5d36))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* add npm plugin for semantic release ([a4168d0](https://github.com/Qventu/exulu-backend/commit/a4168d0e6dfe36b10986cc6d11c01b69b1dc13e3))
|
|
12
|
+
* running semantic release via npm ([3ce05e7](https://github.com/Qventu/exulu-backend/commit/3ce05e791290c9ce6451a8855983907b41eb0aeb))
|
|
13
|
+
|
|
14
|
+
# [1.1.0](https://github.com/Qventu/exulu-backend/compare/v1.0.1...v1.1.0) (2025-07-30)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add npm plugin for semantic release ([efcdc77](https://github.com/Qventu/exulu-backend/commit/efcdc779e6864f87eb4f6ae021dc03b00408d014))
|
|
20
|
+
|
|
21
|
+
## [1.0.1](https://github.com/Qventu/exulu-backend/compare/v1.0.0...v1.0.1) (2025-07-30)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* add npm plugin for semantic release ([92cb0b2](https://github.com/Qventu/exulu-backend/commit/92cb0b2f00f125d429b94fef19e58caf5f2c41ab))
|
|
27
|
+
|
|
28
|
+
# 1.0.0 (2025-07-30)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* added missing semantic release changelog dependency ([9001711](https://github.com/Qventu/exulu-backend/commit/9001711c6cc83de6750f3cf2c6e50c559a649ae5))
|
|
34
|
+
* added missing semantic release changelog dependency ([0ea5923](https://github.com/Qventu/exulu-backend/commit/0ea592374c59d099be61dd30773b4e8ae0076470))
|
|
35
|
+
* disable npm audit signatures ([fa4554b](https://github.com/Qventu/exulu-backend/commit/fa4554b75e18321c71a3ce1f0ea47ee0bd7f5b56))
|
|
36
|
+
* remove @panva/hkdf dependency as it is no longer used ([b952625](https://github.com/Qventu/exulu-backend/commit/b952625e25317136fcfcad2b83cd4684a1017edc))
|
|
37
|
+
* skip husky hook when running semantic release ([952b055](https://github.com/Qventu/exulu-backend/commit/952b0550c2f7efd23d6d14ce29a17000a5b1cee8))
|
|
38
|
+
* skip husky hook when running semantic release ([d57af11](https://github.com/Qventu/exulu-backend/commit/d57af115ca95c1d5e0a8d8b59d2f2861fd6e4aa6))
|
|
39
|
+
* skip husky hook when running semantic release ([22d970c](https://github.com/Qventu/exulu-backend/commit/22d970c86e6e63b4848b69accd8dc74eb77a9829))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Features
|
|
43
|
+
|
|
44
|
+
* automated npm publish ([d7d533f](https://github.com/Qventu/exulu-backend/commit/d7d533fbdc147d97d8059214db8deb5762fb4400))
|
|
45
|
+
* automated npm publish ([8fa0d66](https://github.com/Qventu/exulu-backend/commit/8fa0d668635640ce044554a3d90aef8138b06a6d))
|
package/README.md
CHANGED
|
@@ -1,71 +1,176 @@
|
|
|
1
|
-
# Exulu
|
|
1
|
+
# Exulu - AI Agent Management Platform
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+

|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- 🗄️ Database Integrations (PostgreSQL with pgvector support)
|
|
9
|
-
- 🔄 Redis Integration
|
|
10
|
-
- 📊 BullMQ Queue Management
|
|
11
|
-
- 🤖 AI and RAG (Retrieval-Augmented Generation) Capabilities
|
|
12
|
-
- 📝 GraphQL Support with Apollo Server
|
|
13
|
-
- 🔄 Express Integration
|
|
14
|
-
- 📦 AWS S3 Integration
|
|
15
|
-
- 🔒 JWT and NextAuth Support
|
|
7
|
+
**A powerful platform for creating, managing, and orchestrating AI agents with enterprise-grade features**
|
|
16
8
|
|
|
17
|
-
|
|
9
|
+
[](https://nodejs.org/)
|
|
10
|
+
[](https://www.typescriptlang.org/)
|
|
11
|
+
[](LICENSE)
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
npm install exulu
|
|
21
|
-
```
|
|
13
|
+
</div>
|
|
22
14
|
|
|
23
|
-
##
|
|
15
|
+
## 🚀 Overview
|
|
24
16
|
|
|
25
|
-
|
|
26
|
-
import { /* your imports */ } from 'exulu';
|
|
17
|
+
Exulu is a comprehensive AI agent management platform that enables you to create, deploy, and orchestrate intelligent agents with enterprise-grade features. Built with TypeScript, it provides a robust backend infrastructure and modern frontend interface for seamless agent management and interaction.
|
|
27
18
|
|
|
28
|
-
|
|
29
|
-
```
|
|
19
|
+
### Key Features
|
|
30
20
|
|
|
31
|
-
|
|
21
|
+
- 🤖 **AI Agent Management**: Create and manage multiple AI agents with different capabilities
|
|
22
|
+
- 🔧 **Tool Integration**: Extend agent capabilities with custom tools and workflows
|
|
23
|
+
- 🗄️ **Vector Database**: PostgreSQL with pgvector for semantic search and RAG
|
|
24
|
+
- 📊 **Queue Management**: BullMQ for background job processing
|
|
25
|
+
- 🔐 **Authentication**: JWT and NextAuth support with role-based access
|
|
26
|
+
- 📝 **GraphQL API**: Flexible API with Apollo Server integration
|
|
27
|
+
- 🎯 **Agent Evaluation**: Built-in evaluation framework for agent performance
|
|
28
|
+
- 🔄 **Workflow Orchestration**: Create complex multi-agent workflows
|
|
29
|
+
- 📦 **File Management**: S3-compatible storage with Uppy integration
|
|
30
|
+
- 🎨 **Modern UI**: Next.js frontend.
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
- TypeScript ^5.8.3
|
|
32
|
+
## 🏗️ Architecture
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
The overall project is organized into 5 main repositories:
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
|
|
37
|
+
1. Backend: Express.js server with endpoints for agents, contexts, jobs, users, roles and workflows.
|
|
38
|
+
2. Frontend: Next.js application.
|
|
39
|
+
3. Example: example Exulu implementation with example agents, contexts and tools.
|
|
40
|
+
4. CLI: command-line interface tools.
|
|
41
|
+
5. Tools: catalogue of ExuluTools that can be installed and added to agents.
|
|
42
|
+
6. Agents: catalogue of template agents you can install and add to your Exulu instance.
|
|
43
|
+
|
|
44
|
+
### Core Components
|
|
45
|
+
|
|
46
|
+
- **ExuluApp**: Main application class that initializes the platform
|
|
47
|
+
- **Agents**: AI agent definitions with configurable capabilities
|
|
48
|
+
- **Tools**: Available actions and utilities for agents
|
|
49
|
+
- **Contexts**: Vectorized knowledge sources agents can search through and use in their reasoning and response
|
|
50
|
+
- **Workflows**: Predefined agent interaction patterns
|
|
51
|
+
- **Embedders**: Text embedding models for semantic search
|
|
52
|
+
|
|
53
|
+
## 🛠️ Prerequisites
|
|
54
|
+
|
|
55
|
+
- **Node.js** (v20.10.0 or higher)
|
|
56
|
+
- **PostgreSQL** with pgvector extension
|
|
57
|
+
- **Redis** (optional, for BullMQ workers)
|
|
58
|
+
- **Docker** (optional, for containerized deployment)
|
|
59
|
+
|
|
60
|
+
## 📚 Usage Examples
|
|
61
|
+
|
|
62
|
+
### Creating an Agent
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
import { ExuluApp, ExuluAgent } from "@exulu/backend";
|
|
66
|
+
|
|
67
|
+
const exulu = new ExuluApp();
|
|
68
|
+
|
|
69
|
+
const myAgent = new ExuluAgent({
|
|
70
|
+
id: "my-custom-agent",
|
|
71
|
+
name: "My Custom Agent",
|
|
72
|
+
description: "A custom AI agent for specific tasks",
|
|
73
|
+
type: "agent",
|
|
74
|
+
capabilities: {
|
|
75
|
+
tools: true,
|
|
76
|
+
images: [],
|
|
77
|
+
files: [],
|
|
78
|
+
audio: [],
|
|
79
|
+
video: []
|
|
80
|
+
},
|
|
81
|
+
config: {
|
|
82
|
+
model: "gpt-4",
|
|
83
|
+
// ... other configuration
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
const server = await exulu.create({
|
|
88
|
+
config: {
|
|
89
|
+
workers: { enabled: false },
|
|
90
|
+
MCP: { enabled: true }
|
|
91
|
+
},
|
|
92
|
+
contexts: [],
|
|
93
|
+
tools: [],
|
|
94
|
+
agents: [myAgent],
|
|
95
|
+
workflows: []
|
|
96
|
+
});
|
|
42
97
|
```
|
|
43
98
|
|
|
44
|
-
|
|
99
|
+
### Using the CLI
|
|
100
|
+
|
|
45
101
|
```bash
|
|
46
|
-
|
|
102
|
+
# Install CLI globally
|
|
103
|
+
npm install -g @exulu/cli
|
|
104
|
+
|
|
105
|
+
# Run CLI
|
|
106
|
+
exulu
|
|
107
|
+
|
|
108
|
+
# Available commands:
|
|
109
|
+
# - Start Claude Code
|
|
110
|
+
# - List agents
|
|
111
|
+
# - List contexts
|
|
47
112
|
```
|
|
48
113
|
|
|
49
|
-
##
|
|
114
|
+
## 🔧 Configuration
|
|
115
|
+
|
|
116
|
+
### Environment Variables
|
|
117
|
+
|
|
118
|
+
Create `.env` files in both `frontend/` and `backend/` directories. Use the `.env.preview` files for reference.
|
|
119
|
+
|
|
120
|
+
#### Backend Environment Variables
|
|
50
121
|
|
|
122
|
+
```env
|
|
123
|
+
# Database
|
|
124
|
+
DATABASE_URL=postgresql://username:password@localhost:5432/exulu
|
|
125
|
+
REDIS_URL=redis://localhost:6379
|
|
126
|
+
|
|
127
|
+
# Authentication
|
|
128
|
+
JWT_SECRET=your-jwt-secret
|
|
129
|
+
NEXTAUTH_SECRET=your-nextauth-secret
|
|
130
|
+
|
|
131
|
+
# AI Providers
|
|
132
|
+
OPENAI_API_KEY=your-openai-key
|
|
133
|
+
ANTHROPIC_API_KEY=your-anthropic-key
|
|
134
|
+
|
|
135
|
+
# File Storage
|
|
136
|
+
S3_BUCKET=your-s3-bucket
|
|
137
|
+
S3_REGION=your-s3-region
|
|
138
|
+
AWS_ACCESS_KEY_ID=your-aws-key
|
|
139
|
+
AWS_SECRET_ACCESS_KEY=your-aws-secret
|
|
51
140
|
```
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
141
|
+
|
|
142
|
+
#### Frontend Environment Variables
|
|
143
|
+
|
|
144
|
+
```env
|
|
145
|
+
# API Configuration
|
|
146
|
+
NEXT_PUBLIC_API_URL=http://localhost:9001
|
|
147
|
+
NEXT_PUBLIC_GRAPHQL_URL=http://localhost:9001/graphql
|
|
148
|
+
|
|
149
|
+
# Authentication
|
|
150
|
+
NEXTAUTH_URL=http://localhost:3020
|
|
151
|
+
NEXTAUTH_SECRET=your-nextauth-secret
|
|
63
152
|
```
|
|
64
153
|
|
|
65
|
-
|
|
154
|
+
### Development Guidelines
|
|
155
|
+
|
|
156
|
+
- Follow TypeScript best practices
|
|
157
|
+
- Use conventional commits
|
|
158
|
+
- Write comprehensive tests
|
|
159
|
+
- Update documentation
|
|
160
|
+
- Follow the existing code style
|
|
161
|
+
|
|
162
|
+
## 📄 License
|
|
163
|
+
|
|
164
|
+
This project is licensed under a private license - see the [LICENSE](LICENSE) file for details.
|
|
165
|
+
|
|
166
|
+
## 👥 Authors
|
|
167
|
+
|
|
168
|
+
- **Qventu Bv.** - *Initial work*
|
|
169
|
+
|
|
170
|
+
---
|
|
66
171
|
|
|
67
|
-
|
|
172
|
+
<div align="center">
|
|
68
173
|
|
|
69
|
-
|
|
174
|
+
**Exulu** - Intelligence Management Platform
|
|
70
175
|
|
|
71
|
-
|
|
176
|
+
</div>
|