@exulu/backend 1.46.0 → 1.47.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 (151) hide show
  1. package/.agents/skills/mintlify/SKILL.md +347 -0
  2. package/.editorconfig +15 -0
  3. package/.eslintrc.json +52 -0
  4. package/.jscpd.json +18 -0
  5. package/.prettierignore +5 -0
  6. package/.prettierrc.json +12 -0
  7. package/CHANGELOG.md +11 -4
  8. package/README.md +747 -0
  9. package/SECURITY.md +5 -0
  10. package/dist/index.cjs +12015 -10506
  11. package/dist/index.d.cts +725 -667
  12. package/dist/index.d.ts +725 -667
  13. package/dist/index.js +12034 -10518
  14. package/ee/LICENSE.md +62 -0
  15. package/ee/agentic-retrieval/index.ts +1109 -0
  16. package/ee/documents/THIRD_PARTY_LICENSES/docling.txt +31 -0
  17. package/ee/documents/processing/build_pdf_processor.sh +35 -0
  18. package/ee/documents/processing/chunk_markdown.py +263 -0
  19. package/ee/documents/processing/doc_processor.ts +635 -0
  20. package/ee/documents/processing/pdf_processor.spec +115 -0
  21. package/ee/documents/processing/pdf_to_markdown.py +420 -0
  22. package/ee/documents/processing/requirements.txt +4 -0
  23. package/ee/entitlements.ts +49 -0
  24. package/ee/markdown.ts +686 -0
  25. package/ee/queues/decorator.ts +140 -0
  26. package/ee/queues/queues.ts +156 -0
  27. package/ee/queues/server.ts +6 -0
  28. package/ee/rbac-resolver.ts +51 -0
  29. package/ee/rbac-update.ts +111 -0
  30. package/ee/schemas.ts +347 -0
  31. package/ee/tokenizer.ts +80 -0
  32. package/ee/workers.ts +1423 -0
  33. package/eslint.config.js +88 -0
  34. package/jest.config.ts +25 -0
  35. package/license.md +73 -49
  36. package/mintlify-docs/.mintignore +7 -0
  37. package/mintlify-docs/AGENTS.md +33 -0
  38. package/mintlify-docs/CLAUDE.MD +50 -0
  39. package/mintlify-docs/CONTRIBUTING.md +32 -0
  40. package/mintlify-docs/LICENSE +21 -0
  41. package/mintlify-docs/README.md +55 -0
  42. package/mintlify-docs/ai-tools/claude-code.mdx +43 -0
  43. package/mintlify-docs/ai-tools/cursor.mdx +39 -0
  44. package/mintlify-docs/ai-tools/windsurf.mdx +39 -0
  45. package/mintlify-docs/api-reference/core-types/agent-types.mdx +110 -0
  46. package/mintlify-docs/api-reference/core-types/analytics-types.mdx +95 -0
  47. package/mintlify-docs/api-reference/core-types/configuration-types.mdx +83 -0
  48. package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +106 -0
  49. package/mintlify-docs/api-reference/core-types/job-types.mdx +135 -0
  50. package/mintlify-docs/api-reference/core-types/overview.mdx +73 -0
  51. package/mintlify-docs/api-reference/core-types/prompt-types.mdx +102 -0
  52. package/mintlify-docs/api-reference/core-types/rbac-types.mdx +163 -0
  53. package/mintlify-docs/api-reference/core-types/session-types.mdx +77 -0
  54. package/mintlify-docs/api-reference/core-types/user-management.mdx +112 -0
  55. package/mintlify-docs/api-reference/core-types/workflow-types.mdx +88 -0
  56. package/mintlify-docs/api-reference/core-types.mdx +585 -0
  57. package/mintlify-docs/api-reference/dynamic-types.mdx +851 -0
  58. package/mintlify-docs/api-reference/endpoint/create.mdx +4 -0
  59. package/mintlify-docs/api-reference/endpoint/delete.mdx +4 -0
  60. package/mintlify-docs/api-reference/endpoint/get.mdx +4 -0
  61. package/mintlify-docs/api-reference/endpoint/webhook.mdx +4 -0
  62. package/mintlify-docs/api-reference/introduction.mdx +661 -0
  63. package/mintlify-docs/api-reference/mutations.mdx +1012 -0
  64. package/mintlify-docs/api-reference/openapi.json +217 -0
  65. package/mintlify-docs/api-reference/queries.mdx +1154 -0
  66. package/mintlify-docs/backend/introduction.mdx +218 -0
  67. package/mintlify-docs/changelog.mdx +293 -0
  68. package/mintlify-docs/community-edition.mdx +304 -0
  69. package/mintlify-docs/core/exulu-agent/api-reference.mdx +894 -0
  70. package/mintlify-docs/core/exulu-agent/configuration.mdx +690 -0
  71. package/mintlify-docs/core/exulu-agent/introduction.mdx +552 -0
  72. package/mintlify-docs/core/exulu-app/api-reference.mdx +481 -0
  73. package/mintlify-docs/core/exulu-app/configuration.mdx +319 -0
  74. package/mintlify-docs/core/exulu-app/introduction.mdx +117 -0
  75. package/mintlify-docs/core/exulu-authentication.mdx +810 -0
  76. package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +1011 -0
  77. package/mintlify-docs/core/exulu-chunkers/configuration.mdx +596 -0
  78. package/mintlify-docs/core/exulu-chunkers/introduction.mdx +403 -0
  79. package/mintlify-docs/core/exulu-context/api-reference.mdx +911 -0
  80. package/mintlify-docs/core/exulu-context/configuration.mdx +648 -0
  81. package/mintlify-docs/core/exulu-context/introduction.mdx +394 -0
  82. package/mintlify-docs/core/exulu-database.mdx +811 -0
  83. package/mintlify-docs/core/exulu-default-agents.mdx +545 -0
  84. package/mintlify-docs/core/exulu-eval/api-reference.mdx +772 -0
  85. package/mintlify-docs/core/exulu-eval/configuration.mdx +680 -0
  86. package/mintlify-docs/core/exulu-eval/introduction.mdx +459 -0
  87. package/mintlify-docs/core/exulu-logging.mdx +464 -0
  88. package/mintlify-docs/core/exulu-otel.mdx +670 -0
  89. package/mintlify-docs/core/exulu-queues/api-reference.mdx +648 -0
  90. package/mintlify-docs/core/exulu-queues/configuration.mdx +650 -0
  91. package/mintlify-docs/core/exulu-queues/introduction.mdx +474 -0
  92. package/mintlify-docs/core/exulu-reranker/api-reference.mdx +630 -0
  93. package/mintlify-docs/core/exulu-reranker/configuration.mdx +663 -0
  94. package/mintlify-docs/core/exulu-reranker/introduction.mdx +516 -0
  95. package/mintlify-docs/core/exulu-tool/api-reference.mdx +723 -0
  96. package/mintlify-docs/core/exulu-tool/configuration.mdx +805 -0
  97. package/mintlify-docs/core/exulu-tool/introduction.mdx +539 -0
  98. package/mintlify-docs/core/exulu-variables/api-reference.mdx +699 -0
  99. package/mintlify-docs/core/exulu-variables/configuration.mdx +736 -0
  100. package/mintlify-docs/core/exulu-variables/introduction.mdx +511 -0
  101. package/mintlify-docs/development.mdx +94 -0
  102. package/mintlify-docs/docs.json +248 -0
  103. package/mintlify-docs/enterprise-edition.mdx +538 -0
  104. package/mintlify-docs/essentials/code.mdx +35 -0
  105. package/mintlify-docs/essentials/images.mdx +59 -0
  106. package/mintlify-docs/essentials/markdown.mdx +88 -0
  107. package/mintlify-docs/essentials/navigation.mdx +87 -0
  108. package/mintlify-docs/essentials/reusable-snippets.mdx +110 -0
  109. package/mintlify-docs/essentials/settings.mdx +318 -0
  110. package/mintlify-docs/favicon.svg +3 -0
  111. package/mintlify-docs/frontend/introduction.mdx +39 -0
  112. package/mintlify-docs/getting-started.mdx +267 -0
  113. package/mintlify-docs/guides/custom-agent.mdx +608 -0
  114. package/mintlify-docs/guides/first-agent.mdx +315 -0
  115. package/mintlify-docs/images/admin_ui.png +0 -0
  116. package/mintlify-docs/images/contexts.png +0 -0
  117. package/mintlify-docs/images/create_agents.png +0 -0
  118. package/mintlify-docs/images/evals.png +0 -0
  119. package/mintlify-docs/images/graphql.png +0 -0
  120. package/mintlify-docs/images/graphql_api.png +0 -0
  121. package/mintlify-docs/images/hero-dark.png +0 -0
  122. package/mintlify-docs/images/hero-light.png +0 -0
  123. package/mintlify-docs/images/hero.png +0 -0
  124. package/mintlify-docs/images/knowledge_sources.png +0 -0
  125. package/mintlify-docs/images/mcp.png +0 -0
  126. package/mintlify-docs/images/scaling.png +0 -0
  127. package/mintlify-docs/index.mdx +411 -0
  128. package/mintlify-docs/logo/dark.svg +9 -0
  129. package/mintlify-docs/logo/light.svg +9 -0
  130. package/mintlify-docs/partners.mdx +558 -0
  131. package/mintlify-docs/products.mdx +77 -0
  132. package/mintlify-docs/snippets/snippet-intro.mdx +4 -0
  133. package/mintlify-docs/styles.css +207 -0
  134. package/{documentation → old-documentation}/logging.md +3 -3
  135. package/package.json +35 -4
  136. package/skills-lock.json +10 -0
  137. package/types/context-processor.ts +45 -0
  138. package/types/exulu-table-definition.ts +79 -0
  139. package/types/file-types.ts +18 -0
  140. package/types/models/agent.ts +10 -12
  141. package/types/models/exulu-agent-tool-config.ts +11 -0
  142. package/types/models/rate-limiter-rules.ts +7 -0
  143. package/types/provider-config.ts +21 -0
  144. package/types/queue-config.ts +16 -0
  145. package/types/rbac-rights-modes.ts +1 -0
  146. package/types/statistics.ts +20 -0
  147. package/types/workflow.ts +31 -0
  148. package/changelog-backend-10.11.2025_03.12.2025.md +0 -316
  149. package/types/models/agent-backend.ts +0 -15
  150. /package/{documentation → old-documentation}/otel.md +0 -0
  151. /package/{patch-older-releases-readme.md → old-documentation/patch-older-releases.md} +0 -0
