@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.
Files changed (164) hide show
  1. package/dist/index.cjs +351 -42
  2. package/dist/index.d.cts +96 -1
  3. package/dist/index.d.ts +96 -1
  4. package/dist/index.js +340 -38
  5. package/ee/{markdown.ts → chunking/markdown.ts} +2 -2
  6. package/ee/python/README.md +295 -0
  7. package/ee/python/documents/processing/README.md +155 -0
  8. package/ee/{documents → python/documents}/processing/doc_processor.ts +25 -17
  9. package/ee/{documents/processing/pdf_to_markdown.py → python/documents/processing/document_to_markdown.py} +3 -10
  10. package/ee/python/setup.sh +180 -0
  11. package/package.json +14 -3
  12. package/scripts/postinstall.cjs +149 -0
  13. package/.agents/skills/mintlify/SKILL.md +0 -347
  14. package/.editorconfig +0 -15
  15. package/.eslintrc.json +0 -52
  16. package/.github/workflows/release-backend.yml +0 -38
  17. package/.husky/commit-msg +0 -1
  18. package/.jscpd.json +0 -18
  19. package/.mcp.json +0 -25
  20. package/.nvmrc +0 -1
  21. package/.prettierignore +0 -5
  22. package/.prettierrc.json +0 -12
  23. package/CHANGELOG.md +0 -8
  24. package/SECURITY.md +0 -5
  25. package/commitlint.config.js +0 -4
  26. package/devops/documentation/patch-older-releases.md +0 -42
  27. package/ee/documents/processing/build_pdf_processor.sh +0 -35
  28. package/ee/documents/processing/chunk_markdown.py +0 -263
  29. package/ee/documents/processing/pdf_processor.spec +0 -115
  30. package/eslint.config.js +0 -88
  31. package/jest.config.ts +0 -25
  32. package/mintlify-docs/.mintignore +0 -7
  33. package/mintlify-docs/AGENTS.md +0 -33
  34. package/mintlify-docs/CLAUDE.MD +0 -50
  35. package/mintlify-docs/CONTRIBUTING.md +0 -32
  36. package/mintlify-docs/LICENSE +0 -21
  37. package/mintlify-docs/README.md +0 -55
  38. package/mintlify-docs/ai-tools/claude-code.mdx +0 -43
  39. package/mintlify-docs/ai-tools/cursor.mdx +0 -39
  40. package/mintlify-docs/ai-tools/windsurf.mdx +0 -39
  41. package/mintlify-docs/api-reference/core-types/agent-types.mdx +0 -110
  42. package/mintlify-docs/api-reference/core-types/analytics-types.mdx +0 -95
  43. package/mintlify-docs/api-reference/core-types/configuration-types.mdx +0 -83
  44. package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +0 -106
  45. package/mintlify-docs/api-reference/core-types/job-types.mdx +0 -135
  46. package/mintlify-docs/api-reference/core-types/overview.mdx +0 -73
  47. package/mintlify-docs/api-reference/core-types/prompt-types.mdx +0 -102
  48. package/mintlify-docs/api-reference/core-types/rbac-types.mdx +0 -163
  49. package/mintlify-docs/api-reference/core-types/session-types.mdx +0 -77
  50. package/mintlify-docs/api-reference/core-types/user-management.mdx +0 -112
  51. package/mintlify-docs/api-reference/core-types/workflow-types.mdx +0 -88
  52. package/mintlify-docs/api-reference/core-types.mdx +0 -585
  53. package/mintlify-docs/api-reference/dynamic-types.mdx +0 -851
  54. package/mintlify-docs/api-reference/endpoint/create.mdx +0 -4
  55. package/mintlify-docs/api-reference/endpoint/delete.mdx +0 -4
  56. package/mintlify-docs/api-reference/endpoint/get.mdx +0 -4
  57. package/mintlify-docs/api-reference/endpoint/webhook.mdx +0 -4
  58. package/mintlify-docs/api-reference/introduction.mdx +0 -661
  59. package/mintlify-docs/api-reference/mutations.mdx +0 -1012
  60. package/mintlify-docs/api-reference/openapi.json +0 -217
  61. package/mintlify-docs/api-reference/queries.mdx +0 -1154
  62. package/mintlify-docs/backend/introduction.mdx +0 -218
  63. package/mintlify-docs/changelog.mdx +0 -387
  64. package/mintlify-docs/community-edition.mdx +0 -304
  65. package/mintlify-docs/core/exulu-agent/api-reference.mdx +0 -894
  66. package/mintlify-docs/core/exulu-agent/configuration.mdx +0 -690
  67. package/mintlify-docs/core/exulu-agent/introduction.mdx +0 -552
  68. package/mintlify-docs/core/exulu-app/api-reference.mdx +0 -481
  69. package/mintlify-docs/core/exulu-app/configuration.mdx +0 -319
  70. package/mintlify-docs/core/exulu-app/introduction.mdx +0 -117
  71. package/mintlify-docs/core/exulu-authentication.mdx +0 -810
  72. package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +0 -1011
  73. package/mintlify-docs/core/exulu-chunkers/configuration.mdx +0 -596
  74. package/mintlify-docs/core/exulu-chunkers/introduction.mdx +0 -403
  75. package/mintlify-docs/core/exulu-context/api-reference.mdx +0 -911
  76. package/mintlify-docs/core/exulu-context/configuration.mdx +0 -648
  77. package/mintlify-docs/core/exulu-context/introduction.mdx +0 -394
  78. package/mintlify-docs/core/exulu-database.mdx +0 -811
  79. package/mintlify-docs/core/exulu-default-agents.mdx +0 -545
  80. package/mintlify-docs/core/exulu-eval/api-reference.mdx +0 -772
  81. package/mintlify-docs/core/exulu-eval/configuration.mdx +0 -680
  82. package/mintlify-docs/core/exulu-eval/introduction.mdx +0 -459
  83. package/mintlify-docs/core/exulu-logging.mdx +0 -464
  84. package/mintlify-docs/core/exulu-otel.mdx +0 -670
  85. package/mintlify-docs/core/exulu-queues/api-reference.mdx +0 -648
  86. package/mintlify-docs/core/exulu-queues/configuration.mdx +0 -650
  87. package/mintlify-docs/core/exulu-queues/introduction.mdx +0 -474
  88. package/mintlify-docs/core/exulu-reranker/api-reference.mdx +0 -630
  89. package/mintlify-docs/core/exulu-reranker/configuration.mdx +0 -663
  90. package/mintlify-docs/core/exulu-reranker/introduction.mdx +0 -516
  91. package/mintlify-docs/core/exulu-tool/api-reference.mdx +0 -723
  92. package/mintlify-docs/core/exulu-tool/configuration.mdx +0 -805
  93. package/mintlify-docs/core/exulu-tool/introduction.mdx +0 -539
  94. package/mintlify-docs/core/exulu-variables/api-reference.mdx +0 -699
  95. package/mintlify-docs/core/exulu-variables/configuration.mdx +0 -736
  96. package/mintlify-docs/core/exulu-variables/introduction.mdx +0 -511
  97. package/mintlify-docs/development.mdx +0 -94
  98. package/mintlify-docs/docs.json +0 -248
  99. package/mintlify-docs/enterprise-edition.mdx +0 -538
  100. package/mintlify-docs/essentials/code.mdx +0 -35
  101. package/mintlify-docs/essentials/images.mdx +0 -59
  102. package/mintlify-docs/essentials/markdown.mdx +0 -88
  103. package/mintlify-docs/essentials/navigation.mdx +0 -87
  104. package/mintlify-docs/essentials/reusable-snippets.mdx +0 -110
  105. package/mintlify-docs/essentials/settings.mdx +0 -318
  106. package/mintlify-docs/favicon.svg +0 -3
  107. package/mintlify-docs/frontend/introduction.mdx +0 -39
  108. package/mintlify-docs/getting-started.mdx +0 -267
  109. package/mintlify-docs/guides/custom-agent.mdx +0 -608
  110. package/mintlify-docs/guides/first-agent.mdx +0 -315
  111. package/mintlify-docs/images/admin_ui.png +0 -0
  112. package/mintlify-docs/images/contexts.png +0 -0
  113. package/mintlify-docs/images/create_agents.png +0 -0
  114. package/mintlify-docs/images/evals.png +0 -0
  115. package/mintlify-docs/images/graphql.png +0 -0
  116. package/mintlify-docs/images/graphql_api.png +0 -0
  117. package/mintlify-docs/images/hero-dark.png +0 -0
  118. package/mintlify-docs/images/hero-light.png +0 -0
  119. package/mintlify-docs/images/hero.png +0 -0
  120. package/mintlify-docs/images/knowledge_sources.png +0 -0
  121. package/mintlify-docs/images/mcp.png +0 -0
  122. package/mintlify-docs/images/scaling.png +0 -0
  123. package/mintlify-docs/index.mdx +0 -411
  124. package/mintlify-docs/logo/dark.svg +0 -9
  125. package/mintlify-docs/logo/light.svg +0 -9
  126. package/mintlify-docs/partners.mdx +0 -558
  127. package/mintlify-docs/products.mdx +0 -77
  128. package/mintlify-docs/snippets/snippet-intro.mdx +0 -4
  129. package/mintlify-docs/styles.css +0 -207
  130. package/ngrok.bash +0 -1
  131. package/ngrok.md +0 -6
  132. package/ngrok.yml +0 -10
  133. package/release.config.cjs +0 -15
  134. package/skills-lock.json +0 -10
  135. package/types/context-processor.ts +0 -45
  136. package/types/enums/eval-types.ts +0 -5
  137. package/types/enums/field-types.ts +0 -1
  138. package/types/enums/jobs.ts +0 -11
  139. package/types/enums/statistics.ts +0 -13
  140. package/types/exulu-table-definition.ts +0 -79
  141. package/types/file-types.ts +0 -18
  142. package/types/models/agent-session.ts +0 -27
  143. package/types/models/agent.ts +0 -68
  144. package/types/models/context.ts +0 -53
  145. package/types/models/embedding.ts +0 -17
  146. package/types/models/eval-run.ts +0 -40
  147. package/types/models/exulu-agent-tool-config.ts +0 -11
  148. package/types/models/item.ts +0 -21
  149. package/types/models/job.ts +0 -8
  150. package/types/models/project.ts +0 -16
  151. package/types/models/rate-limiter-rules.ts +0 -7
  152. package/types/models/test-case.ts +0 -25
  153. package/types/models/tool.ts +0 -9
  154. package/types/models/user-role.ts +0 -12
  155. package/types/models/user.ts +0 -20
  156. package/types/models/variable.ts +0 -8
  157. package/types/models/vector-methods.ts +0 -7
  158. package/types/provider-config.ts +0 -21
  159. package/types/queue-config.ts +0 -16
  160. package/types/rbac-rights-modes.ts +0 -1
  161. package/types/statistics.ts +0 -20
  162. package/types/workflow.ts +0 -31
  163. /package/ee/{documents → python/documents}/THIRD_PARTY_LICENSES/docling.txt +0 -0
  164. /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>