core: split the Postgres session store into a package
`pg_session_store.py` mixed three layers: schema DDL and migrations, the
row <-> `Message` mapping with its archive-aware hydration, and the store
itself. Split them into `navi/core/sessions/`:

* `ddl.py` — table/index definitions and the one-shot migrations;
* `rows.py` — serialization, dangling-tool-call repair, session hydration;
* `store.py` — `PgSessionStore` and the pending-sweep loop.

`navi/core/pg_session_store.py` stays as a compatibility shim re-exporting
both the public surface and the private helpers the tests use. No behavior
change: every top-level function and every store method is preserved.
1 parent 7287d91 commit ac7264d0081a32713634c257699f9c4e7e34cabb
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 21 hours ago
Showing 5 changed files
View
navi/core/pg_session_store.py
Too large (Show diff)
View
navi/core/sessions/__init__.py 0 → 100644
View
navi/core/sessions/ddl.py 0 → 100644
View
navi/core/sessions/rows.py 0 → 100644
View
navi/core/sessions/store.py 0 → 100644