Download Latest Version Neo.mjs v11.13.0 Release Notes source code.tar.gz (17.9 MB)
Email in envelope

Get an email when there's a new version of neo.mjs

Home / 11.11.0
Name Modified Size InfoDownloads / 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

Source: README.md, updated 2025-11-26