@agora-build/atem 0.4.98 → 0.4.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,24 +70,43 @@ atem config convo --config <PATH> # Use a specific config file
|
|
|
70
70
|
```bash
|
|
71
71
|
atem serv convo # Launch ConvoAI test page (HTTPS)
|
|
72
72
|
atem serv convo --config ~/convo.toml # Use custom config
|
|
73
|
-
atem serv convo --background #
|
|
73
|
+
atem serv convo --background # Detached daemon — POSTs /join, registers, exits
|
|
74
|
+
atem serv attach <ID> # Open UI bound to a running convo daemon (talk to live agent)
|
|
75
|
+
atem serv attach 3 # …or by index from `atem serv list`
|
|
74
76
|
atem serv rtc # Launch RTC test page (HTTPS)
|
|
75
77
|
atem serv rtc --channel test --port 8443
|
|
76
78
|
atem serv rtc --background # Run as background daemon
|
|
77
79
|
atem serv diagrams # Host diagrams from SQLite (HTTP)
|
|
78
80
|
atem serv diagrams --port 9000
|
|
79
81
|
atem serv diagrams --background
|
|
80
|
-
atem serv
|
|
81
|
-
atem serv
|
|
82
|
+
atem serv webhooks # Receive Agora webhooks locally (auto-tunneled via ngrok)
|
|
83
|
+
atem serv webhooks --no-tunnel # Local listener only — bring your own tunnel
|
|
84
|
+
atem serv webhooks --background # Run as background daemon
|
|
85
|
+
atem serv list # List running background servers (#, ID, PID, STATUS)
|
|
86
|
+
atem serv kill <ID|#> # Kill a server (POSTs /leave for convo)
|
|
82
87
|
atem serv killall # Kill all background servers
|
|
88
|
+
|
|
89
|
+
# Fleet test loop — {appid} and {ts} are expanded by atem
|
|
90
|
+
for i in $(seq -f '%04g' 1 10); do
|
|
91
|
+
atem serv convo --background --channel 'atem-convo-{appid}-{ts}-'$i
|
|
92
|
+
sleep 0.5
|
|
93
|
+
done
|
|
83
94
|
```
|
|
84
95
|
|
|
85
|
-
**`serv convo`** — ConvoAI voice agent: live transcription (RTM), preset selection, avatar (Akool, LiveAvatar, Anam), RTC Stats, API History, camera toggle, RTC encryption (key + salt forwarded to the agent).
|
|
96
|
+
**`serv convo`** — ConvoAI voice agent: live transcription (RTM), preset selection, avatar (Akool, LiveAvatar, Anam), RTC Stats, API History, camera toggle, RTC encryption (key + salt forwarded to the agent), HIPAA mode (routes via `/hipaa/api/...`), audio dump.
|
|
97
|
+
|
|
98
|
+
`--background` re-execs as a detached daemon: parent POSTs `/join`, registers in `~/.config/atem/servers/<channel>.json`, exits. The daemon polls Agora's `GET /agents/{id}` every 60s and writes the status (RUNNING/IDLE/STOPPED/…) back into the registry — `atem serv list` reads it without making any network calls. `kill`/`killall` SIGTERM the daemon, which catches the signal and POSTs `/leave` before exiting. Daemon log file (`<channel>.log`) contains the `/join` URL and request body with secrets masked.
|
|
99
|
+
|
|
100
|
+
**`serv attach <id>`** — opens a foreground HTTPS UI bound to a running convo daemon's channel. The page hides Start/Stop because the daemon owns the agent; you Join to talk to the live agent. Encryption / HIPAA / geofence read from the same `convo.toml` so the local SDK matches what the daemon used.
|
|
86
101
|
|
|
87
102
|
**`serv rtc`** — RTC test page: join/leave, publish/subscribe audio+video, token generation, RTM messaging, RTC encryption (8 modes; gcm2 modes auto-generate a copyable salt).
|
|
88
103
|
|
|
89
104
|
**`serv diagrams`** — SQLite-backed HTTP server for hosting AI-generated HTML diagrams.
|
|
90
105
|
|
|
106
|
+
**`serv webhooks`** — local receiver for Agora webhook events (ConvoAI: `agent_joined`, `agent_left`, `agent_history`, `agent_error`, `agent_metrics`, …; RTC NCS events). Validates `Agora-Signature-V2` (HMAC-SHA256) when a `secret` is configured in `webhooks.toml`; accepts unsigned events otherwise with a warning. Live web console at `http://127.0.0.1:9090/` shows incoming events; each event also prints a one-line summary to stdout. Default tunnel provider is **ngrok**; set `tunnel_provider = "cloudflared"` for zero-auth quick tunnels. Use `--no-tunnel` if you're running cloudflared / ngrok separately for stable URLs across atem restarts.
|
|
107
|
+
|
|
108
|
+
**Channel placeholders** — `--channel` accepts `{appid}` (first 12 chars of the active app id) and `{ts}` (unix epoch seconds at startup). Useful in for-loops to match the auto-gen channel format.
|
|
109
|
+
|
|
91
110
|
### AI Agents (WIP)
|
|
92
111
|
|
|
93
112
|
```bash
|