* feat(agent): add standalone agent runtime
* fix(agent): add Bun and DOM types to agent tsconfig
* refactor: wrap backup error in a tagged effect error
* feat(controller): add agent manager and session handling
* feat(backups): execute backups through the agent
* fix(agent): harden disconnect and send-failure handling
* fix: rebase conflicts
* test: simplify mocks
* refactor: split agent runtime state
* fix(backup): keep old path when agent is disabled
* fix: pr feedbacks
* 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
test: use better-auth built-in test plugin
refactor: map auth errors server side
refactor: native trusted providers callback usage
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
## Release Notes
* **New Features**
* Enhanced SSO authentication error messaging with specific guidance for different failure scenarios (account linking required, email verification needed, banned accounts, invite-only access).
* **Chores**
* Updated authentication dependencies to version 1.5.0.
* **Tests**
* Extended test coverage for SSO error code handling and authentication scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* feat: edit repository form
* refactor: local repo path concat as a code migration
* refactor: server constants
* chore: fix lint issue in test file
* refactor: add auth to getServerConstants
* refactor: add nitro bootstrap plugin to ensure app is started before first call
* refactor(bootstrap): avoid duplicate event firing
* refactor: extract common setup in initModule function
* refactor: remove proxy pattern for db and auth
Since we migrated away from rr this is not needed anymore as the bundler
correctly split chunks
* refactor: move migrations to new structure
* refactor: convert all findMany to new structure
* fix(backups-schedule): missing null matching for last backup status
* chore: move root lib to server
* feat(db): add support for multiple users and organizations
* feat: backfill entities with new organization id
* refactor: filter all backend queries to surface only organization specific entities
* refactor: each org has its own restic password
* test: ensure organization is created
* chore: pr feedbacks
* refactor: filter by org id in all places
* refactor: download restic password from stored db password
* refactor(navigation): use volume id in urls instead of name
* feat: disable registrations
* refactor(auth): bubble up auth error to hono
* refactor: use async local storage for cleaner context sharing
* refactor: enable user registration vs disabling it
* test: multi-org isolation
* chore: final cleanup
* fix(file-tree): propagate path simplification to parents
When all childs of a folder are selected in the tree, the selected path
was only simplifiyng one level. But if the reduction was also making its
own parent "fully selected" it was not correctly reporting only the
parent as selected
* test(file-tree): ensure path selection correctness
* fix(file-tree): cleanup based on given path not what's visible
* test: backups service
* refactor: create hono app in a separate file
To avoid side effects like db migration or startup scripts when testing
test(backups): add security tests to the backups controller
* ci: run typechecks, build and tests on PR
* test: controllers security tests
* chore: update lock file
* refactor: pr feedbacks