import type { LivingMemoryPresetExport, LivingMemoryPresetImportResult, LivingMemorySearchDetailedResult, LivingMemorySearchInput, MemoryEntryRecord, MemoryEntryStatus, MemoryEntryType, MemoryJobRecord, MemoryJobStatus, MemoryMutationInput, MemoryUpdatePatch, MemorySnapshotRecord, PresetPersonaCardInfo, PresetSpeakerRecord, UserProfileRecord } from './memory'; import type { DreamTriggerResult, MemoryServiceStatus } from './workflows'; export interface PageRequest { page?: number; pageSize?: number; } export interface MemoryListFilter { presetId: string; type?: MemoryEntryRecord['type']; status?: MemoryEntryStatus | 'all'; keyword?: string; speakerKey?: string; } export interface MemoryListQuery extends MemoryListFilter, PageRequest { } export interface SnapshotListQuery extends PageRequest { presetId: string; conversationId?: string; } export interface JobListQuery extends PageRequest { presetId: string; kind?: MemoryJobRecord['kind']; status?: MemoryJobStatus; } export interface UserProfileListQuery extends PageRequest { presetId: string; } export interface PageResult { items: T[]; page: number; pageSize: number; total: number; } export type MemoryFacetStatus = MemoryEntryStatus | 'all'; export interface MemoryListFacets { statuses: Record; types: Record>; } export interface MemoryListResult extends PageResult { facets: MemoryListFacets; } export interface CreateMemoryRequest { /** 缺省表示手工创建无会话归属,记忆全局可见。 */ conversationId?: string; presetId: string; userId?: string; channelId?: string; memory: MemoryMutationInput; speakerKeys?: string[]; } export interface LivingMemoryConsoleEvents { 'living-memory/listPresetIds': () => Promise; 'living-memory/getStatus': () => Promise; 'living-memory/listMemories': (query: MemoryListQuery) => Promise; 'living-memory/listMemoryIds': (filter: MemoryListFilter) => Promise; 'living-memory/getMemory': (memoryId: string) => Promise; 'living-memory/createMemory': (input: CreateMemoryRequest) => Promise; 'living-memory/updateMemory': (memoryId: string, patch: MemoryUpdatePatch) => Promise<{ success: true; }>; 'living-memory/deleteMemory': (memoryId: string) => Promise<{ success: true; }>; 'living-memory/deleteMemories': (presetId: string, ids: string[]) => Promise<{ success: true; deleted: number; }>; 'living-memory/listSnapshots': (query: SnapshotListQuery) => Promise>; 'living-memory/deleteSnapshot': (snapshotId: string) => Promise<{ success: true; }>; 'living-memory/listJobs': (query: JobListQuery) => Promise>; 'living-memory/listUserProfiles': (query: UserProfileListQuery) => Promise>; 'living-memory/listPresetPersonas': () => Promise; 'living-memory/savePresetPersonaCard': (presetId: string, card: string) => Promise<{ success: true; }>; 'living-memory/resetPresetPersonaCard': (presetId: string) => Promise<{ success: true; }>; 'living-memory/listPresetSpeakers': (presetId: string) => Promise; 'living-memory/updateUserProfile': (profileId: string, content: string) => Promise<{ success: true; }>; 'living-memory/regenerateUserProfile': (presetId: string, speakerKey: string) => Promise<{ generated: number; detail: string; }>; 'living-memory/deleteUserProfile': (profileId: string) => Promise<{ success: true; }>; 'living-memory/runDream': (presetId: string) => Promise; 'living-memory/reconcileVectorIndex': (presetId: string) => Promise; 'living-memory/rebuildVectorIndex': () => Promise<{ success: true; }>; 'living-memory/restartVectorIndex': () => Promise<{ success: true; }>; 'living-memory/clearPresetData': (presetId: string) => Promise<{ success: true; }>; 'living-memory/exportPreset': (presetId: string) => Promise; 'living-memory/importPreset': (targetPresetId: string, data: LivingMemoryPresetExport) => Promise; 'living-memory/searchMemoriesDetailed': (presetId: string, input: LivingMemorySearchInput) => Promise; }