From 5f5fec9d00060d259549ac1a36d74d38ea40e925 Mon Sep 17 00:00:00 2001 From: Storme-bit Date: Wed, 15 Apr 2026 02:43:16 -0700 Subject: [PATCH] wired in project isolation --- .../orchestration-service/src/chat/index.js | 71 +++++++++---------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/packages/orchestration-service/src/chat/index.js b/packages/orchestration-service/src/chat/index.js index 30add87..64d6dca 100644 --- a/packages/orchestration-service/src/chat/index.js +++ b/packages/orchestration-service/src/chat/index.js @@ -102,26 +102,21 @@ async function chat(externalId, userMessage, options = {}) { let session = await memory.getSessionByExternalId(externalId); if (!session) session = await memory.createSession(externalId); - let projectSessionIds = null; - if (session.project_id) { - try { - const project = await memory.getProject(session.project_id); - if (project?.isolated === 1) { - const projectSessions = await memory.getProjectSessions( - session.project_id, - ); - projectSessionIds = projectSessions.map((s) => s.id); - console.log( - `[orchestration] Isolated project ${session.project_id} — restricting search to ${projectSessionIds.length} sessions`, - ); - } - } catch (err) { - console.warn( - "[orchestration] Failed to resolve isolation context:", - err.message, - ); +let projectSessionIds = null; +if (session.project_id) { + try { + console.log('[orchestration] Resolving isolation for project:', session.project_id); + const project = await memory.getProject(session.project_id); + console.log('[orchestration] Project resolved:', project); + if (project?.isolated === 1) { + const projectSessions = await memory.getProjectSessions(session.project_id); + console.log('[orchestration] Project sessions:', projectSessions); + projectSessionIds = projectSessions.map(s => s.id); } + } catch (err) { + console.warn('[orchestration] Failed to resolve isolation context:', err.message); } +} // 2. Fetch recent episodes for context const recentEpisodes = await memory.getRecentEpisodes( @@ -172,6 +167,10 @@ async function chat(externalId, userMessage, options = {}) { } async function chatStream(externalId, userMessage, onChunk, options = {}) { + +console.log('[orchestration] chatStream entry'); + try { + console.log("[orchestration] chatStream called:", { externalId, userMessage: userMessage.slice(0, 50), @@ -179,26 +178,21 @@ async function chatStream(externalId, userMessage, onChunk, options = {}) { let session = await memory.getSessionByExternalId(externalId); if (!session) session = await memory.createSession(externalId); - let projectSessionIds = null; - if (session.project_id) { - try { - const project = await memory.getProject(session.project_id); - if (project?.isolated === 1) { - const projectSessions = await memory.getProjectSessions( - session.project_id, - ); - projectSessionIds = projectSessions.map((s) => s.id); - console.log( - `[orchestration] Isolated project ${session.project_id} — restricting search to ${projectSessionIds.length} sessions`, - ); - } - } catch (err) { - console.warn( - "[orchestration] Failed to resolve isolation context:", - err.message, - ); +let projectSessionIds = null; +if (session.project_id) { + try { + console.log('[orchestration] Resolving isolation for project:', session.project_id); + const project = await memory.getProject(session.project_id); + console.log('[orchestration] Project resolved:', project); + if (project?.isolated === 1) { + const projectSessions = await memory.getProjectSessions(session.project_id); + console.log('[orchestration] Project sessions:', projectSessions); + projectSessionIds = projectSessions.map(s => s.id); } + } catch (err) { + console.warn('[orchestration] Failed to resolve isolation context:', err.message); } +} const recentEpisodes = await memory.getRecentEpisodes( session.id, @@ -279,5 +273,10 @@ async function chatStream(externalId, userMessage, onChunk, options = {}) { } return { model, tokenCount }; + } catch (err) { + console.error('[orchestration] chatStream fatal error:', err.message, err.stack); + throw err; + } } + module.exports = { chat, chatStream };