- Register SITE_URL, NATIVE_APP_URL, CONVEX_SITE_URL, FLUE_DB_TOKEN in convex.config.ts so the generated server.js exposes a typed env object. - Rewrite auth.ts to consume @code/env/convex and tighten the getCurrentUser handler. - Refresh the backend README to describe the control-plane role and generated-file policy.
17 lines
1.2 KiB
Markdown
17 lines
1.2 KiB
Markdown
# Convex Backend
|
|
|
|
This directory contains the Convex control plane for the app and daemon runtime. Generated files under `_generated/` are maintained by Convex and should not be edited by hand.
|
|
|
|
## Daemon Control Plane
|
|
|
|
- `schema.ts` defines daemon definitions, high-churn daemon presence, leased daemon commands, append-only command events, and the sample `todos` table.
|
|
- `daemons.ts` manages stable daemon definitions with `upsert`, `get`, and `list`.
|
|
- `daemonRuntime.ts` records daemon session lifecycle: `connect`, `heartbeat`, `disconnect`, `recordEvent`, and bounded event listing.
|
|
- `daemonCommands.ts` owns the command queue: `enqueue`, `available`, `claim`, `start`, `succeed`, `fail`, `cancel`, and bounded command listing.
|
|
|
|
Commands are claimed by daemon session. Preserve the `claimedBySessionId` ownership checks, `leaseExpiresAt` expiry semantics, terminal statuses, and bounded query results when changing this flow.
|
|
|
|
## Usage
|
|
|
|
Convex functions are exposed by file path through the generated `api` object, for example `api.daemonCommands.enqueue` or `api.daemonRuntime.connect`. Run `bun run dev:server` from the repository root to start the development deployment, and `bun run dev:setup` when configuring Convex for the first time.
|