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 }