feat(telegram): stop generation from the client, questions survive a restart, images reach the model inline, albums become one turn

This commit is contained in:
hh
2026-09-02 02:11:44 +02:00
parent 7a8ee0f200
commit 85b14e2c2f
12 changed files with 452 additions and 76 deletions
+9 -1
View File
@@ -88,6 +88,7 @@ class ScriptedClient:
def __init__(self, options: Any) -> None:
self.options = options
self.prompts: list[str] = []
self.contents: list[list[dict[str, Any]]] = []
self.session_id = options.resume or str(uuid.uuid4())
self.interrupted = False
self.connected = False
@@ -96,7 +97,14 @@ class ScriptedClient:
async def connect(self) -> None:
self.connected = True
async def query(self, prompt: str) -> None:
async def query(self, prompt) -> None:
if not isinstance(prompt, str):
messages = [m async for m in prompt]
content = messages[-1]["message"]["content"]
self.contents.append(content)
prompt = "\n".join(
b.get("text", "") for b in content if b.get("type") == "text"
)
self.prompts.append(prompt)
async def receive_response(self):