logger updates
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
const Database = require('better-sqlite3');
|
||||
const schema = require('./schema');
|
||||
const {getEnv, SQLITE } = require('@nexusai/shared');
|
||||
const {getEnv, SQLITE, logger } = require('@nexusai/shared');
|
||||
|
||||
let db; // Declare db variable in a scope accessible to all functions
|
||||
|
||||
@@ -62,7 +62,7 @@ function getDB() {
|
||||
db.exec(`INSERT OR REPLACE INTO episodes_fts(rowid, user_message, ai_response)
|
||||
SELECT id, user_message, ai_response FROM episodes`);
|
||||
|
||||
console.log(`Connected to SQLite database at ${path}`);
|
||||
logger.info(`Connected to SQLite database at ${path}`);
|
||||
}
|
||||
return db;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const semantic = require('../semantic')
|
||||
const { getEnv, SERVICES, formatEpisodeText, ENTITIES } = require('@nexusai/shared');
|
||||
const { getEnv, SERVICES, formatEpisodeText, ENTITIES, logger } = require('@nexusai/shared');
|
||||
const { upsertEntity } = require('./index');
|
||||
|
||||
const EXTRACTION_URL = getEnv('EXTRACTION_URL', 'http://localhost:11434');
|
||||
@@ -59,7 +59,7 @@ async function embedEntity(entity) {
|
||||
}
|
||||
|
||||
async function extractAndStoreEntities(userMessage, aiResponse, projectId=null) {
|
||||
console.log('[entities] Extraction triggered')
|
||||
logger.info('[entities] Extraction triggered')
|
||||
try {
|
||||
// Fetch existing entities to guide the model toward consistent name/type pairs
|
||||
const db = require('../db').getDB();
|
||||
@@ -90,7 +90,7 @@ async function extractAndStoreEntities(userMessage, aiResponse, projectId=null)
|
||||
const parsed = JSON.parse(raw);
|
||||
const entities = Array.isArray(parsed.entities) ? parsed.entities : [];
|
||||
if (entities.length === 0) {
|
||||
console.log('[entities] No entities found in this exchange — skipping');
|
||||
logger.debug('[entities] No entities found in this exchange — skipping');
|
||||
return; // not an error, just nothing to extract
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ async function extractAndStoreEntities(userMessage, aiResponse, projectId=null)
|
||||
if (IGNORED_NAMES.includes(name.toLowerCase())) continue;
|
||||
|
||||
const entity = upsertEntity(name, type, notes ?? null);
|
||||
console.log('[entities] Upserted entity:', entity);
|
||||
logger.info('[entities] Upserted entity:', entity);
|
||||
|
||||
// Embed and upsert to Qdrant fire-and-forget
|
||||
embedEntity(entity)
|
||||
@@ -116,17 +116,17 @@ async function extractAndStoreEntities(userMessage, aiResponse, projectId=null)
|
||||
projectId: projectId ?? null,
|
||||
}))
|
||||
.catch(err => {
|
||||
console.warn(`[entities] Failed to embed entity "${entity.name}":`, err.message);
|
||||
logger.warn(`[entities] Failed to embed entity "${entity.name}":`, err.message);
|
||||
});
|
||||
|
||||
saved++;
|
||||
}
|
||||
|
||||
if (saved > 0) console.log(`[entities] Extracted and stored ${saved} entities`);
|
||||
if (saved > 0) logger.info(`[entities] Extracted and stored ${saved} entities`);
|
||||
|
||||
} catch (err) {
|
||||
// Non-critical — log and move on, episode is already saved
|
||||
console.warn('[entities] Extraction failed:', err.message);
|
||||
logger.warn('[entities] Extraction failed:', err.message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const {getDB} = require('../db');
|
||||
const { EPISODIC, getEnv, SERVICES, parseRow, formatEpisodeText, SUMMARIES } = require('@nexusai/shared');
|
||||
const { EPISODIC, getEnv, SERVICES, parseRow, formatEpisodeText, SUMMARIES, logger } = require('@nexusai/shared');
|
||||
const semantic = require('../semantic');
|
||||
const { extractAndStoreEntities } = require('../entities/extraction')
|
||||
|
||||
@@ -125,10 +125,10 @@ async function createEpisode(sessionId, userMessage, aiResponse, tokenCount = nu
|
||||
sessionId: episode.session_id,
|
||||
createdAt: episode.created_at
|
||||
}))
|
||||
.catch(err => console.error(`Failed to embed episode ${episode.id}:`, err.message));
|
||||
.catch(err => logger.error(`Failed to embed episode ${episode.id}:`, err.message));
|
||||
|
||||
extractAndStoreEntities(userMessage, aiResponse, projectId)
|
||||
.catch(err => console.error(`Failed to extract entities for episode ${episode.id}:`, err.message));
|
||||
.catch(err => logger.error(`Failed to extract entities for episode ${episode.id}:`, err.message));
|
||||
|
||||
|
||||
return episode;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require ('dotenv').config();
|
||||
const express = require('express');
|
||||
const {getEnv, PORTS, EPISODIC} = require('@nexusai/shared');
|
||||
const {getEnv, PORTS, EPISODIC, logger} = require('@nexusai/shared');
|
||||
const { getDB } = require('./db');
|
||||
const { createProject, getProjects, getProject, updateProject, deleteProject } = require('./db/projects');
|
||||
const { createSummary, getSummary, getSummariesBySession, getSummariesByProject, updateSummary, deleteSummary } = require('./db/summaries');
|
||||
@@ -19,8 +19,8 @@ const PORT = getEnv('PORT', PORTS.MEMORY);
|
||||
const db = getDB();
|
||||
|
||||
semantic.initCollections()
|
||||
.then(() => console.log(`QDrant collections ready`))
|
||||
.catch(err => console.error(`QDrant initialization error:`, err.message));
|
||||
.then(() => logger.info(`QDrant collections ready`))
|
||||
.catch(err => logger.error(`QDrant initialization error:`, err.message));
|
||||
|
||||
// Health check endpoint
|
||||
app.get('/health', (req, res) => {
|
||||
@@ -158,7 +158,7 @@ app.delete('/episodes/:id', (req, res) => {
|
||||
episodic.deleteEpisode(id);
|
||||
|
||||
semantic.deleteEpisode(id) // fire-and-forget
|
||||
.catch(err => console.error(`[Memory] Qdrant delete failed for episode ${id}:`, err.message));
|
||||
.catch(err => logger.error(`[Memory] Qdrant delete failed for episode ${id}:`, err.message));
|
||||
|
||||
res.status(204).send();
|
||||
});
|
||||
@@ -338,5 +338,5 @@ app.delete('/summaries/:id', (req, res) => {
|
||||
/********** Start Server ********** */
|
||||
/********************************** */
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Memory Service is running on port ${PORT}`);
|
||||
logger.info(`Memory Service is running on port ${PORT}`);
|
||||
});
|
||||
@@ -1,5 +1,5 @@
|
||||
const {QdrantClient} = require('@qdrant/js-client-rest');
|
||||
const {QDRANT, COLLECTIONS, getEnv} = require('@nexusai/shared');
|
||||
const {QDRANT, COLLECTIONS, getEnv, logger} = require('@nexusai/shared');
|
||||
|
||||
let client;
|
||||
|
||||
@@ -24,9 +24,9 @@ async function initCollections() {
|
||||
distance: QDRANT.DISTANCE_METRIC
|
||||
}
|
||||
});
|
||||
console.log(`Created Qdrant collection: ${name}`);
|
||||
logger.info(`Created Qdrant collection: ${name}`);
|
||||
} else {
|
||||
console.log(`Qdrant collection already exists: ${name}`);
|
||||
logger.info(`Qdrant collection already exists: ${name}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user