@exulu/backend 0.3.12 → 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.
@@ -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
- A comprehensive TypeScript package providing integrations and utilities for modern web applications.
3
+ <div align="center">
4
4
 
5
- ## Features
5
+ ![Exulu Logo](frontend/public/exulu_logo.svg)
6
6
 
7
- - 🔐 Authentication and Authorization
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
- ## Installation
9
+ [![Node.js](https://img.shields.io/badge/Node.js-20.10.0-green.svg)](https://nodejs.org/)
10
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.8.3-blue.svg)](https://www.typescriptlang.org/)
11
+ [![License](https://img.shields.io/badge/License-Private-red.svg)](LICENSE)
18
12
 
19
- ```bash
20
- npm install exulu
21
- ```
13
+ </div>
22
14
 
23
- ## Quick Start
15
+ ## 🚀 Overview
24
16
 
25
- ```typescript
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
- // Your implementation here
29
- ```
19
+ ### Key Features
30
20
 
31
- ## Dependencies
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
- This package requires the following peer dependencies:
34
- - TypeScript ^5.8.3
32
+ ## 🏗️ Architecture
35
33
 
36
- ## Development
34
+ The overall project is organized into 5 main repositories:
37
35
 
38
- 1. Clone the repository
39
- 2. Install dependencies:
40
- ```bash
41
- npm install
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
- 3. Build the package:
99
+ ### Using the CLI
100
+
45
101
  ```bash
46
- npm run build
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
- ## Project Structure
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
- src/
53
- ├── auth.ts # Authentication utilities
54
- ├── core-schema.ts # Core GraphQL schema definitions
55
- ├── types/ # TypeScript type definitions
56
- ├── registry/ # Registry related functionality
57
- ├── postgres/ # PostgreSQL database integrations
58
- ├── redis/ # Redis client and utilities
59
- ├── bullmq/ # Queue management
60
- ├── mcp/ # MCP related functionality
61
- ├── chunking/ # Data chunking utilities
62
- └── evals/ # Evaluation utilities
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
- ## License
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
- Private - Qventu Bv.
172
+ <div align="center">
68
173
 
69
- ## Author
174
+ **Exulu** - Intelligence Management Platform
70
175
 
71
- Qventu Bv.
176
+ </div>
@@ -0,0 +1,4 @@
1
+ export default {
2
+ extends: ['@commitlint/config-conventional'],
3
+ parserPreset: "conventional-changelog-atom"
4
+ };