This ticket covers refactoring ai/mcp/server/knowledge-base/services/databaseLifecycleService.mjs into a singleton class that extends Neo.core.Base. The file was renamed to DatabaseLifecycleService.mjs to follow project conventions. This service is responsible for starting, stopping, and checking the status of the ChromaDB process for the knowledge base.
Acceptance Criteria
- The file
ai/mcp/server/knowledge-base/services/databaseLifecycleService.mjs is renamed to DatabaseLifecycleService.mjs.
- The content is replaced with a
DatabaseLifecycleService class that extends Neo.core.Base and is configured as a singleton.
- Existing functions (
start_database, stop_database, get_database_status) are converted into class methods.
- A new
ChromaManager.mjs service is created and used by the DatabaseLifecycleService to handle DB connections, mirroring the memory-core architecture.
- The
ai/mcp/server/knowledge-base/services/toolService.mjs is updated to import the DatabaseLifecycleService class and map its methods.
- All related tools (
start_database, stop_database) continue to function correctly after the refactoring.
This ticket covers refactoring
ai/mcp/server/knowledge-base/services/databaseLifecycleService.mjsinto a singleton class that extendsNeo.core.Base. The file was renamed toDatabaseLifecycleService.mjsto follow project conventions. This service is responsible for starting, stopping, and checking the status of the ChromaDB process for the knowledge base.Acceptance Criteria
ai/mcp/server/knowledge-base/services/databaseLifecycleService.mjsis renamed toDatabaseLifecycleService.mjs.DatabaseLifecycleServiceclass that extendsNeo.core.Baseand is configured as a singleton.start_database,stop_database,get_database_status) are converted into class methods.ChromaManager.mjsservice is created and used by theDatabaseLifecycleServiceto handle DB connections, mirroring thememory-corearchitecture.ai/mcp/server/knowledge-base/services/toolService.mjsis updated to import theDatabaseLifecycleServiceclass and map its methods.start_database,stop_database) continue to function correctly after the refactoring.