diff options
| author | t <t@tjp.lol> | 2026-06-05 11:27:33 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-06-05 11:27:43 -0600 |
| commit | 03ac69658517a0054d2a573d1e1b60c1bfaaf977 (patch) | |
| tree | c38c4b009c98e96497db7482d04f803bf2ee78f9 /libpanto/src/tool_source.zig | |
| parent | 003908344336cc13e74618291aa9f3af137f030f (diff) | |
Add pluggable SessionStore interface with FSJSONL + Null backends
Introduce a neutral persistence seam (session_store.zig) following the
{ptr, vtable} shape of the other libpanto seams. The interface traffics in
DiskMessage so non-JSONL backends (e.g. Postgres) can implement it.
- session_store.zig: SessionStore vtable (appendMessages, loadConversation,
sessionId, activeModel), LoadedSession{conversation, dangling_user},
re-exported disk types, and an FSJSONLStore alias.
- session_manager.zig: add store() wrapper + loadConversation() with
dangling trailing-user detection (excluded from the rebuilt conversation,
returned as dangling_user).
- null_store.zig: no-op backend, stateless singleton.
- root.zig: export session_store + null_store.
Phase 1+2 of docs/pluggable-session-store.md. Behavior-preserving; CLI not
yet rewired.
Diffstat (limited to 'libpanto/src/tool_source.zig')
0 files changed, 0 insertions, 0 deletions
