@exulu/backend 1.48.2 → 1.49.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/dist/index.cjs +351 -42
- package/dist/index.d.cts +96 -1
- package/dist/index.d.ts +96 -1
- package/dist/index.js +340 -38
- package/ee/{markdown.ts → chunking/markdown.ts} +2 -2
- package/ee/python/README.md +295 -0
- package/ee/python/documents/processing/README.md +155 -0
- package/ee/{documents → python/documents}/processing/doc_processor.ts +25 -17
- package/ee/{documents/processing/pdf_to_markdown.py → python/documents/processing/document_to_markdown.py} +3 -10
- package/ee/python/setup.sh +180 -0
- package/package.json +14 -3
- package/scripts/postinstall.cjs +149 -0
- package/.agents/skills/mintlify/SKILL.md +0 -347
- package/.editorconfig +0 -15
- package/.eslintrc.json +0 -52
- package/.github/workflows/release-backend.yml +0 -38
- package/.husky/commit-msg +0 -1
- package/.jscpd.json +0 -18
- package/.mcp.json +0 -25
- package/.nvmrc +0 -1
- package/.prettierignore +0 -5
- package/.prettierrc.json +0 -12
- package/CHANGELOG.md +0 -8
- package/SECURITY.md +0 -5
- package/commitlint.config.js +0 -4
- package/devops/documentation/patch-older-releases.md +0 -42
- package/ee/documents/processing/build_pdf_processor.sh +0 -35
- package/ee/documents/processing/chunk_markdown.py +0 -263
- package/ee/documents/processing/pdf_processor.spec +0 -115
- package/eslint.config.js +0 -88
- package/jest.config.ts +0 -25
- package/mintlify-docs/.mintignore +0 -7
- package/mintlify-docs/AGENTS.md +0 -33
- package/mintlify-docs/CLAUDE.MD +0 -50
- package/mintlify-docs/CONTRIBUTING.md +0 -32
- package/mintlify-docs/LICENSE +0 -21
- package/mintlify-docs/README.md +0 -55
- package/mintlify-docs/ai-tools/claude-code.mdx +0 -43
- package/mintlify-docs/ai-tools/cursor.mdx +0 -39
- package/mintlify-docs/ai-tools/windsurf.mdx +0 -39
- package/mintlify-docs/api-reference/core-types/agent-types.mdx +0 -110
- package/mintlify-docs/api-reference/core-types/analytics-types.mdx +0 -95
- package/mintlify-docs/api-reference/core-types/configuration-types.mdx +0 -83
- package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +0 -106
- package/mintlify-docs/api-reference/core-types/job-types.mdx +0 -135
- package/mintlify-docs/api-reference/core-types/overview.mdx +0 -73
- package/mintlify-docs/api-reference/core-types/prompt-types.mdx +0 -102
- package/mintlify-docs/api-reference/core-types/rbac-types.mdx +0 -163
- package/mintlify-docs/api-reference/core-types/session-types.mdx +0 -77
- package/mintlify-docs/api-reference/core-types/user-management.mdx +0 -112
- package/mintlify-docs/api-reference/core-types/workflow-types.mdx +0 -88
- package/mintlify-docs/api-reference/core-types.mdx +0 -585
- package/mintlify-docs/api-reference/dynamic-types.mdx +0 -851
- package/mintlify-docs/api-reference/endpoint/create.mdx +0 -4
- package/mintlify-docs/api-reference/endpoint/delete.mdx +0 -4
- package/mintlify-docs/api-reference/endpoint/get.mdx +0 -4
- package/mintlify-docs/api-reference/endpoint/webhook.mdx +0 -4
- package/mintlify-docs/api-reference/introduction.mdx +0 -661
- package/mintlify-docs/api-reference/mutations.mdx +0 -1012
- package/mintlify-docs/api-reference/openapi.json +0 -217
- package/mintlify-docs/api-reference/queries.mdx +0 -1154
- package/mintlify-docs/backend/introduction.mdx +0 -218
- package/mintlify-docs/changelog.mdx +0 -387
- package/mintlify-docs/community-edition.mdx +0 -304
- package/mintlify-docs/core/exulu-agent/api-reference.mdx +0 -894
- package/mintlify-docs/core/exulu-agent/configuration.mdx +0 -690
- package/mintlify-docs/core/exulu-agent/introduction.mdx +0 -552
- package/mintlify-docs/core/exulu-app/api-reference.mdx +0 -481
- package/mintlify-docs/core/exulu-app/configuration.mdx +0 -319
- package/mintlify-docs/core/exulu-app/introduction.mdx +0 -117
- package/mintlify-docs/core/exulu-authentication.mdx +0 -810
- package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +0 -1011
- package/mintlify-docs/core/exulu-chunkers/configuration.mdx +0 -596
- package/mintlify-docs/core/exulu-chunkers/introduction.mdx +0 -403
- package/mintlify-docs/core/exulu-context/api-reference.mdx +0 -911
- package/mintlify-docs/core/exulu-context/configuration.mdx +0 -648
- package/mintlify-docs/core/exulu-context/introduction.mdx +0 -394
- package/mintlify-docs/core/exulu-database.mdx +0 -811
- package/mintlify-docs/core/exulu-default-agents.mdx +0 -545
- package/mintlify-docs/core/exulu-eval/api-reference.mdx +0 -772
- package/mintlify-docs/core/exulu-eval/configuration.mdx +0 -680
- package/mintlify-docs/core/exulu-eval/introduction.mdx +0 -459
- package/mintlify-docs/core/exulu-logging.mdx +0 -464
- package/mintlify-docs/core/exulu-otel.mdx +0 -670
- package/mintlify-docs/core/exulu-queues/api-reference.mdx +0 -648
- package/mintlify-docs/core/exulu-queues/configuration.mdx +0 -650
- package/mintlify-docs/core/exulu-queues/introduction.mdx +0 -474
- package/mintlify-docs/core/exulu-reranker/api-reference.mdx +0 -630
- package/mintlify-docs/core/exulu-reranker/configuration.mdx +0 -663
- package/mintlify-docs/core/exulu-reranker/introduction.mdx +0 -516
- package/mintlify-docs/core/exulu-tool/api-reference.mdx +0 -723
- package/mintlify-docs/core/exulu-tool/configuration.mdx +0 -805
- package/mintlify-docs/core/exulu-tool/introduction.mdx +0 -539
- package/mintlify-docs/core/exulu-variables/api-reference.mdx +0 -699
- package/mintlify-docs/core/exulu-variables/configuration.mdx +0 -736
- package/mintlify-docs/core/exulu-variables/introduction.mdx +0 -511
- package/mintlify-docs/development.mdx +0 -94
- package/mintlify-docs/docs.json +0 -248
- package/mintlify-docs/enterprise-edition.mdx +0 -538
- package/mintlify-docs/essentials/code.mdx +0 -35
- package/mintlify-docs/essentials/images.mdx +0 -59
- package/mintlify-docs/essentials/markdown.mdx +0 -88
- package/mintlify-docs/essentials/navigation.mdx +0 -87
- package/mintlify-docs/essentials/reusable-snippets.mdx +0 -110
- package/mintlify-docs/essentials/settings.mdx +0 -318
- package/mintlify-docs/favicon.svg +0 -3
- package/mintlify-docs/frontend/introduction.mdx +0 -39
- package/mintlify-docs/getting-started.mdx +0 -267
- package/mintlify-docs/guides/custom-agent.mdx +0 -608
- package/mintlify-docs/guides/first-agent.mdx +0 -315
- package/mintlify-docs/images/admin_ui.png +0 -0
- package/mintlify-docs/images/contexts.png +0 -0
- package/mintlify-docs/images/create_agents.png +0 -0
- package/mintlify-docs/images/evals.png +0 -0
- package/mintlify-docs/images/graphql.png +0 -0
- package/mintlify-docs/images/graphql_api.png +0 -0
- package/mintlify-docs/images/hero-dark.png +0 -0
- package/mintlify-docs/images/hero-light.png +0 -0
- package/mintlify-docs/images/hero.png +0 -0
- package/mintlify-docs/images/knowledge_sources.png +0 -0
- package/mintlify-docs/images/mcp.png +0 -0
- package/mintlify-docs/images/scaling.png +0 -0
- package/mintlify-docs/index.mdx +0 -411
- package/mintlify-docs/logo/dark.svg +0 -9
- package/mintlify-docs/logo/light.svg +0 -9
- package/mintlify-docs/partners.mdx +0 -558
- package/mintlify-docs/products.mdx +0 -77
- package/mintlify-docs/snippets/snippet-intro.mdx +0 -4
- package/mintlify-docs/styles.css +0 -207
- package/ngrok.bash +0 -1
- package/ngrok.md +0 -6
- package/ngrok.yml +0 -10
- package/release.config.cjs +0 -15
- package/skills-lock.json +0 -10
- package/types/context-processor.ts +0 -45
- package/types/enums/eval-types.ts +0 -5
- package/types/enums/field-types.ts +0 -1
- package/types/enums/jobs.ts +0 -11
- package/types/enums/statistics.ts +0 -13
- package/types/exulu-table-definition.ts +0 -79
- package/types/file-types.ts +0 -18
- package/types/models/agent-session.ts +0 -27
- package/types/models/agent.ts +0 -68
- package/types/models/context.ts +0 -53
- package/types/models/embedding.ts +0 -17
- package/types/models/eval-run.ts +0 -40
- package/types/models/exulu-agent-tool-config.ts +0 -11
- package/types/models/item.ts +0 -21
- package/types/models/job.ts +0 -8
- package/types/models/project.ts +0 -16
- package/types/models/rate-limiter-rules.ts +0 -7
- package/types/models/test-case.ts +0 -25
- package/types/models/tool.ts +0 -9
- package/types/models/user-role.ts +0 -12
- package/types/models/user.ts +0 -20
- package/types/models/variable.ts +0 -8
- package/types/models/vector-methods.ts +0 -7
- package/types/provider-config.ts +0 -21
- package/types/queue-config.ts +0 -16
- package/types/rbac-rights-modes.ts +0 -1
- package/types/statistics.ts +0 -20
- package/types/workflow.ts +0 -31
- /package/ee/{documents → python/documents}/THIRD_PARTY_LICENSES/docling.txt +0 -0
- /package/ee/{documents/processing → python}/requirements.txt +0 -0
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Getting started"
|
|
3
|
-
description: "Get started with Exulu IMP by setting up a local development environment"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Introduction
|
|
7
|
-
|
|
8
|
-
This guide walks you through setting up a local development environment for the Exulu Intelligence Management Platform (IMP). By the end of this guide, you'll have a fully functional local instance running with both backend and frontend services.
|
|
9
|
-
|
|
10
|
-
<iframe
|
|
11
|
-
width="100%"
|
|
12
|
-
height="400"
|
|
13
|
-
src="https://share.descript.com/embed/bRNJCqznUga"
|
|
14
|
-
title="Setting Up Your Development Environment"
|
|
15
|
-
frameborder="0"
|
|
16
|
-
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
17
|
-
allowfullscreen
|
|
18
|
-
></iframe>
|
|
19
|
-
|
|
20
|
-
## Prerequisites
|
|
21
|
-
|
|
22
|
-
Before you begin, ensure you have the following installed on your machine:
|
|
23
|
-
|
|
24
|
-
- [Node.js](https://nodejs.org/) (we recommend using [nvm](https://github.com/nvm-sh/nvm) for version management)
|
|
25
|
-
- [Docker](https://www.docker.com/) and Docker Compose
|
|
26
|
-
- A code editor (we use [Cursor](https://cursor.sh/), but any IDE works)
|
|
27
|
-
- An NPM token for accessing the private Exulu packages (contact your admin or partner manager)
|
|
28
|
-
|
|
29
|
-
## Step 1: Clone the Repository
|
|
30
|
-
|
|
31
|
-
Start by cloning the example repository from GitHub:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
git clone https://github.com/Qventu/exulu-example.git
|
|
35
|
-
cd exulu-example
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Open the project in your preferred IDE.
|
|
39
|
-
|
|
40
|
-
## Step 2: Set Up Node Version
|
|
41
|
-
|
|
42
|
-
The project includes an `.nvmrc` file that specifies the required Node.js version. If you're using nvm, simply run:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
nvm use
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
If you don't have the specified version installed, nvm will prompt you to install it first:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
nvm install
|
|
52
|
-
nvm use
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
<Tip>If you prefer not to use nvm, check the `.nvmrc` file for the required Node.js version and ensure you have it installed.</Tip>
|
|
56
|
-
|
|
57
|
-
## Step 3: Configure NPM Token
|
|
58
|
-
|
|
59
|
-
To install private dependencies from the Exulu NPM package repository, you need to create a `.npmrc` file with your authentication token.
|
|
60
|
-
|
|
61
|
-
1. Rename the `.npmrc.example` file to `.npmrc`:
|
|
62
|
-
```bash
|
|
63
|
-
mv .npmrc.example .npmrc
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
2. Add your NPM token to the `.npmrc` file. The file should look like this:
|
|
67
|
-
```
|
|
68
|
-
@exulu:registry=https://registry.npmjs.org/
|
|
69
|
-
//registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
<Warning>If you don't have a token, request one from your admin or partner manager.</Warning>
|
|
73
|
-
|
|
74
|
-
## Step 4: Install Dependencies
|
|
75
|
-
|
|
76
|
-
With the `.npmrc` file configured, install all project dependencies:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
npm install
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
This may take a few minutes to complete.
|
|
83
|
-
|
|
84
|
-
## Step 5: Set Up Environment Variables
|
|
85
|
-
|
|
86
|
-
The repository includes a `.env.example` file with default settings for local development.
|
|
87
|
-
|
|
88
|
-
1. Rename the file to `.env`:
|
|
89
|
-
```bash
|
|
90
|
-
mv .env.example .env
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
2. The default settings are pre-configured for localhost and should work out of the box. The file includes:
|
|
94
|
-
- Postgres connection settings
|
|
95
|
-
- Redis connection settings
|
|
96
|
-
- S3 bucket configuration (optional, can be added later)
|
|
97
|
-
|
|
98
|
-
<Info>For most local development setups, you won't need to modify the default `.env` values.</Info>
|
|
99
|
-
|
|
100
|
-
## Step 6: Run Docker Services
|
|
101
|
-
|
|
102
|
-
The example repository includes a `docker-compose.services.yaml` file that provides all required services:
|
|
103
|
-
|
|
104
|
-
- **PostgreSQL with pgvector** - Database with vector extension support
|
|
105
|
-
- **Redis** - Caching and session management
|
|
106
|
-
- **MinIO** - S3-compatible object storage (optional)
|
|
107
|
-
|
|
108
|
-
Start the services using Docker Compose:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
docker-compose -f docker-compose.services.yaml up -d
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
<Tip>If you have naming conflicts with existing containers, you can modify the container names in the `docker-compose.services.yaml` file before running the command.</Tip>
|
|
115
|
-
|
|
116
|
-
Verify the services are running:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
docker ps
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
You should see containers for PostgreSQL, Redis, and MinIO running.
|
|
123
|
-
|
|
124
|
-
## Step 7: Initialize the Database
|
|
125
|
-
|
|
126
|
-
Before you can use the backend, you need to initialize the database schema:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
npm run utils:init
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
This script will:
|
|
133
|
-
- Create the database if it doesn't exist
|
|
134
|
-
- Set up all required tables and schemas
|
|
135
|
-
- Create a default admin user with credentials:
|
|
136
|
-
- **Email:** `admin@exulu.com`
|
|
137
|
-
- **Password:** `admin`
|
|
138
|
-
|
|
139
|
-
<Warning>If the script fails with a connection error, ensure your PostgreSQL container is running and healthy. You can run the script again if needed.</Warning>
|
|
140
|
-
|
|
141
|
-
You can verify the database was created successfully by connecting to it:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# Using psql
|
|
145
|
-
psql -h localhost -U postgres -d exulu
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Step 8: Start the Backend Server
|
|
149
|
-
|
|
150
|
-
Start the backend development server:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
npm run dev
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
The server should start successfully and be available on the default port (typically 4000). You'll see output indicating the server is running and connected to the database.
|
|
157
|
-
|
|
158
|
-
<Info>The development server will automatically restart when you make changes to your code.</Info>
|
|
159
|
-
|
|
160
|
-
## Step 9: Start the Frontend
|
|
161
|
-
|
|
162
|
-
Open a new terminal session (keep the backend server running) and start the frontend. You have three options:
|
|
163
|
-
|
|
164
|
-
### Option 1: Using NPX (Recommended for Quick Start)
|
|
165
|
-
|
|
166
|
-
The easiest way to get started is using the pre-built NPM package:
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
npx @exulu/frontend
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
This will:
|
|
173
|
-
- Install the frontend package locally
|
|
174
|
-
- Load your local environment variables
|
|
175
|
-
- Make the frontend available on port 3000
|
|
176
|
-
|
|
177
|
-
### Option 2: Using Docker
|
|
178
|
-
|
|
179
|
-
Alternatively, use the pre-built Docker image:
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
docker-compose -f docker-compose.frontend.yaml up
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### Option 3: Running from Source
|
|
186
|
-
|
|
187
|
-
For frontend development, clone the open-source frontend repository:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
git clone https://github.com/Qventu/exulu-frontend.git
|
|
191
|
-
cd exulu-frontend
|
|
192
|
-
npm install
|
|
193
|
-
npm run dev
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
<Tip>Option 3 is recommended if you want to contribute to the frontend or customize it beyond what's possible through configuration.</Tip>
|
|
197
|
-
|
|
198
|
-
## Step 10: Login and Verify
|
|
199
|
-
|
|
200
|
-
Once both the backend and frontend are running:
|
|
201
|
-
|
|
202
|
-
1. Open your browser and navigate to [http://localhost:3000](http://localhost:3000)
|
|
203
|
-
|
|
204
|
-
2. You should see the Exulu IMP login screen
|
|
205
|
-
|
|
206
|
-
3. Log in using the default admin credentials:
|
|
207
|
-
- **Email:** `admin@exulu.com`
|
|
208
|
-
- **Password:** `admin`
|
|
209
|
-
|
|
210
|
-
4. After logging in, you'll see the dashboard with all available features:
|
|
211
|
-
- Agents
|
|
212
|
-
- Chat sessions
|
|
213
|
-
- Knowledge bases (Contexts)
|
|
214
|
-
- Workflows
|
|
215
|
-
- Evaluations
|
|
216
|
-
- And more...
|
|
217
|
-
|
|
218
|
-
<Check>Congratulations! Your local Exulu IMP instance is now running successfully.</Check>
|
|
219
|
-
|
|
220
|
-
## Next Steps
|
|
221
|
-
|
|
222
|
-
Now that your development environment is set up, you can:
|
|
223
|
-
|
|
224
|
-
- [Create your first agent](/core/exulu-agent/introduction) and customize it for your use case
|
|
225
|
-
- [Set up knowledge bases](/core/exulu-context/introduction) to provide context to your agents
|
|
226
|
-
- [Configure tools](/core/exulu-tool/introduction) to extend agent capabilities
|
|
227
|
-
- [Explore workflows](/core/exulu-app/introduction) to automate complex tasks
|
|
228
|
-
|
|
229
|
-
## Troubleshooting
|
|
230
|
-
|
|
231
|
-
### Connection Refused Errors
|
|
232
|
-
|
|
233
|
-
If you encounter connection refused errors when initializing the database:
|
|
234
|
-
- Ensure Docker containers are running: `docker ps`
|
|
235
|
-
- Check container logs: `docker logs <container-name>`
|
|
236
|
-
- Restart the PostgreSQL container if needed
|
|
237
|
-
|
|
238
|
-
### Port Conflicts
|
|
239
|
-
|
|
240
|
-
If ports 3000, 4000, 5432, or 6379 are already in use:
|
|
241
|
-
- Stop conflicting services
|
|
242
|
-
- Or modify the ports in your `.env` and `docker-compose.services.yaml` files
|
|
243
|
-
|
|
244
|
-
### NPM Token Issues
|
|
245
|
-
|
|
246
|
-
If you get authentication errors during `npm install`:
|
|
247
|
-
- Verify your token is correctly formatted in `.npmrc`
|
|
248
|
-
- Ensure the token hasn't expired
|
|
249
|
-
- Contact your admin for a new token if needed
|
|
250
|
-
|
|
251
|
-
### Database Initialization Failures
|
|
252
|
-
|
|
253
|
-
If `npm run utils:init` fails:
|
|
254
|
-
- Check that PostgreSQL is running and accepting connections
|
|
255
|
-
- Verify your database credentials in `.env`
|
|
256
|
-
- Try running the command again (it's safe to run multiple times)
|
|
257
|
-
|
|
258
|
-
## Development Workflow
|
|
259
|
-
|
|
260
|
-
When developing with Exulu IMP:
|
|
261
|
-
|
|
262
|
-
1. **Backend changes:** The dev server auto-restarts when you modify code
|
|
263
|
-
2. **Frontend changes:** If running from source, Next.js will hot-reload
|
|
264
|
-
3. **Database schema changes:** Run migration scripts or re-run `utils:init`
|
|
265
|
-
4. **Environment changes:** Restart both servers after modifying `.env`
|
|
266
|
-
|
|
267
|
-
<Info>Keep both terminal sessions open to see logs from both backend and frontend services.</Info>
|