@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,218 +0,0 @@
1
- ---
2
- title: "Introduction"
3
- description: "Fully featured platform as a service stack for creating and managing AI agents with semantic search, background workers, and multi-provider support"
4
- ---
5
-
6
- ## What is Exulu IMP?
7
-
8
- Exulu IMP (Intelligence Management Platform) is a fully featured PaaS framework for building production-ready multi- or single-agent applications. It provides the infrastructure you need to manage agents, semantic search contexts, background job processing, and tool integrations.
9
-
10
- ## Key features
11
-
12
- <CardGroup cols={2}>
13
- <Card title="Multi-provider agents" icon="users">
14
- Support for 60+ providers through Vercel AI SDK, plus flexible integration with custom LLM providers via vLLM or Ollama
15
- </Card>
16
- <Card title="Semantic search" icon="scan-search">
17
- Vector-powered context system for RAG implementations with pgvector. Out-of-the-box generation of tooling for semantic search and agentic search for agents
18
- </Card>
19
- <Card title="Background workers" icon="biceps-flexed">
20
- BullMQ-based job queue for long-running tasks and scheduled operations
21
- </Card>
22
- <Card title="Express API" icon="server">
23
- Ready-to-use GraphQL and REST APIs with authentication and file uploads
24
- </Card>
25
- </CardGroup>
26
-
27
- ## Quick start
28
-
29
- Get started by cloning the example repository or installing the package:
30
-
31
- ```bash
32
- # Option 1: Clone the example project (recommended)
33
- git clone https://github.com/Qventu/exulu-example
34
-
35
- # Option 2: Install the NPM package
36
- npm install @exulu/backend
37
- ```
38
-
39
- Create your first Exulu IMP instance using the factory pattern:
40
-
41
- ```typescript
42
- import { ExuluApp, ExuluProvider } from "@exulu/backend";
43
- import { createAnthropic } from "@ai-sdk/anthropic";
44
-
45
- let instance: ExuluApp | null = null;
46
-
47
- export const exulu = async (): Promise<ExuluApp> => {
48
- if (instance) {
49
- return instance;
50
- }
51
-
52
- instance = new ExuluApp();
53
- instance = await instance.create({
54
- config: {
55
- workers: { enabled: true },
56
- MCP: { enabled: false },
57
- telemetry: { enabled: false }
58
- },
59
- contexts: [],
60
- rerankers: [],
61
- tools: [],
62
- agents: [
63
- new ExuluProvider({
64
- id: "assistant",
65
- name: "Assistant",
66
- provider: "anthropic",
67
- description: "A helpful AI assistant",
68
- type: "agent",
69
- capabilities: {
70
- text: true,
71
- images: [".png", ".jpg", ".jpeg", ".webp"],
72
- files: [".pdf", ".docx"],
73
- audio: [],
74
- video: []
75
- },
76
- maxContextLength: 200000,
77
- config: {
78
- name: "Assistant",
79
- instructions: "You are a helpful assistant.",
80
- model: {
81
- create: ({ apiKey }) => {
82
- const anthropic = createAnthropic({ apiKey });
83
- return anthropic.languageModel("claude-sonnet-4-5");
84
- }
85
- }
86
- }
87
- })
88
- ]
89
- });
90
-
91
- const expressApp = await instance.express.init();
92
- expressApp.listen(3000);
93
-
94
- return instance;
95
- };
96
- ```
97
-
98
- <Card
99
- title="Full quickstart guide"
100
- icon="rocket"
101
- href="/quickstart"
102
- horizontal
103
- >
104
- Follow the complete setup guide with database initialization and configuration
105
- </Card>
106
-
107
- ## Core concepts
108
-
109
- <CardGroup cols={2}>
110
- <Card
111
- title="ExuluApp"
112
- icon="cube"
113
- href="/core/exulu-app/introduction"
114
- >
115
- The main application class that orchestrates all components
116
- </Card>
117
- <Card
118
- title="Contexts"
119
- icon="database"
120
- href="/core/exulu-context/introduction"
121
- >
122
- Semantic search indices with vector embeddings for RAG
123
- </Card>
124
- <Card
125
- title="Agents"
126
- icon="robot"
127
- href="/core/exulu-agent/introduction"
128
- >
129
- AI agents that process requests and use tools
130
- </Card>
131
- <Card
132
- title="Tools"
133
- icon="wrench"
134
- href="/core/exulu-tool/introduction"
135
- >
136
- Functions that extend agent capabilities
137
- </Card>
138
- </CardGroup>
139
-
140
- ## Architecture
141
-
142
- Exulu IMP follows a modular architecture:
143
-
144
- 1. **ExuluApp** - Central orchestrator that manages all components
145
- 2. **Contexts** - Semantic search indices with automatic tool generation
146
- 3. **Agents** - LLM-powered execution units with tool calling
147
- 4. **Workers** - Background job processors for async operations
148
- 5. **Express API** - GraphQL and REST endpoints for client access
149
-
150
- <Note>
151
- The platform is designed to be deployed as an npm package in your Node.js application, giving you full control over hosting and customization.
152
- </Note>
153
-
154
- ## Use cases
155
-
156
- <AccordionGroup>
157
- <Accordion title="RAG applications">
158
- Build retrieval-augmented generation systems with semantic search contexts. Ingest documents, generate embeddings, and let agents query relevant information automatically.
159
- </Accordion>
160
-
161
- <Accordion title="Multi-agent systems">
162
- Create complex workflows with multiple specialized agents. Each agent can have different capabilities, tools, and LLM providers.
163
- </Accordion>
164
-
165
- <Accordion title="Background processing">
166
- Offload long-running tasks like embeddings generation, document processing, and scheduled data sync to BullMQ workers.
167
- </Accordion>
168
-
169
- <Accordion title="Tool-augmented AI">
170
- Extend agent capabilities with custom tools for API calls, database queries, file operations, and external service integrations.
171
- </Accordion>
172
- </AccordionGroup>
173
-
174
- ## What's included
175
-
176
- When you install `@exulu/backend`, you get:
177
-
178
- - **Default agents** for GPT-5, GPT-4.1, GPT-4o, Claude Opus 4, Claude Sonnet 4/4.5, Gemini 2.5, Llama 3.3, and more
179
- - **Built-in tools** for todo management and web search
180
- - **Database utilities** for PostgreSQL and vector storage
181
- - **Authentication** with NextAuth integration
182
- - **Job queues** with Redis and BullMQ
183
- - **Logging** with Winston
184
- - **Telemetry** with OpenTelemetry
185
- - **Type definitions** for TypeScript
186
-
187
- ## Next steps
188
-
189
- <CardGroup cols={2}>
190
- <Card
191
- title="Quickstart"
192
- icon="rocket"
193
- href="/quickstart"
194
- >
195
- Set up your first Exulu IMP instance
196
- </Card>
197
- <Card
198
- title="ExuluApp reference"
199
- icon="cube"
200
- href="/core/exulu-app/introduction"
201
- >
202
- Learn about the main application class
203
- </Card>
204
- <Card
205
- title="Configuration"
206
- icon="gear"
207
- href="/core/exulu-app/configuration"
208
- >
209
- Configure logging, workers, and integrations
210
- </Card>
211
- <Card
212
- title="API reference"
213
- icon="code"
214
- href="/api-reference/introduction"
215
- >
216
- Explore the GraphQL and REST APIs
217
- </Card>
218
- </CardGroup>
@@ -1,387 +0,0 @@
1
- ---
2
- title: "Changelog"
3
- description: "Product updates and release notes for Exulu IMP"
4
- ---
5
-
6
- <Update label="March 2026 - Enterprise Edition">
7
- **Release Date:** March 11, 2026
8
-
9
- This release introduces a major architectural change with the separation of Community and Enterprise Edition features, along with a powerful new document processing system.
10
-
11
- ### Versions
12
- - **Backend NPM package:** 1.48.0
13
-
14
- <Info>This release includes breaking changes if you were using enterprise features. Please review the migration guide for Enterprise Edition.</Info>
15
-
16
- ## What's New
17
-
18
- ### Enterprise Edition Separation
19
- We've established a clear separation between Community Edition (CE) and Enterprise Edition (EE) features:
20
-
21
- - **EE Directory Structure:** All enterprise features now organized in dedicated `ee/` directory
22
- - **License-based Entitlements:** New entitlements system with license checking for premium features
23
- - **Feature Differentiation:** Clear documentation of CE vs EE feature sets
24
- - **Moved to EE:** Agentic retrieval, BullMQ queues, RBAC, workers, and tokenizer are now enterprise features
25
-
26
- ### Advanced Document Processing System
27
- Powerful new document processing pipeline with VLM-powered validation:
28
-
29
- - **Multi-format Support:** Process PDF, DOCX, DOC, TXT, and MD files
30
- - **Python-based PDF Processor:** Uses MIT-licensed Docling library for accurate extraction
31
- - **VLM Validation:** Vision Language Model validates and corrects OCR results
32
- - **Smart Chunking:** Page-aware markdown chunking with heading hierarchy preservation
33
- - **Table Extraction:** Automatic table detection and normalization in markdown format
34
- - **Hybrid Chunking:** Combines semantic understanding with token-based splitting
35
- - **Standalone Executable:** Build script creates portable PDF processor executable
36
-
37
- ### Code Architecture Improvements
38
- Significant refactoring for better maintainability and clarity:
39
-
40
- - **Provider-Agent Separation:** Clear distinction between `ExuluProvider` (LLM configuration) and `ExuluAgent` (provider + tools + contexts)
41
- - **Code-defined Agents:** Support for defining agents in code, not just via database/API/UI
42
- - **Refactored Load Logic:** Agent loading logic moved into ExuluApp as methods
43
- - **Shared Utilities:** Extracted `withRetry` utility for reusable retry logic across codebase
44
- - **Consolidated Schemas:** Updated GraphQL resolvers and schemas for better organization
45
-
46
- ## Documentation Updates
47
-
48
- - **CE vs EE Comparison:** New pages documenting feature differences
49
- - **Partners Program:** Documentation for licensing and partnerships
50
- - **Enhanced API Reference:** Expanded with EE features
51
- - **Migration Guides:** Clear instructions for upgrading to new architecture
52
-
53
- ## Bug Fixes
54
-
55
- - **Import Errors:** Fixed import path issues after EE separation
56
- - **TypeScript Paths:** Updated configuration for EE modules
57
- - **Queue Structure:** Updated validators for new queue organization
58
-
59
- ## Dependency Updates
60
-
61
- ### New Dependencies
62
- - `docling` - Python library for document processing
63
- - `mammoth` - DOCX to markdown conversion
64
- - `turndown` - HTML to markdown conversion
65
-
66
- ## Breaking Changes
67
-
68
- <Warning>
69
- If you were using any of the following features, they now require an Enterprise Edition license:
70
- - Agentic retrieval system
71
- - BullMQ-based queues
72
- - RBAC (Role-Based Access Control)
73
- - Worker processes
74
- - Custom tokenizer features
75
- </Warning>
76
-
77
- ## Migration Guide
78
-
79
- For users upgrading from previous versions:
80
-
81
- 1. Update to `@exulu/backend@latest`
82
- 2. Review your usage of enterprise features
83
- 3. Update import paths if you're importing from internal modules
84
- 4. Check the CE vs EE documentation to understand feature availability
85
-
86
- ```bash
87
- npm install @exulu/backend@latest
88
- ```
89
-
90
- ## What This Means For You
91
-
92
- - **Clear Licensing:** Understand exactly which features are available in each edition
93
- - **Better Architecture:** Cleaner separation of concerns between providers and agents
94
- - **Advanced Processing:** Extract structured content from complex documents with high accuracy
95
- - **VLM Validation:** Leverage vision models to improve OCR quality
96
- - **Code-first Agents:** Define agents programmatically for better version control and deployment
97
- - **Improved Maintainability:** Clearer code structure makes customization easier
98
- </Update>
99
-
100
- <Update label="March 2026 - Q1 Winter Release">
101
- **Release Date:** March 5, 2026
102
-
103
- We're excited to share the latest updates to Exulu IMP! This release focuses on intelligent retrieval capabilities, code quality improvements, and expanded AI model support.
104
-
105
- ### Versions
106
- - **Backend NPM package:** 1.47.0
107
-
108
- <Info>This is a development release. Please make sure you are using the latest compatible frontend and backend versions.</Info>
109
-
110
- ## What's New
111
-
112
- ### Agentic Retrieval System
113
- We've introduced a powerful AI-powered retrieval system that revolutionizes how your agents search through knowledge bases:
114
-
115
- - **Multi-step Retrieval Agent:** Implements an intelligent tool loop architecture that dynamically selects the best search strategy
116
- - **Smart Search Strategy Selection:** Automatically chooses between hybrid, semantic, or keyword search based on query context
117
- - **Multilingual Support:** Built-in language detection and reasoning support for 8+ languages
118
- - **Intelligent Reranking:** Improves search relevance by reordering results based on semantic similarity
119
- - **Resilient API Handling:** Retry logic with exponential backoff ensures reliable operations
120
-
121
- ### NLP Query Preprocessing
122
- Enhanced search capabilities with advanced natural language processing:
123
-
124
- - **Language Detection:** Automatic detection using the franc library with support for multiple languages
125
- - **Language-Specific Stemming:** Implements the natural NLP library for better query understanding
126
- - **Query Variations:** Generates multilingual query variations for improved search coverage
127
- - **PostgreSQL FTS Integration:** Maps ISO 639-3 language codes to PostgreSQL full-text search configurations
128
-
129
- ### Expanded Default AI Model Support
130
-
131
- #### New Cerebras Default Models
132
- High-performance AI models with impressive context windows now available via `ExuluDefaultAgents.cerebras.*`:
133
- - **GPT-OSS-120B** (128k context)
134
- - **LLAMA-3.1-8B** (32k context)
135
- - **LLAMA-3.3-70B** (32k context)
136
-
137
- ### Perplexity Internet Search
138
- Real-time web search capabilities directly in your agents:
139
-
140
- - **Live Web Search:** Query the internet in real-time via Perplexity API
141
- - **Advanced Filtering:** Support for domain filtering and recency filtering
142
- - **Automatic Citations:** Properly formatted citations in search results
143
- - **Rate Limit Handling:** Built-in protection against API rate limits
144
-
145
- ## Code Quality & Developer Experience
146
-
147
- ### Refactored Codebase Architecture
148
- - **Modular Organization:** Refactored `classes.ts` into individual modules for better maintainability
149
- - **Fixed Import References:** Corrected all source import paths for consistency
150
- - **Decorator Folder Fix:** Corrected typo in registry decorator folder name (`decoraters` → `decorators`) and updated all import paths
151
-
152
- ### Enhanced Development Tooling
153
- For contributors working on the Exulu IMP source code, we've significantly improved the development experience with comprehensive tooling:
154
-
155
- - **ESLint Integration:** Configured with TypeScript support for consistent code quality
156
- - **Prettier Formatting:** Automatic code formatting for a clean codebase
157
- - **Jest Testing Framework:** Set up with ts-jest for robust testing
158
- - **Code Duplication Detection:** Added jscpd for identifying and managing code duplication
159
- - **npm Scripts:** New commands for testing, linting, formatting, and validation
160
-
161
- <Note>These tooling improvements are for source contributors only and do not affect users of the `@exulu/backend` npm package.</Note>
162
-
163
- Available scripts for contributors:
164
- ```bash
165
- npm test # Run tests
166
- npm run lint # Check code quality
167
- npm run format # Format code
168
- npm run validate # Type check + lint + test
169
- npm run cpd # Check code duplication
170
- ```
171
-
172
- ### Stricter TypeScript Configuration
173
- Improved type safety across the codebase:
174
- - Enabled `noImplicitAny` and `strictNullChecks`
175
- - Added `noUnusedLocals` and `noUnusedParameters` checks
176
- - Updated target from ESNext to ES2022 for better compatibility
177
-
178
- ## Bug Fixes & Improvements
179
-
180
- ### Security & Stability
181
- - **npm Audit Vulnerabilities:** Fixed all identified security vulnerabilities
182
- - **Removed Debug Code:** Cleaned up development artifacts and debug file writes from agentic-retrieval.ts
183
- - **Agent ID Conflicts:** Fixed duplicate agent IDs in Claude Sonnet 4 and 4.5 agents
184
-
185
- ### Code Cleanup
186
- - **Linting Errors:** Resolved all linting errors across the codebase
187
- - **Prettier Formatting:** Applied consistent code formatting
188
- - **Documentation Organization:** Moved file storage documentation to proper folder structure
189
- - **Removed Unused Code:** Cleaned up commented console.log statements and unnecessary imports
190
- - **Math Tools Removed:** Removed unused math tools (arithmetic, statistics, trigonometric)
191
-
192
- ## Dependency Updates
193
-
194
- ### Major Upgrades
195
- - **Vercel AI SDK:** Upgraded from v5 to v6 for the latest AI capabilities
196
- - **AI Provider SDKs:** Updated Anthropic, Google Vertex, and OpenAI SDKs
197
-
198
- ### New Dependencies
199
- - `@ai-sdk/cerebras` - Cerebras model support
200
- - `@perplexity-ai/perplexity_ai` - Web search integration
201
- - `franc` - Language detection
202
- - `natural` - NLP and stemming
203
- - `wink-nlp` - Additional NLP capabilities
204
- - `zod-to-json-schema` - Schema conversion utilities
205
- - `jscpd` - Code duplication detection
206
-
207
- ## What This Means For You
208
-
209
- - **Better Code Quality:** Enhanced tooling and stricter TypeScript checks catch issues earlier
210
- - **Easier Debugging:** Cleaner codebase with removed debug artifacts
211
- - **More Maintainable:** Modular architecture makes it easier to understand and extend
212
- - **Smarter Search:** Agentic retrieval and NLP preprocessing deliver more relevant results
213
- - **Multilingual Support:** Your agents can now handle queries in multiple languages
214
- - **More AI Options:** Choose from expanded model offerings including Cerebras and Perplexity
215
- - **Live Web Search:** Agents can now access real-time information from the internet
216
- - **More Reliable:** Bug fixes and security updates ensure stable operations
217
- - **Better Performance:** Optimized search tools and consolidated architecture
218
- - **Enhanced Security:** Resolved npm audit vulnerabilities
219
-
220
- ## Getting Started
221
-
222
- To upgrade to the latest version:
223
-
224
- ```bash
225
- npm install @exulu/backend@latest
226
- ```
227
- </Update>
228
-
229
- <Update label="January 2026 - Q4 Winter Release">
230
- **Release Date:** January 10, 2026
231
-
232
- We're excited to announce a major platform update bringing significant workflow enhancements, a significantly improved chat experience, and substantial architectural improvements. This release represents our most comprehensive update to date, with a focus on developer productivity, system performance, and user experience.
233
-
234
- ### Versions
235
- - **Backend NPM package:** 1.45.0
236
- - **Frontend Docker image:** latest | 1.27.0
237
- - **Frontend NPM package:** 1.16.1
238
-
239
- <Info>Please make sure you are using the latest compatible frontend and backend versions.</Info>
240
-
241
- ## What's New
242
-
243
- ### Enhanced Workflow Automation
244
- We've significantly enhanced our workflow system with powerful new scheduling and monitoring capabilities:
245
-
246
- - **CRON Scheduling:** Automate workflow execution with flexible CRON-based scheduling featuring built-in presets (hourly, daily, weekly, monthly) or custom CRON expressions with cron-validator integration for pattern validation
247
- - **Simplified Workflow Object:** Streamlined workflow schema with direct agent references via UUID, removing unnecessary complexity around ownership, variables, and RBAC fields
248
- - **Run History Tracking:** Comprehensive history view for every workflow execution with full result, error, and metadata inspection
249
- - **Real-time Monitoring:** Live status indicators showing active, completed, and failed workflow runs with instant updates
250
- - **Visual Feedback:** Enhanced UI with status badges, tooltips, and at-a-glance health indicators for better workflow visibility
251
- - **Improved UX:** Added persistent "Save as Workflow" banner in chat interface for easier workflow template creation, and users can now edit individual chat messages that are part of a workflow
252
- - **Workflow Queue Configuration:** Workflows are created using a specific Agent instance. It is now possible to define a queue on an ExuluProvider class (in the new workflows property), which if provided enables you to define concurrency limits (in code) and automated schedules (in the UI and API)
253
-
254
- These improvements make it easier than ever to automate recurring tasks and monitor their execution at scale.
255
-
256
- ### Chat Experience Overhaul
257
- We've completely refactored the chat architecture to deliver a faster, more intuitive conversational experience:
258
-
259
- - **Server Components Migration:** Chat pages now leverage Next.js server components for dramatically improved initial load performance
260
- - **Session Auto-creation:** Cleaner flow when starting new conversations with automatic session management
261
- - **Improved Session UI:** Streamlined the Chat Session UI by hiding metadata such as created date and edit options behind hover states
262
- - **Chat Search:** New dedicated search page to find specific messages or sessions across your entire chat history
263
- - **Save as Workflow:** Persistent banner in chat interface making it easy to convert conversations into reusable workflow templates
264
- - **Automatic Citations:** Agents using context search tools now automatically format inline citations with item metadata, chunk IDs, and context references, these are automatically processed, showing citation badges in the chat including a dialog window showing the original chunk the citation references
265
- - **User Personalization:** Enhanced system prompts with user firstname/lastname fields for better agent personalization (configurable via privacy settings)
266
-
267
- ### Agent & Prompt Management
268
- Managing agents and prompts is now significantly more powerful and organized:
269
-
270
- - **Prompt Library:** Browse prompts by tags with grouped category views at `/prompts/[tag]`
271
- - **Agent Prompt Templates Browser:** Intuitive sheet interface for browsing and assigning prompts to agents with folder organization and tag filtering directly from the agent configuration screen
272
- - **Quick Agent Duplication:** Copy existing agents with one click to accelerate agent creation using the new `<entity>CopyOneById` GraphQL mutation
273
- - **Increased Agent Tool Execution Steps:** Extended default agent step count from 2 to 5 across chat and function calling flows for more complex reasoning tasks
274
- - **Enhanced Tool Configuration:** Collapsible categories and search functionality in tool selection
275
- - **Separated Instructions:** Clear distinction between system instructions and custom instructions, now fully exposed in GraphQL schema and shown in the UI if provided
276
-
277
- ### Knowledge Base Data Processing Architecture
278
- A fundamental refactor of our data processing system improves consistency and reduces complexity:
279
-
280
- - **Unified Items Filtering:** New centralized items-filter.tsx component provides consistent filtering experience across items list view, embedding job trigger creation, and processor job filter creation with enhanced filter options and real-time result preview
281
- - **Item-level Processing:** Migrated from field-level to item-level processors (`ExuluContextFieldProcessor` → `ExuluContextProcessor`) to reduce complexity
282
- - **Bulk Operations:** Process multiple items at once with new `ProcessItems` GraphQL mutation supporting filter and limit parameters
283
- - **Processor Visibility:** New processors view in the knowledge base section showing configuration details, queue status, and execution history
284
- - **Timestamp Tracking:** Added `last_processed_at` field on items for better processing visibility
285
- - **Queue Management Integration:** Direct access to queue controls from processor configuration with configurable timeouts (default: 180s, up to 30 minutes for long operations)
286
- - **Enhanced Concurrency:** Separate worker and queue-level concurrency settings for granular control over job processing
287
- - **Improved Database Pool:** Increased connection pool from 20 to 50 connections with statement timeouts to handle concurrent processor jobs
288
- - **Automatic JSON Handling:** JSON fields now automatically serialize during create and update operations
289
-
290
- ### Project Context Integration
291
- Agents can now automatically leverage project-specific context for enhanced retrieval capabilities:
292
-
293
- - **Project-aware Sessions:** Chat sessions can be associated with projects for contextual tool access with automatic project tool injection
294
- - **Project-scoped Retrieval:** New `createProjectRetrievalTool` enables project-specific information search across multiple contexts with hybrid search and filtering
295
- - **Enhanced Metadata:** Project cards display creation date, character count, and chunk information
296
- - **Automatic Tool Ingestion:** Agents automatically gain access to project-specific retrieval tools when sessions have associated projects
297
- - **Project Caching:** Optimized repeated project queries with intelligent caching mechanisms
298
-
299
- ### Vector Search & Context System
300
- Major improvements to our semantic search and retrieval capabilities:
301
-
302
- - **Adaptive Filtering:** Automatic threshold filtering (60-70% of best match score) removes low-quality results
303
- - **Chunk Expansion:** Configurable option to retrieve surrounding chunks (before/after) for better context continuity
304
- - **Enhanced Hybrid Search:** Improved RRF weighting and scoring with better cosine distance, tsvector, and hybrid cutoff thresholds
305
- - **Increased Capacity:** Maximum retrieval limit increased from 50 to 250 results
306
- - **Improved Text Search:** tsvector search now uses OR logic for better partial matching of technical terms
307
- - **Archive Filtering:** Archived items automatically excluded from all search methods
308
- - **Context Metadata:** New `chunks_count` and `embeddings_updated_at` fields for better visibility
309
- - **Chunk Management:** Added limit parameters to `generateChunks` and `deleteChunks` mutations with proper counting support
310
- - **Direct Search API:** Added search method directly to `ExuluContext` class for easier integration
311
-
312
- <Warning>Depending on your current Exulu IMP version you might need to update your database schema to add missing fields.</Warning>
313
-
314
- ### Access Control & Security
315
- Enhanced security and access control mechanisms across the platform:
316
-
317
- - **Refined RBAC Logic:** More explicit and maintainable role-based access control with improved conditionals
318
- - **Non-admin Chunk Limits:** Non-super-admins can generate/delete chunks with configurable limits for safety
319
- - **User-scoped File Access:** Proper folder prefixing and user-scoped access control in file upload routes
320
- - **Global File Management:** Enhanced download access control to support both user-scoped and global file access
321
- - **Record Privacy Reset:** Copied records automatically reset to private `rights_mode` with new timestamps
322
- - **Improved Authentication:** Better handling of unauthenticated requests with proper fallback behavior
323
- - **Context-specific Validation:** Enhanced role validation for context-specific operations
324
-
325
- ## Technical Improvements
326
-
327
- ### Performance & Architecture
328
- - **Next.js 16 Upgrade:** Migrated entire application to Next.js 16 for latest features and performance
329
- - **GraphiQL v4:** Updated to latest GraphiQL version with improved developer experience
330
- - **Server-side Data Fetching:** New `fetchGraphQLServerSide` moves certain fetch operations to server components
331
- - **Optimistic Updates:** Better perceived performance with optimistic UI updates throughout
332
- - **Query Optimization:** Full-text search now uses `ts_rank` instead of `ts_rank_cd` for better performance
333
- - **GraphQL Filter Extensions:** Added `lte` and `gte` operators for Float filter types
334
- - **Eval Worker Scaling:** Increased eval runs queue concurrency from 1 to 10 workers for faster evaluation processing
335
-
336
- ### Developer Experience
337
- - **Toast Notifications:** Standardized on Sonner library for consistent notification styling
338
- - **Type Safety:** Enhanced TypeScript definitions across agent sessions, items, and workflows
339
- - **Better Error Handling:** Improved API error responses and user-facing error states with proper null handling in job results
340
- - **S3 Integration:** Simplified bucket handling with slash-based key notation (bucket/key) for better consistency
341
- - **Global File Uploads:** New global file upload support outside user directories with enhanced access control (used primarily for agent visuals)
342
-
343
- ### UI/UX Polish
344
- - **Navigation Improvements:** Streamlined navigation with better visual hierarchy
345
- - **Layout Refinements:** Fixed numerous spacing and alignment issues across pages
346
- - **Status Indicators:** Consistent status badges and tooltips for better information density
347
-
348
- ## Bug Fixes & Refinements
349
-
350
- ### Minor Fixes
351
- - Resolved duplicate todo list message rendering
352
- - Fixed command item disabled styling and duplicate keys in tool lists
353
- - Corrected search results layout from multi-column to single-column for readability
354
- - Added automatic data refresh after chunk deletion
355
- - Fixed missing spaces in chat session layout
356
- - Improved retry functionality for embeddings and processor jobs
357
- - Fixed `hasNextPage` logic in pagination queries
358
- - Fixed access control to properly handle unauthenticated requests with `super_admin` bypass
359
- - Corrected S3 key prefix ordering (user prefix before general prefix) and proper bucket name handling
360
- - Fixed file deletion by properly stripping bucket prefix
361
- - Fixed `created_by` type handling (string vs number) in access control checks
362
- - Fixed eval run deletion to properly clean up associated `job_results` entries
363
- - Improved chunk deletion safety by checking table existence before deletion
364
- - Fixed image handling in chat API for proper multimodal support
365
-
366
- ## Cleanup & Deprecations
367
- This release includes significant cleanup to maintain codebase health:
368
-
369
- - Removed deprecated `jobs-status-area` component
370
- - Removed obsolete `chat-empty-state` component
371
- - Removed deprecated `agent-nav` component
372
- - Consolidated redundant layout files
373
- - Removed `recent-jobs` component in favor of unified queue management
374
- - Removed deprecated `ExuluDefaultContexts` export
375
- - Deleted unused template contexts (`code-standards.ts`, `outputs.ts`)
376
- - Removed hardcoded context registrations from `ExuluApp`
377
- - Removed excessive debug `console.log` statements from auth, postgres, and redis clients
378
- - Cleaned up redundant code across multiple modules
379
-
380
- ## What's Next
381
- Looking ahead, we're focusing on:
382
-
383
- - Advanced workflow conditions and branching
384
- - Enhanced eval capabilities with more flexible test case management
385
- - Real-time collaboration features for shared agents and workflows
386
- - Extended monitoring and observability for production deployments
387
- </Update>