You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release brings a major architectural refactoring to the **AI Knowledge Base**'s ingestion engine. We have transitioned the implementation from a monolithic `DatabaseService` to a modular, extensible design. By decomposing the system into specialized Parsers and Source Providers, we have significantly improved the platform's ability to ingest and index diverse content types.
11
+
12
+
## ✨ Highlights
13
+
14
+
### 🧠 Knowledge Base: Modular Architecture
15
+
16
+
The `DatabaseService`—previously a "God Class" handling everything from file crawling to embedding—has been refactored into a clean, domain-driven design:
17
+
-**Parsers (`ai.mcp.server.knowledge_base.parser`):** Specialized singletons for understanding specific content formats (e.g., `TestParser` for Playwright files, `DocumentationParser` for markdown).
18
+
-**Source Providers (`ai.mcp.server.knowledge_base.source`):** Dedicated classes responsible for crawling specific domains (e.g., `ApiSource`, `TicketSource`, `LearningSource`).
19
+
-**Vector Service:** A dedicated service now handles the heavy lifting of embedding generation and vector database interactions.
20
+
21
+
This separation of concerns makes the AI infrastructure more robust and easier to extend with new knowledge sources in the future.
22
+
23
+
### 🎯 Granular Test Indexing
24
+
25
+
We have overhauled how automated tests are indexed. Instead of treating a test file as a single chunk of text, the new `TestParser` intelligently decomposes Playwright specs:
26
+
-**Header Chunks:** Capture high-level context, imports, and `test.describe` blocks.
27
+
-**Test Case Chunks:** Each `test()` function is indexed individually with precise line-number metadata.
28
+
29
+
This granularity allows AI agents to perform **semantic searches for specific test scenarios** (e.g., "How do I test grid filtering?") with much higher precision. Previously, an entire test file was indexed as a single monolithic chunk, diluting the semantic signal of individual test cases. Now, the vector search can identify and retrieve the exact test case that matches the query.
30
+
31
+
### ⚡ VDom Worker Stability
32
+
33
+
We resolved a race condition in the VDom worker initialization. Previously, the `Neo.vdom.Helper` could attempt to initialize its renderer before the global configuration was fully registered. This has been fixed by ensuring initialization waits for the `Neo.config` to be populated, improving startup stability.
34
+
35
+
## 📦 Full Changelog
36
+
37
+
### AI Knowledge Base & Infrastructure
38
+
-**Split Playwright tests into granular knowledge base chunks for better retrieval** (Issue #7901)
39
+
-**Refactor Knowledge Base parsing logic into domain-specific Singletons** (Issue #7902)
40
+
-**Refactor Knowledge Base crawling logic into Source Providers** (Issue #7903)
41
+
-**Refactor Knowledge Base embedding logic into Vector Service** (Issue #7904)
42
+
-**ai.mcp.server.knowledge-base.source.Base: remove the singleton config** (Issue #7905)
43
+
-**Refactor ApiSource hardcoded path to non-reactive config** (Issue #7906)
44
+
45
+
### Core Framework & Workers
46
+
-**Fix race condition in VDom worker initialization** (Issue #7907)
47
+
-**Refactor vdom.Helper initAsync to use optional chaining** (Issue #7908)
48
+
49
+
All changes in 1 commit: https://github.com/neomjs/neo/commit/491f87600877ca1cc5f564f613fa4d315c996bbc
0 commit comments