From b14859b9726185ab873356390068e887b7f486d3 Mon Sep 17 00:00:00 2001 From: t Date: Sun, 7 Jun 2026 11:35:49 -0600 Subject: R2: redesign session store with wire-format identity Replace the single-session SessionManager seam with a directory-backed catalog. session_manager.zig -> file_system_jsonl_store.zig; the old machinery becomes internal SessionFile, and a new FileSystemJSONLStore implements the redesigned SessionStore vtable (create/list/resolve/latest/ load/appendMessages) minting Session/SessionInfo handles. Session logs now record wire-format provider identity ({api_style, base_url, model, reasoning}) instead of a single provider string or CLI aliases; no api_key material is ever stored. Disk* content types renamed Stored*; the rich audit-oriented write record is PersistentMessage (in-memory Message + WireIdentity + provenance). Agent.init now takes a Session; persist_provider/persist_model display strings deleted (banner stays alias-based, resume picks default model). Message.metadata round-trips. Dangling-prompt recovery dropped. CLI migrated to the catalog store for run/resume/list. Clean break, no version bump (old logs wiped). --- libpanto/src/root.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libpanto/src/root.zig') diff --git a/libpanto/src/root.zig b/libpanto/src/root.zig index b5fab1a..fb8c1df 100644 --- a/libpanto/src/root.zig +++ b/libpanto/src/root.zig @@ -10,7 +10,7 @@ pub const tool = @import("tool.zig"); pub const tool_source = @import("tool_source.zig"); pub const tool_registry = @import("tool_registry.zig"); pub const session = @import("session.zig"); -pub const session_manager = @import("session_manager.zig"); +pub const session_manager = @import("file_system_jsonl_store.zig"); pub const session_store = @import("session_store.zig"); pub const null_store = @import("null_store.zig"); pub const turn_persist = @import("turn_persist.zig"); -- cgit v1.3