mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
* feat(den): add org-managed llm provider library Let Den admins curate shared providers and models with encrypted credentials, then let the app connect through the existing add-provider flow. This keeps org-wide model access consistent without requiring per-user OAuth setup. * docs(den): prefer longer db encryption keys * fix(den): pass db encryption key through local dev --------- Co-authored-by: src-opn <src-opn@users.noreply.github.com>
Den API
Hono-based Den control plane implementation (den-api, formerly den-controller).
This package is the active Den control plane implementation.
It carries the full migrated Den API route surface in a foldered Hono structure so agents can navigate one area at a time without scanning the whole service.
Quick start
pnpm --filter @openwork-ee/den-api dev:local
Current routes
GET /->302 https://openworklabs.comGET /health- Better Auth mount at
/api/auth/* - desktop handoff routes under
/v1/auth/* - current user routes under
/v1/me* - organization routes under
/v1/orgs* - admin routes under
/v1/admin* - worker lifecycle and billing routes under
/v1/workers*
Folder map
src/routes/auth/: Better Auth mount + desktop handoff endpointssrc/routes/me/: current user and current user's org resolution routessrc/routes/org/: organization CRUD-ish surfaces, split by areasrc/routes/admin/: admin-only reporting endpointssrc/routes/workers/: worker lifecycle, billing, runtime, and heartbeat endpointssrc/middleware/: reusable Hono middleware for auth context, org context, teams, and validation
Each major folder also has its own README.md so future agents can inspect one area in isolation.
Migration approach
- Keep
den-api(formerlyden-controller) as the source of truth for Den control-plane behavior. - Add endpoints in focused Hono route groups one surface at a time.
- Reuse shared middleware and Zod validators instead of duplicating request/session/org plumbing.
- Leave a short README in each route area when the structure changes so later agents can recover context fast.