Add page data delivery and publication guards

This commit is contained in:
john
2026-07-08 21:10:47 +08:00
parent 8d629e7a4e
commit eea14c1855
66 changed files with 3035 additions and 413 deletions
+13 -9
View File
@@ -1,5 +1,7 @@
import crypto from 'node:crypto';
import { MEMORY_INTERVENTION_LIMIT } from './memory-intervention.mjs';
import { resolveMemoriesWithLegacyFallback } from './memory-legacy-fallback.mjs';
import { isMemoryRecallQuestion } from './chat-intent-router.mjs';
import { resolveSessionAccess } from './session-broker.mjs';
export const DIRECT_CHAT_SESSION_PREFIX = 'h5direct_';
@@ -294,15 +296,15 @@ export function createDirectChatService({
}
async function resolveMemories(userId, sessionId, query, { limit = MEMORY_INTERVENTION_LIMIT.LIGHT_DIRECT_CHAT } = {}) {
if (!userId || limit <= 0) return [];
if (memoryV2?.resolve) {
const result = await memoryV2.resolve({ userId, sessionId, query, limit }).catch(() => null);
return Array.isArray(result?.memories) ? result.memories : [];
}
if (conversationMemoryService?.listMemories) {
return conversationMemoryService.listMemories(userId, { limit }).catch(() => []);
}
return [];
return resolveMemoriesWithLegacyFallback({
memoryV2,
conversationMemoryService,
userId,
sessionId,
query,
limit,
recallQuestion: isMemoryRecallQuestion(query),
});
}
async function run({
@@ -348,7 +350,9 @@ export function createDirectChatService({
},
pendingMessages,
);
const recallQuestion = isMemoryRecallQuestion(messageText(userMessage));
const routedMemoryContent =
!recallQuestion &&
routingMemory && !routingMemory.skipped && !routingMemory.degraded
? String(routingMemory.content ?? '').trim()
: '';