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

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>
This commit is contained in:
Jason Woltje
2026-06-10 17:02:10 -05:00
parent 8f09c910a9
commit 764ef1be58
9 changed files with 467 additions and 0 deletions

19
pnpm-lock.yaml generated
View File

@@ -39,6 +39,25 @@ importers:
specifier: ^2.0.0
version: 2.1.9(@types/node@24.12.0)(jsdom@29.0.0(@noble/hashes@2.0.1))(lightningcss@1.31.1)
apps/appservice:
dependencies:
'@mosaicstack/appservice':
specifier: workspace:*
version: link:../../packages/appservice
devDependencies:
'@types/node':
specifier: ^22.0.0
version: 22.19.15
tsx:
specifier: ^4.19.0
version: 4.21.0
typescript:
specifier: ^5.8.0
version: 5.9.3
vitest:
specifier: ^2.0.0
version: 2.1.9(@types/node@22.19.15)(jsdom@29.0.0(@noble/hashes@2.0.1))(lightningcss@1.31.1)
apps/gateway:
dependencies:
'@anthropic-ai/sdk':