* feat(agents): create agent registry and service
* fix: mark agent offline only if the session was removed properly
* refactor: centralize agent backup lifecycle state
* refactor: simplify session management
* refactor: move effect / async boundary in one place
* chore: regen migration
* refactor: improve error handling
* chore: pr feedback
* chore: migrate to vitest
* test: speed up some suites by sharing sessions and mocking expensive non-tested actions
* test: refactor some tests to verify behavior instead of implementation details
* chore: fix linting issues