feat(chat): support chat resources, implement chat-based remote discovery via resource messages

This commit is contained in:
Shivering Ocelot committed 2026-09-02 16:34:12 -05:00
1 parent da1420d04b
commit 30afcf2803
10 files changed
+142 -85

No files matched your search

+9
View File
@@ -85,11 +85,19 @@ class Agent:
chat_view = await self.app.get_chat_view(message.chat_id)
thread = chat_view.get_thread(message.thread_id)
remotes = []
messages = []
for msg in thread.messages:
role = self._role_for_message(msg)
messages.append({"role": role, "content": msg.content})
for msg in thread.resources:
# Remote declarations: content is the remote name
if msg.subkind == 'remote':
name = msg.content
if (self.user_id, name) in self.app.remotes and name not in remotes:
remotes.append(name)
run = AgentRun.create(
self.app,
agent_id=self.id,
@@ -98,6 +106,7 @@ class Agent:
"messages": messages,
"chat_id": message.chat_id,
"thread_id": message.thread_id,
"remotes": remotes,
},
)