# The signal-cli SIMULATOR — not the real daemon.
#
# Dockerfile.signal-cli runs the actual signal-cli binary and exists to keep
# our understanding of its JSON-RPC surface honest (the pebble pattern). This
# image is the fast, drivable stand-in used by tests that need to control what
# arrives: it can queue an inbound reply, fail a recipient inside a success,
# and revoke the device link on demand — none of which the real unlinked
# daemon can be made to do.
FROM oven/bun:1@sha256:9114c058aeae42162ee16dd5084b95fe9473970bb6bcb5b232ab1630f0546895

WORKDIR /app
COPY simulators/signal-cli/server.ts ./server.ts

ENV SIGNAL_RPC_PORT=8080

EXPOSE 8080
CMD ["bun", "run", "server.ts"]
