import type { HomeEvidence } from '@xopcai/gateway-contract'; import type { Task } from '@xopcai/gateway-contract'; import type { KnowledgeItem, KnowledgeReadPolicy } from '../knowledge-memory/domain.js'; import type { Project } from '../projects/types.js'; import type { SessionMetadata } from '../session/types.js'; import type { HomeSuccessfulPattern } from './strategy.js'; export interface HomeContextSnapshot { generatedAt: number; locale: 'en' | 'zh'; projects: Array>; tasks: Array & { objective?: string; }>; knowledge: Array & { sourceType: Extract; provider?: string; }>; recentSessions: Array<{ id: string; title: string; projectId?: string; updatedAt: number; }>; successfulPatterns: HomeSuccessfulPattern[]; evidence: HomeEvidence[]; hash: string; } export interface HomeSnapshotSources { projects(): Project[]; tasks(): Task[]; knowledge(): KnowledgeItem[]; knowledgePolicy?(): KnowledgeReadPolicy; sessions?(): SessionMetadata[]; } export declare class HomeSnapshotBuilder { private readonly sources; constructor(sources: HomeSnapshotSources); build(input: { now: number; locale: 'en' | 'zh'; successfulPatterns?: HomeSuccessfulPattern[]; }): HomeContextSnapshot; }