Feat v0.5.0 realtime dialog (#30)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m36s
CI/CD / test-sqlite (push) Successful in 2m43s
CI/CD / build-and-deploy (push) Successful in 1m19s

Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #30.
This commit is contained in:
2026-03-30 11:07:27 +00:00
committed by xcaliber
parent eb9a2d7d27
commit 2abf406db8
21 changed files with 680 additions and 22 deletions

View File

@@ -1035,6 +1035,19 @@ paths:
ticket:
type: string
# WebSocket Realtime Protocol (v0.5.0)
# ──────────────────────────────────────────────
# Room Management (client → server, intercepted before bus):
# { "event": "room.subscribe", "payload": { "room": "conversation:abc" } }
# { "event": "room.unsubscribe", "payload": { "room": "conversation:abc" } }
#
# Realtime Events (server → client, room-scoped):
# { "event": "realtime.<name>", "room": "<channel>", "payload": { "_pkg": "...", ... }, "ts": 1234567890 }
#
# Starlark extensions publish via: realtime.publish(channel, event, data)
# SDK clients subscribe via: sw.realtime.subscribe(channel, [event], callback)
# Max 100 rooms per connection. Payload limit: 7KB.
# ──────────────────────────────────────────────
# Extension Assets
# ──────────────────────────────────────────────