UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

24 lines (23 loc) • 1.42 kB
import { type Session, type SessionForkOptions, type SessionMetadata, type SessionRepo, type SessionTreeEntry } from "../harness/types.js"; export declare class InMemorySessionRepo implements SessionRepo<SessionMetadata, { id?: string; }> { private sessions; create(options?: { id?: string; }): Promise<Session>; open(metadata: SessionMetadata): Promise<Session>; list(): Promise<SessionMetadata[]>; delete(metadata: SessionMetadata): Promise<void>; fork(sourceMetadata: SessionMetadata, options: SessionForkOptions): Promise<Session>; /** 2c session-sync: the FULL log for export. InMemory holds everything (no F3 floor), so * `getEntries()` IS the full oldest-first log with `id`/`parentId` verbatim. */ exportEntries(sessionId: string): Promise<SessionTreeEntry[]>; /** 2c session-sync: import a verbatim log into `sessionId`. The single invariant gate runs first * ({@link validateEntriesForImport}, fail-closed); `owner` is a durable multi-tenant concept that the local * in-memory backend has no field for, so it is accepted but unused here. design/171: the operator's * trusted-import flag is forwarded to the gate that persists — see SessionRepo.importEntries. */ importEntries(sessionId: string, owner: string | undefined, entries: SessionTreeEntry[], options?: { preserveActorAssertions?: boolean; }): Promise<void>; }