import { OpopConfig, AgentState, HookState, MemoryEntry, ContextSnapshot, TaskPlan, TaskTrackingEntry, ChangelogEntry, ProjectSnapshot, SkillWorkspaceState, DecisionRecord } from "./types"; export declare const OPOP_DIR = ".opop"; export declare class OpopManager { readonly root: string; private config; constructor(workspaceDir: string); get workspaceRoot(): string; get isInitialized(): boolean; private _findOrCreate; init(): void; private _loadConfig; private _saveConfig; saveConfig(partial: Partial): void; getConfig(): OpopConfig; persistAgentState(state: AgentState): void; loadAgentState(agentName: string): AgentState | null; loadAllAgentStates(): Record; persistHookState(state: HookState): void; loadHookStates(): Record; saveMemory(entry: MemoryEntry): void; saveDecision(record: DecisionRecord): void; saveContextSnapshot(snapshot: ContextSnapshot): void; loadContextSnapshots(sessionId?: string): ContextSnapshot[]; queryMemory(filter: { type?: string; tags?: string[]; agentName?: string; importance?: string; limit?: number; }): MemoryEntry[]; saveTaskPlan(plan: TaskPlan): void; loadTaskPlan(planId: string): TaskPlan | null; listTaskPlans(status?: TaskPlan["status"]): TaskPlan[]; trackTask(entry: TaskTrackingEntry): void; getTaskTracking(taskId?: string, date?: string): TaskTrackingEntry[]; saveChangelogEntry(entry: ChangelogEntry): void; getChangelog(version?: string): ChangelogEntry[]; saveProjectSnapshot(snapshot: ProjectSnapshot): void; getProjectSnapshots(): ProjectSnapshot[]; getSkillState(skillName: string): SkillWorkspaceState; saveSkillState(skillName: string, partial: Partial): void; saveSessionSnapshot(sessionId: string, data: Record): void; getSessionSnapshot(sessionId: string): Record | null; /** * Log a structured event to .opop/state/events.jsonl * 记录结构化事件到 events.jsonl */ logEvent(type: "agent" | "skill" | "hook" | "task" | "session" | "error", name: string, detail?: Record): void; /** * Log skill usage to .opop/state/skills.json * 记录技能使用到 skills.json */ logSkillUsage(skillName: string, agentName: string, success: boolean): void; /** * Get recent events from the event log * 获取最近的追踪事件 */ getRecentEvents(limit?: number, filter?: string): Array>; /** * Get skill usage statistics * 获取技能使用统计 */ getSkillStats(): Record; getCredentialsDir(): string; getTempDir(): string; getCacheDir(): string; private _readJsonFile; private _writeJsonFile; } export declare function getOpopManager(): OpopManager | null; export declare function initOpopManager(workspaceDir: string): OpopManager; export { OPOP_DIR as OPOP_DIR_NAME };