@@ -0,0 +1,218 @@
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>
@@ -0,0 +1,293 @@
1
+ ---
2
+ title: "Changelog"
3
+ description: "Product updates and release notes for Exulu IMP"
4
+ ---
5
+
6
+ <Update label="March 2026">
7
+ **Release Date:** March 5, 2026
8
+
9
+ 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.
10
+
11
+ ### Versions
12
+ - **Backend NPM package:** 1.47.0
13
+
14
+ <Info>This is a development release. Please make sure you are using the latest compatible frontend and backend versions.</Info>
15
+
16
+ ## What's New
17
+
18
+ ### Agentic Retrieval System
19
+ We've introduced a powerful AI-powered retrieval system that revolutionizes how your agents search through knowledge bases:
20
+
21
+ - **Multi-step Retrieval Agent:** Implements an intelligent tool loop architecture that dynamically selects the best search strategy
22
+ - **Smart Search Strategy Selection:** Automatically chooses between hybrid, semantic, or keyword search based on query context
23
+ - **Multilingual Support:** Built-in language detection and reasoning support for 8+ languages
24
+ - **Intelligent Reranking:** Improves search relevance by reordering results based on semantic similarity
25
+ - **Resilient API Handling:** Retry logic with exponential backoff ensures reliable operations
26
+
27
+ ### NLP Query Preprocessing
28
+ Enhanced search capabilities with advanced natural language processing:
29
+
30
+ - **Language Detection:** Automatic detection using the franc library with support for multiple languages
31
+ - **Language-Specific Stemming:** Implements the natural NLP library for better query understanding
32
+ - **Query Variations:** Generates multilingual query variations for improved search coverage
33
+ - **PostgreSQL FTS Integration:** Maps ISO 639-3 language codes to PostgreSQL full-text search configurations
34
+
35
+ ### Expanded Default AI Model Support
36
+
37
+ #### New Cerebras Default Models
38
+ High-performance AI models with impressive context windows now available via `ExuluDefaultAgents.cerebras.*`:
39
+ - **GPT-OSS-120B** (128k context)
40
+ - **LLAMA-3.1-8B** (32k context)
41
+ - **LLAMA-3.3-70B** (32k context)
42
+
43
+ ### Perplexity Internet Search
44
+ Real-time web search capabilities directly in your agents:
45
+
46
+ - **Live Web Search:** Query the internet in real-time via Perplexity API
47
+ - **Advanced Filtering:** Support for domain filtering and recency filtering
48
+ - **Automatic Citations:** Properly formatted citations in search results
49
+ - **Rate Limit Handling:** Built-in protection against API rate limits
50
+
51
+ ## Code Quality & Developer Experience
52
+
53
+ ### Refactored Codebase Architecture
54
+ - **Modular Organization:** Refactored `classes.ts` into individual modules for better maintainability
55
+ - **Fixed Import References:** Corrected all source import paths for consistency
56
+ - **Decorator Folder Fix:** Corrected typo in registry decorator folder name (`decoraters` → `decorators`) and updated all import paths
57
+
58
+ ### Enhanced Development Tooling
59
+ For contributors working on the Exulu IMP source code, we've significantly improved the development experience with comprehensive tooling:
60
+
61
+ - **ESLint Integration:** Configured with TypeScript support for consistent code quality
62
+ - **Prettier Formatting:** Automatic code formatting for a clean codebase
63
+ - **Jest Testing Framework:** Set up with ts-jest for robust testing
64
+ - **Code Duplication Detection:** Added jscpd for identifying and managing code duplication
65
+ - **npm Scripts:** New commands for testing, linting, formatting, and validation
66
+
67
+ <Note>These tooling improvements are for source contributors only and do not affect users of the `@exulu/backend` npm package.</Note>
68
+
69
+ Available scripts for contributors:
70
+ ```bash
71
+ npm test # Run tests
72
+ npm run lint # Check code quality
73
+ npm run format # Format code
74
+ npm run validate # Type check + lint + test
75
+ npm run cpd # Check code duplication
76
+ ```
77
+
78
+ ### Stricter TypeScript Configuration
79
+ Improved type safety across the codebase:
80
+ - Enabled `noImplicitAny` and `strictNullChecks`
81
+ - Added `noUnusedLocals` and `noUnusedParameters` checks
82
+ - Updated target from ESNext to ES2022 for better compatibility
83
+
84
+ ## Bug Fixes & Improvements
85
+
86
+ ### Security & Stability
87
+ - **npm Audit Vulnerabilities:** Fixed all identified security vulnerabilities
88
+ - **Removed Debug Code:** Cleaned up development artifacts and debug file writes from agentic-retrieval.ts
89
+ - **Agent ID Conflicts:** Fixed duplicate agent IDs in Claude Sonnet 4 and 4.5 agents
90
+
91
+ ### Code Cleanup
92
+ - **Linting Errors:** Resolved all linting errors across the codebase
93
+ - **Prettier Formatting:** Applied consistent code formatting
94
+ - **Documentation Organization:** Moved file storage documentation to proper folder structure
95
+ - **Removed Unused Code:** Cleaned up commented console.log statements and unnecessary imports
96
+ - **Math Tools Removed:** Removed unused math tools (arithmetic, statistics, trigonometric)
97
+
98
+ ## Dependency Updates
99
+
100
+ ### Major Upgrades
101
+ - **Vercel AI SDK:** Upgraded from v5 to v6 for the latest AI capabilities
102
+ - **AI Provider SDKs:** Updated Anthropic, Google Vertex, and OpenAI SDKs
103
+
104
+ ### New Dependencies
105
+ - `@ai-sdk/cerebras` - Cerebras model support
106
+ - `@perplexity-ai/perplexity_ai` - Web search integration
107
+ - `franc` - Language detection
108
+ - `natural` - NLP and stemming
109
+ - `wink-nlp` - Additional NLP capabilities
110
+ - `zod-to-json-schema` - Schema conversion utilities
111
+ - `jscpd` - Code duplication detection
112
+
113
+ ## What This Means For You
114
+
115
+ - **Better Code Quality:** Enhanced tooling and stricter TypeScript checks catch issues earlier
116
+ - **Easier Debugging:** Cleaner codebase with removed debug artifacts
117
+ - **More Maintainable:** Modular architecture makes it easier to understand and extend
118
+ - **Smarter Search:** Agentic retrieval and NLP preprocessing deliver more relevant results
119
+ - **Multilingual Support:** Your agents can now handle queries in multiple languages
120
+ - **More AI Options:** Choose from expanded model offerings including Cerebras and Perplexity
121
+ - **Live Web Search:** Agents can now access real-time information from the internet
122
+ - **More Reliable:** Bug fixes and security updates ensure stable operations
123
+ - **Better Performance:** Optimized search tools and consolidated architecture
124
+ - **Enhanced Security:** Resolved npm audit vulnerabilities
125
+
126
+ ## Getting Started
127
+
128
+ To upgrade to the latest version:
129
+
130
+ ```bash
131
+ npm install @exulu/backend@latest
132
+ ```
133
+ </Update>
134
+
135
+ <Update label="January 2026">
136
+ **Release Date:** January 10, 2026
137
+
138
+ 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.
139
+
140
+ ### Versions
141
+ - **Backend NPM package:** 1.45.0
142
+ - **Frontend Docker image:** latest | 1.27.0
143
+ - **Frontend NPM package:** 1.16.1
144
+
145
+ <Info>Please make sure you are using the latest compatible frontend and backend versions.</Info>
146
+
147
+ ## What's New
148
+
149
+ ### Enhanced Workflow Automation
150
+ We've significantly enhanced our workflow system with powerful new scheduling and monitoring capabilities:
151
+
152
+ - **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
153
+ - **Simplified Workflow Object:** Streamlined workflow schema with direct agent references via UUID, removing unnecessary complexity around ownership, variables, and RBAC fields
154
+ - **Run History Tracking:** Comprehensive history view for every workflow execution with full result, error, and metadata inspection
155
+ - **Real-time Monitoring:** Live status indicators showing active, completed, and failed workflow runs with instant updates
156
+ - **Visual Feedback:** Enhanced UI with status badges, tooltips, and at-a-glance health indicators for better workflow visibility
157
+ - **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
158
+ - **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)
159
+
160
+ These improvements make it easier than ever to automate recurring tasks and monitor their execution at scale.
161
+
162
+ ### Chat Experience Overhaul
163
+ We've completely refactored the chat architecture to deliver a faster, more intuitive conversational experience:
164
+
165
+ - **Server Components Migration:** Chat pages now leverage Next.js server components for dramatically improved initial load performance
166
+ - **Session Auto-creation:** Cleaner flow when starting new conversations with automatic session management
167
+ - **Improved Session UI:** Streamlined the Chat Session UI by hiding metadata such as created date and edit options behind hover states
168
+ - **Chat Search:** New dedicated search page to find specific messages or sessions across your entire chat history
169
+ - **Save as Workflow:** Persistent banner in chat interface making it easy to convert conversations into reusable workflow templates
170
+ - **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
171
+ - **User Personalization:** Enhanced system prompts with user firstname/lastname fields for better agent personalization (configurable via privacy settings)
172
+
173
+ ### Agent & Prompt Management
174
+ Managing agents and prompts is now significantly more powerful and organized:
175
+
176
+ - **Prompt Library:** Browse prompts by tags with grouped category views at `/prompts/[tag]`
177
+ - **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
178
+ - **Quick Agent Duplication:** Copy existing agents with one click to accelerate agent creation using the new `<entity>CopyOneById` GraphQL mutation
179
+ - **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
180
+ - **Enhanced Tool Configuration:** Collapsible categories and search functionality in tool selection
181
+ - **Separated Instructions:** Clear distinction between system instructions and custom instructions, now fully exposed in GraphQL schema and shown in the UI if provided
182
+
183
+ ### Knowledge Base Data Processing Architecture
184
+ A fundamental refactor of our data processing system improves consistency and reduces complexity:
185
+
186
+ - **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
187
+ - **Item-level Processing:** Migrated from field-level to item-level processors (`ExuluContextFieldProcessor` → `ExuluContextProcessor`) to reduce complexity
188
+ - **Bulk Operations:** Process multiple items at once with new `ProcessItems` GraphQL mutation supporting filter and limit parameters
189
+ - **Processor Visibility:** New processors view in the knowledge base section showing configuration details, queue status, and execution history
190
+ - **Timestamp Tracking:** Added `last_processed_at` field on items for better processing visibility
191
+ - **Queue Management Integration:** Direct access to queue controls from processor configuration with configurable timeouts (default: 180s, up to 30 minutes for long operations)
192
+ - **Enhanced Concurrency:** Separate worker and queue-level concurrency settings for granular control over job processing
193
+ - **Improved Database Pool:** Increased connection pool from 20 to 50 connections with statement timeouts to handle concurrent processor jobs
194
+ - **Automatic JSON Handling:** JSON fields now automatically serialize during create and update operations
195
+
196
+ ### Project Context Integration
197
+ Agents can now automatically leverage project-specific context for enhanced retrieval capabilities:
198
+
199
+ - **Project-aware Sessions:** Chat sessions can be associated with projects for contextual tool access with automatic project tool injection
200
+ - **Project-scoped Retrieval:** New `createProjectRetrievalTool` enables project-specific information search across multiple contexts with hybrid search and filtering
201
+ - **Enhanced Metadata:** Project cards display creation date, character count, and chunk information
202
+ - **Automatic Tool Ingestion:** Agents automatically gain access to project-specific retrieval tools when sessions have associated projects
203
+ - **Project Caching:** Optimized repeated project queries with intelligent caching mechanisms
204
+
205
+ ### Vector Search & Context System
206
+ Major improvements to our semantic search and retrieval capabilities:
207
+
208
+ - **Adaptive Filtering:** Automatic threshold filtering (60-70% of best match score) removes low-quality results
209
+ - **Chunk Expansion:** Configurable option to retrieve surrounding chunks (before/after) for better context continuity
210
+ - **Enhanced Hybrid Search:** Improved RRF weighting and scoring with better cosine distance, tsvector, and hybrid cutoff thresholds
211
+ - **Increased Capacity:** Maximum retrieval limit increased from 50 to 250 results
212
+ - **Improved Text Search:** tsvector search now uses OR logic for better partial matching of technical terms
213
+ - **Archive Filtering:** Archived items automatically excluded from all search methods
214
+ - **Context Metadata:** New `chunks_count` and `embeddings_updated_at` fields for better visibility
215
+ - **Chunk Management:** Added limit parameters to `generateChunks` and `deleteChunks` mutations with proper counting support
216
+ - **Direct Search API:** Added search method directly to `ExuluContext` class for easier integration
217
+
218
+ <Warning>Depending on your current Exulu IMP version you might need to update your database schema to add missing fields.</Warning>
219
+
220
+ ### Access Control & Security
221
+ Enhanced security and access control mechanisms across the platform:
222
+
223
+ - **Refined RBAC Logic:** More explicit and maintainable role-based access control with improved conditionals
224
+ - **Non-admin Chunk Limits:** Non-super-admins can generate/delete chunks with configurable limits for safety
225
+ - **User-scoped File Access:** Proper folder prefixing and user-scoped access control in file upload routes
226
+ - **Global File Management:** Enhanced download access control to support both user-scoped and global file access
227
+ - **Record Privacy Reset:** Copied records automatically reset to private `rights_mode` with new timestamps
228
+ - **Improved Authentication:** Better handling of unauthenticated requests with proper fallback behavior
229
+ - **Context-specific Validation:** Enhanced role validation for context-specific operations
230
+
231
+ ## Technical Improvements
232
+
233
+ ### Performance & Architecture
234
+ - **Next.js 16 Upgrade:** Migrated entire application to Next.js 16 for latest features and performance
235
+ - **GraphiQL v4:** Updated to latest GraphiQL version with improved developer experience
236
+ - **Server-side Data Fetching:** New `fetchGraphQLServerSide` moves certain fetch operations to server components
237
+ - **Optimistic Updates:** Better perceived performance with optimistic UI updates throughout
238
+ - **Query Optimization:** Full-text search now uses `ts_rank` instead of `ts_rank_cd` for better performance
239
+ - **GraphQL Filter Extensions:** Added `lte` and `gte` operators for Float filter types
240
+ - **Eval Worker Scaling:** Increased eval runs queue concurrency from 1 to 10 workers for faster evaluation processing
241
+
242
+ ### Developer Experience
243
+ - **Toast Notifications:** Standardized on Sonner library for consistent notification styling
244
+ - **Type Safety:** Enhanced TypeScript definitions across agent sessions, items, and workflows
245
+ - **Better Error Handling:** Improved API error responses and user-facing error states with proper null handling in job results
246
+ - **S3 Integration:** Simplified bucket handling with slash-based key notation (bucket/key) for better consistency
247
+ - **Global File Uploads:** New global file upload support outside user directories with enhanced access control (used primarily for agent visuals)
248
+
249
+ ### UI/UX Polish
250
+ - **Navigation Improvements:** Streamlined navigation with better visual hierarchy
251
+ - **Layout Refinements:** Fixed numerous spacing and alignment issues across pages
252
+ - **Status Indicators:** Consistent status badges and tooltips for better information density
253
+
254
+ ## Bug Fixes & Refinements
255
+
256
+ ### Minor Fixes
257
+ - Resolved duplicate todo list message rendering
258
+ - Fixed command item disabled styling and duplicate keys in tool lists
259
+ - Corrected search results layout from multi-column to single-column for readability
260
+ - Added automatic data refresh after chunk deletion
261
+ - Fixed missing spaces in chat session layout
262
+ - Improved retry functionality for embeddings and processor jobs
263
+ - Fixed `hasNextPage` logic in pagination queries
264
+ - Fixed access control to properly handle unauthenticated requests with `super_admin` bypass
265
+ - Corrected S3 key prefix ordering (user prefix before general prefix) and proper bucket name handling
266
+ - Fixed file deletion by properly stripping bucket prefix
267
+ - Fixed `created_by` type handling (string vs number) in access control checks
268
+ - Fixed eval run deletion to properly clean up associated `job_results` entries
269
+ - Improved chunk deletion safety by checking table existence before deletion
270
+ - Fixed image handling in chat API for proper multimodal support
271
+
272
+ ## Cleanup & Deprecations
273
+ This release includes significant cleanup to maintain codebase health:
274
+
275
+ - Removed deprecated `jobs-status-area` component
276
+ - Removed obsolete `chat-empty-state` component
277
+ - Removed deprecated `agent-nav` component
278
+ - Consolidated redundant layout files
279
+ - Removed `recent-jobs` component in favor of unified queue management
280
+ - Removed deprecated `ExuluDefaultContexts` export
281
+ - Deleted unused template contexts (`code-standards.ts`, `outputs.ts`)
282
+ - Removed hardcoded context registrations from `ExuluApp`
283
+ - Removed excessive debug `console.log` statements from auth, postgres, and redis clients
284
+ - Cleaned up redundant code across multiple modules
285
+
286
+ ## What's Next
287
+ Looking ahead, we're focusing on:
288
+
289
+ - Advanced workflow conditions and branching
290
+ - Enhanced eval capabilities with more flexible test case management
291
+ - Real-time collaboration features for shared agents and workflows
292
+ - Extended monitoring and observability for production deployments
293
+ </Update>