fed8b2eed7
Backend release / release (push) Waiting to run
Bandit Security Scan / bandit_scan (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / manifest (push) Blocked by required conditions
Build and push DocsGPT FE Docker image for development / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / manifest (push) Blocked by required conditions
Python linting / ruff (push) Waiting to run
Run python tests with pytest / Run tests and count coverage (3.12) (push) Waiting to run
React Widget Build / build (push) Waiting to run
20 lines
707 B
Python
20 lines
707 B
Python
"""Per-chat-message stream key derivations.
|
|
|
|
Single source of truth for the Redis pub/sub topic name and any
|
|
auxiliary keys that the chat-stream snapshot+tail reconnect path
|
|
shares between the writer (``complete_stream`` + journal) and the
|
|
reader (``/api/messages/<id>/events`` reconnect endpoint).
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
def message_topic_name(message_id: str) -> str:
|
|
"""Redis pub/sub channel for live fan-out of one chat message.
|
|
|
|
Subscribers tail this topic for every event that ``complete_stream``
|
|
yielded after the SUBSCRIBE-ack arrived; older events are recovered
|
|
from the ``message_events`` snapshot half of the pattern.
|
|
"""
|
|
return f"channel:{message_id}"
|