Skip to content

Commit 427450a

Browse files
committed
Add fields to AgentMessage models for plan messaging
Extended AgentMessageData and AgentMessageResponse models in backend and frontend to include plan_id, user_id, m_plan_id, timestamp, content, raw_data, steps, and next_steps fields. This supports richer agent message data for plan-related workflows.
1 parent 867166f commit 427450a

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

src/backend/common/models/messages_kernel.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22
from datetime import datetime, timezone
33
from enum import Enum
44
from typing import Any, Dict, List, Literal, Optional
5-
6-
75
from semantic_kernel.kernel_pydantic import Field, KernelBaseModel
8-
from dataclasses import dataclass
96

107
class DataType(str, Enum):
118
"""Enumeration of possible data types for documents in the database."""
@@ -260,6 +257,16 @@ class AgentMessageType(str, Enum):
260257

261258

262259
class AgentMessageData (BaseDataModel):
260+
261+
data_type: Literal[DataType.m_plan_message] = Field(DataType.m_plan_message, Literal=True)
262+
plan_id: str
263+
user_id: str
264+
m_plan_id: Optional[str] = None
263265
agent: str
264266
agent_type: AgentMessageType = AgentMessageType.AI_AGENT
265-
content: str
267+
timestamp: int
268+
content: str
269+
raw_data: str
270+
steps: List[Any] = Field(default_factory=list)
271+
next_steps: List[Any] = Field(default_factory=list)
272+

src/backend/v3/models/messages.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing import Any, Dict, List, Literal, Optional
77

88
from semantic_kernel.kernel_pydantic import Field, KernelBaseModel
9+
from src.backend.common.models.messages_kernel import AgentMessageType
910
from v3.models.models import MPlan, PlanStatus
1011

1112

@@ -122,6 +123,19 @@ class ApprovalRequest(KernelBaseModel):
122123
action: str
123124
agent_name: str
124125

126+
@dataclass(slots=True)
127+
class AgentMessageResponse:
128+
"""Message sent to HumanAgent to request approval for a step."""
129+
plan_id: str
130+
m_plan_id: Optional[str] = None
131+
user_id: str
132+
agent: str
133+
agent_type: AgentMessageType
134+
timestamp: int
135+
content: str
136+
raw_data: str
137+
steps: List[Any] = Field(default_factory=list)
138+
next_steps: List[Any] = Field(default_factory=list)
125139

126140
class WebsocketMessageType(str, Enum):
127141
"""Types of WebSocket messages."""

src/frontend/src/models/agentMessage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ export interface AgentMessageData {
2424
agent: string;
2525
agent_type: AgentMessageType;
2626
timestamp: number;
27-
steps: any[]; // intentionally always empty
28-
next_steps: []; // intentionally always empty
27+
steps: any[];
28+
next_steps: [];
2929
content: string;
3030
raw_data: string;
3131
}

0 commit comments

Comments
 (0)