Integrate Context-Engine RAG service for enhanced LLM responses
Backend: - Created context-engine/client.ts - HTTP client for Context-Engine API - Created context-engine/service.ts - Lifecycle management of Context-Engine sidecar - Created context-engine/index.ts - Module exports - Created server/routes/context-engine.ts - API endpoints for status/health/query Integration: - workspaces/manager.ts: Trigger indexing when workspace becomes ready (non-blocking) - index.ts: Initialize ContextEngineService on server start (lazy mode) - ollama-cloud.ts: Inject RAG context into chat requests when available Frontend: - model-selector.tsx: Added Context-Engine status indicator - Green dot = Ready (RAG enabled) - Blue pulsing dot = Indexing - Red dot = Error - Hidden when Context-Engine not running All operations are non-blocking with graceful fallback when Context-Engine is unavailable.
This commit is contained in:
@@ -19,6 +19,7 @@ import { createLogger } from "./logger"
|
||||
import { getUserConfigPath } from "./user-data"
|
||||
import { launchInBrowser } from "./launcher"
|
||||
import { startReleaseMonitor } from "./releases/release-monitor"
|
||||
import { initializeContextEngineService, shutdownContextEngineService } from "./context-engine"
|
||||
|
||||
const require = createRequire(import.meta.url)
|
||||
|
||||
@@ -140,6 +141,16 @@ async function main() {
|
||||
logger: logger.child({ component: "instance-events" }),
|
||||
})
|
||||
|
||||
// Initialize Context-Engine service (lazy start - starts when first workspace opens)
|
||||
const contextEngineService = initializeContextEngineService(
|
||||
{
|
||||
lazyStart: true,
|
||||
port: 8000,
|
||||
host: "localhost",
|
||||
},
|
||||
logger.child({ component: "context-engine" })
|
||||
)
|
||||
|
||||
const serverMeta: ServerMeta = {
|
||||
httpBaseUrl: `http://${options.host}:${options.port}`,
|
||||
eventsUrl: `/api/events`,
|
||||
@@ -211,6 +222,13 @@ async function main() {
|
||||
logger.error({ err: error }, "Workspace manager shutdown failed")
|
||||
}
|
||||
|
||||
try {
|
||||
await shutdownContextEngineService()
|
||||
logger.info("Context-Engine shutdown complete")
|
||||
} catch (error) {
|
||||
logger.error({ err: error }, "Context-Engine shutdown failed")
|
||||
}
|
||||
|
||||
releaseMonitor.stop()
|
||||
|
||||
logger.info("Exiting process")
|
||||
|
||||
Reference in New Issue
Block a user