feat(appservice): mosaic-as daemon host + container (M4a) #531

Merged
jason.woltje merged 1 commits from feat/mosaic-as-daemon into main 2026-06-10 22:16:29 +00:00
Owner

Second M4a slice (agent-comms#9): apps/appservice daemon hosting the AS library, bridge API v1, hardened per review (body cap, HMAC token digests, error-path destroy, non-root container). Next: Synapse registration rollout on the matrix swarm stack + image build via CI.

Second M4a slice (agent-comms#9): apps/appservice daemon hosting the AS library, bridge API v1, hardened per review (body cap, HMAC token digests, error-path destroy, non-root container). Next: Synapse registration rollout on the matrix swarm stack + image build via CI.
jason.woltje added 1 commit 2026-06-10 22:02:27 +00:00
feat(appservice): mosaic-as daemon host + container (M4a deploy prep, agent-comms#9)
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
764ef1be58
apps/appservice: framework-agnostic node:http daemon hosting
@mosaicstack/appservice — Synapse transactions endpoint passthrough,
internal bridge API v1 (messages/typing) with HMAC-digest timing-safe
bearer tokens, 1MiB request body cap, explicit 405 inside the
authenticated bridge block (no fall-through around auth), health endpoint,
env config, registration YAML printer bin. docker/appservice.Dockerfile
mirrors the gateway multi-stage pnpm/turbo pattern, runs as USER node
with container healthcheck. 9 vitest tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jason.woltje merged commit 48b2f28e45 into main 2026-06-10 22:16:29 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#531