| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Neo.mjs v11.11.0 Release Notes source code.tar.gz | 2025-11-26 | 17.9 MB | |
| Neo.mjs v11.11.0 Release Notes source code.zip | 2025-11-26 | 20.8 MB | |
| README.md | 2025-11-26 | 3.3 kB | |
| Totals: 3 Items | 38.8 MB | 0 | |
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.
✨ Highlights
🧠 Knowledge Base: Modular Architecture
The DatabaseService—previously a "God Class" handling everything from file crawling to embedding—has been refactored into a clean, domain-driven design:
- Parsers (ai.mcp.server.knowledge_base.parser): Specialized singletons for understanding specific content formats (e.g., TestParser for Playwright files, DocumentationParser for markdown).
- Source Providers (ai.mcp.server.knowledge_base.source): Dedicated classes responsible for crawling specific domains (e.g., ApiSource, TicketSource, LearningSource).
- Vector Service: A dedicated service now handles the heavy lifting of embedding generation and vector database interactions.
This separation of concerns makes the AI infrastructure more robust and easier to extend with new knowledge sources in the future.
🎯 Granular Test Indexing
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:
- Header Chunks: Capture high-level context, imports, and test.describe blocks.
- Test Case Chunks: Each test() function is indexed individually with precise line-number metadata.
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.
⚡ VDom Worker Stability
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.
📦 Full Changelog
AI Knowledge Base & Infrastructure
- Split Playwright tests into granular knowledge base chunks for better retrieval (Issue [#7901])
- Refactor Knowledge Base parsing logic into domain-specific Singletons (Issue [#7902])
- Refactor Knowledge Base crawling logic into Source Providers (Issue [#7903])
- Refactor Knowledge Base embedding logic into Vector Service (Issue [#7904])
- ai.mcp.server.knowledge-base.source.Base: remove the singleton config (Issue [#7905])
- Refactor ApiSource hardcoded path to non-reactive config (Issue [#7906])
Core Framework & Workers
- Fix race condition in VDom worker initialization (Issue [#7907])
- Refactor vdom.Helper initAsync to use optional chaining (Issue [#7908])
All changes in 1 commit: https://github.com/neomjs/neo/commit/491f87600877ca1cc5f564f613fa4d315c996bbc