
























@@ -112,9 +112,14 @@ function resolveWorkspaces(params: {
112112cfg?: DreamingHostConfig;
113113fallbackWorkspaceDir?: string;
114114}): string[] {
115+const fallbackWorkspaceDir = normalizeTrimmedString(params.fallbackWorkspaceDir);
115116const workspaceCandidates = params.cfg
116117 ? resolveMemoryDreamingWorkspaces(
117118params.cfg as Parameters<typeof resolveMemoryDreamingWorkspaces>[0],
119+{
120+primaryWorkspaceDir: fallbackWorkspaceDir,
121+primaryAgentId: "main",
122+},
118123).map((entry) => entry.workspaceDir)
119124 : [];
120125const seen = new Set<string>();
@@ -125,7 +130,6 @@ function resolveWorkspaces(params: {
125130seen.add(workspaceDir);
126131return true;
127132});
128-const fallbackWorkspaceDir = normalizeTrimmedString(params.fallbackWorkspaceDir);
129133if (workspaces.length === 0 && fallbackWorkspaceDir) {
130134workspaces.push(fallbackWorkspaceDir);
131135}
@@ -641,13 +645,22 @@ function buildSessionRenderedLine(params: {
641645return `[${source}] ${params.snippet}`.slice(0, SESSION_INGESTION_MAX_SNIPPET_CHARS + 64);
642646}
643647644-function resolveSessionAgentsForWorkspace(cfg: DreamingHostConfig, workspaceDir: string): string[] {
648+function resolveSessionAgentsForWorkspace(params: {
649+cfg: DreamingHostConfig;
650+workspaceDir: string;
651+primaryWorkspaceDir?: string;
652+}): string[] {
653+const { cfg, workspaceDir, primaryWorkspaceDir } = params;
645654if (!cfg) {
646655return [];
647656}
648657const target = normalizeWorkspaceKey(workspaceDir);
649658const workspaces = resolveMemoryDreamingWorkspaces(
650659cfg as Parameters<typeof resolveMemoryDreamingWorkspaces>[0],
660+{
661+ primaryWorkspaceDir,
662+primaryAgentId: "main",
663+},
651664);
652665const match = workspaces.find((entry) => normalizeWorkspaceKey(entry.workspaceDir) === target);
653666if (!match) {
@@ -706,6 +719,7 @@ async function appendSessionCorpusLines(params: {
706719async function collectSessionIngestionBatches(params: {
707720workspaceDir: string;
708721cfg?: DreamingHostConfig;
722+primaryWorkspaceDir?: string;
709723lookbackDays: number;
710724nowMs: number;
711725timezone?: string;
@@ -720,7 +734,11 @@ async function collectSessionIngestionBatches(params: {
720734Object.keys(params.state.seenMessages).length > 0,
721735};
722736}
723-const agentIds = resolveSessionAgentsForWorkspace(params.cfg, params.workspaceDir);
737+const agentIds = resolveSessionAgentsForWorkspace({
738+cfg: params.cfg,
739+workspaceDir: params.workspaceDir,
740+primaryWorkspaceDir: params.primaryWorkspaceDir,
741+});
724742const cutoffMs = calculateLookbackCutoffMs(params.nowMs, params.lookbackDays);
725743const batchByDay = new Map<string, SessionIngestionMessage[]>();
726744const nextFiles: Record<string, SessionIngestionFileState> = {};
@@ -1003,6 +1021,7 @@ async function collectSessionIngestionBatches(params: {
10031021async function ingestSessionTranscriptSignals(params: {
10041022workspaceDir: string;
10051023cfg?: DreamingHostConfig;
1024+primaryWorkspaceDir?: string;
10061025lookbackDays: number;
10071026nowMs: number;
10081027timezone?: string;
@@ -1011,6 +1030,7 @@ async function ingestSessionTranscriptSignals(params: {
10111030const collected = await collectSessionIngestionBatches({
10121031workspaceDir: params.workspaceDir,
10131032cfg: params.cfg,
1033+primaryWorkspaceDir: params.primaryWorkspaceDir,
10141034lookbackDays: params.lookbackDays,
10151035nowMs: params.nowMs,
10161036timezone: params.timezone,
@@ -1520,6 +1540,7 @@ export function previewRemDreaming(params: {
15201540async function runLightDreaming(params: {
15211541workspaceDir: string;
15221542cfg?: DreamingHostConfig;
1543+primaryWorkspaceDir?: string;
15231544config: LightDreamingConfig;
15241545logger: Logger;
15251546subagent?: Parameters<typeof generateAndAppendDreamNarrative>[0]["subagent"];
@@ -1537,6 +1558,7 @@ async function runLightDreaming(params: {
15371558await ingestSessionTranscriptSignals({
15381559workspaceDir: params.workspaceDir,
15391560cfg: params.cfg,
1561+primaryWorkspaceDir: params.primaryWorkspaceDir,
15401562lookbackDays: params.config.lookbackDays,
15411563 nowMs,
15421564timezone: params.config.timezone,
@@ -1617,6 +1639,7 @@ async function runLightDreaming(params: {
16171639async function runRemDreaming(params: {
16181640workspaceDir: string;
16191641cfg?: DreamingHostConfig;
1642+primaryWorkspaceDir?: string;
16201643config: RemDreamingConfig;
16211644logger: Logger;
16221645subagent?: Parameters<typeof generateAndAppendDreamNarrative>[0]["subagent"];
@@ -1634,6 +1657,7 @@ async function runRemDreaming(params: {
16341657await ingestSessionTranscriptSignals({
16351658workspaceDir: params.workspaceDir,
16361659cfg: params.cfg,
1660+primaryWorkspaceDir: params.primaryWorkspaceDir,
16371661lookbackDays: params.config.lookbackDays,
16381662 nowMs,
16391663timezone: params.config.timezone,
@@ -1766,9 +1790,10 @@ async function runPhaseIfTriggered(
17661790if (!params.config.enabled) {
17671791return { handled: true, reason: `memory-core: ${params.phase} dreaming disabled` };
17681792}
1793+const primaryWorkspaceDir = normalizeTrimmedString(params.workspaceDir);
17691794const workspaces = resolveWorkspaces({
17701795cfg: params.cfg,
1771-fallbackWorkspaceDir: params.workspaceDir,
1796+fallbackWorkspaceDir: primaryWorkspaceDir,
17721797});
17731798if (workspaces.length === 0) {
17741799params.logger.warn(
@@ -1786,6 +1811,7 @@ async function runPhaseIfTriggered(
17861811await runLightDreaming({
17871812 workspaceDir,
17881813cfg: params.cfg,
1814+ primaryWorkspaceDir,
17891815config: params.config,
17901816logger: params.logger,
17911817subagent: params.subagent,
@@ -1794,6 +1820,7 @@ async function runPhaseIfTriggered(
17941820await runRemDreaming({
17951821 workspaceDir,
17961822cfg: params.cfg,
1823+ primaryWorkspaceDir,
17971824config: params.config,
17981825logger: params.logger,
17991826subagent: params.subagent,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。