config.updated WS event + provider in AgentConfig update
Some checks failed
Deploy Tracker / deploy (push) Failing after 3s
Some checks failed
Deploy Tracker / deploy (push) Failing after 3s
- PATCH /members/{id} sends config.updated WS event to agent
- WSEventType.CONFIG_UPDATED added to enums
- update_member handles provider + max_concurrent_tasks
This commit is contained in:
parent
80494c5058
commit
4dde7b940a
@ -160,6 +160,7 @@ async def update_member(member_id: str, req: MemberUpdate, db: AsyncSession = De
|
||||
if req.avatar_url is not None:
|
||||
member.avatar_url = req.avatar_url
|
||||
|
||||
config_changed = False
|
||||
if req.agent_config and member.type == MemberType.AGENT:
|
||||
if not member.agent_config:
|
||||
member.agent_config = AgentConfig(member_id=member.id)
|
||||
@ -174,9 +175,29 @@ async def update_member(member_id: str, req: MemberUpdate, db: AsyncSession = De
|
||||
member.agent_config.prompt = ac.prompt
|
||||
if ac.model is not None:
|
||||
member.agent_config.model = ac.model
|
||||
config_changed = True
|
||||
|
||||
await db.commit()
|
||||
await db.refresh(member)
|
||||
|
||||
# Notify agent of config change via WS
|
||||
if config_changed and member.agent_config:
|
||||
from ..ws.manager import manager
|
||||
from ..enums import WSEventType
|
||||
ac = member.agent_config
|
||||
await manager.send_to_member(str(member.id), {
|
||||
"type": WSEventType.CONFIG_UPDATED,
|
||||
"data": {
|
||||
"model": ac.model,
|
||||
"provider": ac.provider,
|
||||
"prompt": ac.prompt,
|
||||
"chat_listen": ac.chat_listen,
|
||||
"task_listen": ac.task_listen,
|
||||
"max_concurrent_tasks": ac.max_concurrent_tasks,
|
||||
"capabilities": ac.capabilities or [],
|
||||
},
|
||||
})
|
||||
|
||||
return member_out(member)
|
||||
|
||||
|
||||
|
||||
@ -103,3 +103,4 @@ class WSEventType(StrEnum):
|
||||
AGENT_STREAM_DELTA = "agent.stream.delta"
|
||||
AGENT_STREAM_TOOL = "agent.stream.tool"
|
||||
AGENT_STREAM_END = "agent.stream.end"
|
||||
CONFIG_UPDATED = "config.updated"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user