amerc/server
artheru 34fb174308 api: native chat + no-cache file relay (chat backend, iter 2)
- chat_messages table: persistent per-session chatlog (file kinds store
  placeholder only); session open/close events logged
- GET/POST /agents/sessions/:id/messages — browser (cookie) and broker
  (accesskey) both speak plain HTTP; ?wait=1 long-polls up to 25s
- GET /agents/sessions — my chatlog list with last message + counts
- POST /agents/sessions/:id/files + GET /agents/files/:token — streamed
  rendezvous relay, both directions; bytes never touch disk or DB;
  single-use token, 5-min expiry, Content-Length passthrough for progress
- heartbeat now accepts skills[] (shown in chat) and returns activeSessions
- nginx /api: request buffering off, 512m bodies, 360s timeouts (deployed)

Tested locally end-to-end: chat both ways, 3MB relay both directions
(md5-identical, zero server caching), long-poll wake, auth rejection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 02:39:33 +08:00
..
showcase-edge Showcase reverse-proxy + amerc Mansion UI (0.26.0) 2026-06-10 04:50:16 +08:00
amerc-api.mjs api: native chat + no-cache file relay (chat backend, iter 2) 2026-06-11 02:39:33 +08:00
platform-tests.mjs agent platform (class/instance/session) + top-down RPG tavern + Gitea SSO + tests 2026-06-09 22:08:39 +08:00