@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,304 +0,0 @@
1
- ---
2
- title: Community Edition
3
- description: Exulu IMP Community Edition is a comprehensive source-available platform built on TypeScript that provides everything you need to create sophisticated multi-agent systems with RAG, GraphQL API, streaming APIs, audit logs, and a full admin UI.
4
- mode: 'wide'
5
- ---
6
-
7
- <div className="badge">
8
- Source Available · Production-Ready · TypeScript · Open Core
9
- </div>
10
-
11
- ## A Complete AI Development Stack for Production Applications
12
-
13
- <CardGroup cols={3}>
14
- <Card
15
- title="Backend Framework"
16
- icon="server"
17
- href="/backend/introduction"
18
- >
19
- Node.js/TypeScript with GraphQL API, database management, and AI orchestration
20
- </Card>
21
- <Card
22
- title="Frontend Interface"
23
- icon="screen-share"
24
- href="/frontend/introduction"
25
- >
26
- React-based web UI for managing agents, contexts, and workflows
27
- </Card>
28
- <Card
29
- title="GraphQL API"
30
- icon="code"
31
- href="/api-reference/introduction"
32
- >
33
- Dynamically generated API that adapts to your implementation
34
- </Card>
35
- </CardGroup>
36
-
37
- <div style={{ padding: '0rem 0', marginTop: '2rem' }}>
38
- <h2 style={{ fontSize: '2.5rem', fontWeight: '800', marginBottom: '1rem', width: '100%', margin: '0 auto 2rem', textAlign: 'center' }}>
39
- Core Features in Community Edition
40
- </h2>
41
- <p style={{ fontSize: '1.125rem', color: '#64748b', maxWidth: '48rem', margin: '0 0 1rem' }}>
42
- Everything you need to build sophisticated AI applications and multi-agent systems:
43
- </p>
44
- </div>
45
-
46
- <AccordionGroup>
47
- <Accordion title="🤖 Multi-Agent Systems">
48
- Create sophisticated AI agents powered by leading LLM providers. Build single agents or complex multi-agent workflows with built-in orchestration. Each agent can have different capabilities, tools, and providers.
49
-
50
- ```typescript
51
- import { ExuluProvider } from "@exulu/backend";
52
- import { createAnthropic } from "@ai-sdk/anthropic";
53
-
54
- const researchAgent = new ExuluProvider({
55
- id: "research_assistant",
56
- name: "Research Assistant",
57
- provider: "anthropic",
58
- description: "AI agent specialized in research tasks",
59
- type: "agent",
60
- capabilities: {
61
- text: true,
62
- images: [".png", ".jpg", ".jpeg", ".webp"],
63
- files: [".pdf", ".docx"],
64
- audio: [],
65
- video: []
66
- },
67
- maxContextLength: 200000,
68
- config: {
69
- name: "Research Assistant",
70
- instructions: "You are a helpful research assistant...",
71
- model: {
72
- create: ({ apiKey }) => {
73
- const anthropic = createAnthropic({ apiKey });
74
- return anthropic.languageModel("claude-sonnet-4-5");
75
- }
76
- }
77
- }
78
- });
79
- ```
80
- </Accordion>
81
-
82
- <Accordion title="🔍 Semantic Search & RAG">
83
- Production-ready semantic search with vector embeddings, hybrid search (vector + full-text), and flexible chunking strategies. Perfect for building RAG applications.
84
-
85
- ```typescript
86
- const context = new ExuluContext({
87
- id: "documentation",
88
- embedder: openAIEmbedder,
89
- fields: [
90
- { name: "title", type: "string" },
91
- { name: "content", type: "string" }
92
- ]
93
- });
94
- ```
95
- </Accordion>
96
-
97
- <Accordion title="📊 Dynamic GraphQL API">
98
- Your schema is automatically generated from your context definitions. Define your data structures once and get a complete CRUD API with filtering, pagination, and vector search - no manual schema writing.
99
- </Accordion>
100
-
101
- <Accordion title="🔧 Custom Tools">
102
- Create custom tools that your agents can use. Integrate with external APIs, databases, or any service. Tools are automatically exposed to agents and can be called during conversations.
103
- </Accordion>
104
-
105
- <Accordion title="📈 Observability & Monitoring">
106
- OpenTelemetry integration for comprehensive observability. Track agent performance, monitor API usage, and analyze system behavior with distributed tracing and structured logging.
107
- </Accordion>
108
-
109
- <Accordion title="🎨 Full Admin UI">
110
- Complete React-based admin interface for managing your AI platform. Create agents, configure contexts, monitor sessions, and more—all without touching code.
111
- </Accordion>
112
-
113
- <Accordion title="💾 PostgreSQL + Redis">
114
- Built on battle-tested infrastructure with PostgreSQL for data persistence and vector search, plus Redis for caching and real-time features.
115
- </Accordion>
116
-
117
- <Accordion title="🔌 Multi-Provider Support">
118
- Use any LLM provider supported by Vercel AI SDK: OpenAI, Anthropic, Google, Mistral, Cohere, and more. Switch providers per agent or use multiple providers in the same application.
119
- </Accordion>
120
- </AccordionGroup>
121
-
122
- ---
123
-
124
- <div style={{
125
- background: 'linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(124, 58, 237, 0.1) 100%)',
126
- borderRadius: '1rem',
127
- padding: '2rem',
128
- margin: '3rem 0',
129
- border: '2px solid #8B5CF6'
130
- }}>
131
- <h3 style={{ fontSize: '1.5rem', fontWeight: '700', marginBottom: '1rem' }}>
132
- Need Enterprise Features?
133
- </h3>
134
- <p style={{ fontSize: '1.125rem', color: '#64748b', marginBottom: '1.5rem' }}>
135
- Upgrade to Enterprise Edition for advanced capabilities like RBAC, queue management, evaluation frameworks, template conversations, and more.
136
- </p>
137
- <div>
138
- <a href="/enterprise-edition" className="cta-primary">
139
- Explore Enterprise Edition →
140
- </a>
141
- </div>
142
- </div>
143
-
144
- ---
145
-
146
- <div style={{
147
- background: 'linear-gradient(135deg, rgba(22, 163, 74, 0.1) 0%, rgba(7, 201, 131, 0.1) 100%)',
148
- borderRadius: '1rem',
149
- padding: '1rem 2rem',
150
- margin: '1rem 0',
151
- }}>
152
- <h2 style={{ fontSize: '2rem', fontWeight: '800', marginBottom: '1rem' }}>
153
- Get Started in under 5 minutes
154
- </h2>
155
- <p style={{ fontSize: '1.125rem', color: '#64748b' }}>
156
- Install Exulu IMP and start building your first AI application
157
- </p>
158
-
159
- <div style={{
160
- display: 'flex',
161
- gap: '2rem',
162
- justifyContent: 'center',
163
- alignItems: 'flex-start',
164
- flexWrap: 'wrap',
165
- marginBottom: '2rem'
166
- }}>
167
- <div style={{ flex: '1', minWidth: '250px', maxWidth: '400px' }}>
168
- <h3 style={{ fontSize: '1.125rem', fontWeight: '600', marginBottom: '1rem', textAlign: 'center' }}>
169
- Install via NPM
170
- </h3>
171
- <div style={{
172
- background: '#0f172a',
173
- borderRadius: '0.75rem',
174
- padding: '1.5rem',
175
- textAlign: 'left',
176
- fontFamily: 'monospace'
177
- }}>
178
- <code style={{ color: '#e2e8f0' }}>npm install @exulu/backend</code>
179
- </div>
180
- </div>
181
-
182
- <div style={{ flex: '1', minWidth: '250px', maxWidth: '400px' }}>
183
- <h3 style={{ fontSize: '1.125rem', fontWeight: '600', marginBottom: '1rem', textAlign: 'center' }}>
184
- Clone Example Repository
185
- </h3>
186
- <div style={{
187
- background: '#0f172a',
188
- borderRadius: '0.75rem',
189
- padding: '1.5rem',
190
- textAlign: 'left',
191
- fontFamily: 'monospace'
192
- }}>
193
- <code style={{ color: '#e2e8f0' }}>git clone https://github.com/Qventu/exulu-example</code>
194
- </div>
195
- </div>
196
- </div>
197
-
198
- <a href="/backend/introduction" className="cta-primary">
199
- View Quickstart Guide →
200
- </a>
201
- </div>
202
-
203
- ---
204
-
205
- ## Join the Community
206
-
207
- <CardGroup cols={2}>
208
- <Card
209
- title="GitHub Discussions"
210
- icon="github"
211
- href="https://github.com/Qventu/exulu-backend/discussions"
212
- >
213
- Ask questions, share ideas, and connect with other developers
214
- </Card>
215
- <Card
216
- title="Report Issues"
217
- icon="bug"
218
- href="https://github.com/Qventu/exulu-backend/issues"
219
- >
220
- Found a bug or have a feature request? Let us know
221
- </Card>
222
- <Card
223
- title="Follow on LinkedIn"
224
- icon="linkedin"
225
- href="https://www.linkedin.com/company/exulu"
226
- >
227
- Stay updated with the latest news and announcements
228
- </Card>
229
- <Card
230
- title="View on npm"
231
- icon="box"
232
- href="https://www.npmjs.com/package/@exulu/backend"
233
- >
234
- Check out the package on npm registry
235
- </Card>
236
- </CardGroup>
237
-
238
- ---
239
-
240
- ## What's Not Included in Community Edition?
241
-
242
- <Info>
243
- The following features require [Enterprise Edition](/enterprise-edition):
244
-
245
- - **Role-Based Access Control (RBAC)** - Fine-grained permission management
246
- - **Queue Management** - Production-grade background job processing with BullMQ
247
- - **Evaluation Framework** - Comprehensive testing and quality measurement
248
- - **Template Conversations** - Reusable multi-step workflows
249
- - **Agentic Retrieval** - Advanced multi-strategy search
250
- - **Advanced Document Processing** - Enterprise-grade document parsing
251
- - **Agent Feedback System** - Built-in user feedback collection
252
- - **Multi-Agent Tooling** - Advanced agent orchestration
253
- - **Custom Branding** - White-label your deployment
254
- </Info>
255
-
256
- ---
257
-
258
- <div style={{
259
- padding: '4rem 2rem',
260
- background: 'linear-gradient(135deg, #16A34A 0%, #15803D 100%)',
261
- borderRadius: '1rem',
262
- margin: '3rem 0',
263
- color: 'white'
264
- }}>
265
- <h2 style={{ fontSize: '2.5rem', fontWeight: '800', marginBottom: '1rem', color: 'white' }}>
266
- Ready to Build Something Amazing?
267
- </h2>
268
- <p style={{ fontSize: '1.25rem', marginBottom: '2rem', opacity: 0.9 }}>
269
- Join developers building the next generation of AI applications with Exulu Community Edition
270
- </p>
271
- <div style={{ display: 'flex', gap: '1rem', flexWrap: 'wrap' }}>
272
- <a
273
- href="/backend/introduction"
274
- style={{
275
- background: 'white',
276
- color: '#16A34A',
277
- padding: '1rem 2rem',
278
- borderRadius: '0.5rem',
279
- fontWeight: '600',
280
- textDecoration: 'none',
281
- display: 'inline-block',
282
- transition: 'all 0.3s ease'
283
- }}
284
- >
285
- Get Started Free →
286
- </a>
287
- <a
288
- href="https://github.com/Qventu/exulu-backend"
289
- style={{
290
- background: 'transparent',
291
- color: 'white',
292
- padding: '1rem 2rem',
293
- borderRadius: '0.5rem',
294
- fontWeight: '600',
295
- textDecoration: 'none',
296
- display: 'inline-block',
297
- border: '2px solid white',
298
- transition: 'all 0.3s ease'
299
- }}
300
- >
301
- View on GitHub
302
- </a>
303
- </div>
304
- </div>