From 43461a0a5f0a812d656f5ce393d009c57a4f33ed Mon Sep 17 00:00:00 2001 From: iamnbutler Date: Tue, 20 Oct 2026 13:10:44 -0400 Subject: [PATCH 1/3] feat(host): run scripted synthetic teammates with ace serve --demo Demo mode adds scripted people to the owner's own app: presence in projects and channels, avatars through the people map, and messages, asks and reactions as ordinary channel requests the channels admit by their own rules. Nothing reaches the directory, lobbies or peers. Why: apps/host/src/demo.ts | Synthetic people stay in the owner's own app frames (people, presence); never publish them to the directory, lobbies or peers --- apps/host/src/cli.ts | 9 +- apps/host/src/demo.ts | 187 +++++++++++++++++++++++++++++++++++++++ apps/host/src/gateway.ts | 26 +++++- docs/demo.md | 37 ++++++++ 4 files changed, 253 insertions(+), 6 deletions(-) create mode 100644 apps/host/src/demo.ts create mode 100644 docs/demo.md diff --git a/apps/host/src/cli.ts b/apps/host/src/cli.ts index 8c5fded2..40fe829b 100755 --- a/apps/host/src/cli.ts +++ b/apps/host/src/cli.ts @@ -84,8 +84,10 @@ const HELP = `ace — channels on this host ace directory [ | off] the team's directory, which lists every host's channels; a running host checks it with ACE_SECRET first ace web [ | off] the deployed web app your devices may use with this host - ace serve [--port 4140] [--loopback] serve the app and its WebSocket gateway; - --loopback stays off the tailnet and the directory + ace serve [--port 4140] [--loopback] [--demo