Skip to content

Commit 6e14901

Browse files
committed
feat(chat): add chat events
1 parent 8c523d5 commit 6e14901

File tree

2 files changed

+150
-1
lines changed

2 files changed

+150
-1
lines changed

libs/api/hiagent_api/chat.py

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,45 +21,117 @@
2121

2222
from hiagent_api.base import AppAPIMixin, Service
2323
from hiagent_api.chat_types import (
24+
AgentErrorChatEvent,
2425
AgentIntentionChatEvent,
2526
AgentJumpChatEvent,
2627
AgentTakeOverChatEvent,
2728
AgentThoughtChatEvent,
2829
AgentThoughtEndChatEvent,
2930
AgentThoughtUpdateChatEvent,
31+
AsyncResumeAppWorkflowRequest,
32+
AsyncResumeAppWorkflowResponse,
3033
BlockingChatResponse,
34+
CancelConversationTopRequest,
35+
ChatAgainRequest,
36+
ChatContinueRequest,
3137
ChatEvent,
3238
ChatRequest,
39+
ClearLongMemoryRequest,
40+
ClearMessageRequest,
3341
CreateConversationRequest,
3442
CreateConversationResponse,
43+
DeepSearchExtractionChatEvent,
44+
DeepSearchExtractionEndChatEvent,
45+
DeepSearchExtractionStartChatEvent,
46+
DeepSearchQueryChatEvent,
47+
DeepSearchQueryEndChatEvent,
48+
DeepSearchQueryStartChatEvent,
49+
DeepSearchThinkChatEvent,
50+
DeepSearchThinkEndChatEvent,
51+
DeepSearchThinkStartChatEvent,
52+
DeleteConversationRequest,
53+
DeleteLongMemoryRequest,
54+
DeleteMessageRequest,
55+
EmptyResponse,
56+
EventTriggerWebhookResponse,
57+
FeedbackRequest,
58+
FlowCostWorkflowEvent,
59+
FlowEndChatEvent,
60+
FlowEndWorkflowEvent,
61+
FlowErrorWorkflowEvent,
62+
FlowInterruptedWorkflowEvent,
63+
FlowStartChatEvent,
64+
FlowStartWorkflowEvent,
3565
GetAppConfigPreviewRequest,
3666
GetAppConfigPreviewResponse,
67+
GetAppUserVariablesRequest,
68+
GetAppUserVariablesResponse,
69+
GetConversationInputsRequest,
70+
GetConversationInputsResponse,
71+
GetConversationListRequest,
72+
GetConversationListResponse,
73+
GetConversationMessageRequest,
74+
GetConversationMessageResponse,
75+
GetMessageInfoRequest,
76+
GetMessageInfoResponse,
77+
GetSuggestedQuestionsRequest,
78+
GetSuggestedQuestionsResponse,
3779
InterruptedChatEvent,
3880
KnowledgeGraphRetrieveChatEvent,
3981
KnowledgeGraphRetrieveEndChatEvent,
4082
KnowledgeRetrieveChatEvent,
4183
KnowledgeRetrieveEndChatEvent,
84+
ListLongMemoryRequest,
85+
ListLongMemoryResponse,
86+
ListOauth2TokenRequest,
87+
ListOauth2TokenResponse,
4288
LongTermMemoryRetrieveChatEvent,
4389
LongTermMemoryRetrieveEndChatEvent,
4490
MessageChatEvent,
4591
MessageCostChatEvent,
4692
MessageEndChatEvent,
4793
MessageFailedChatEvent,
4894
MessageOutputEndChatEvent,
95+
MessageOutputEndWorkflowEvent,
4996
MessageOutputStartChatEvent,
97+
MessageOutputStartWorkflowEvent,
5098
MessageStartChatEvent,
99+
MessageWorkflowEvent,
51100
QARetrieveChatEvent,
101+
QueryAppSkillAsyncTaskRequest,
102+
QueryAppSkillAsyncTaskResponse,
103+
QueryRunAppProcessRequest,
104+
QueryRunAppProcessResponse,
105+
QueryTriggerRunRecordsRequest,
106+
QueryTriggerRunRecordsResponse,
107+
RunAppWorkflowRequest,
108+
RunAppWorkflowResponse,
109+
SetAppUserVariablesRequest,
110+
SetConversationTopRequest,
111+
SetMessageAnswerUsedRequest,
112+
StopMessageRequest,
52113
StreamingChatEventType,
114+
StreamingWorkflowEventType,
53115
SuggestionChatEvent,
54116
SuggestionCostChatEvent,
117+
SyncResumeAppWorkflowRequest,
118+
SyncResumeAppWorkflowResponse,
119+
SyncRunAppWorkflowRequest,
120+
SyncRunAppWorkflowResponse,
55121
TerminologyRetrieveChatEvent,
56122
TerminologyRetrieveEndChatEvent,
57123
ThinkMessageChatEvent,
58124
ThinkMessageOutputEndChatEvent,
59125
ThinkMessageOutputStartChatEvent,
60126
ToolMessageChatEvent,
61127
ToolMessageOutputEndChatEvent,
128+
ToolMessageOutputEndWorkflowEvent,
62129
ToolMessageOutputStartChatEvent,
130+
ToolMessageOutputStartWorkflowEvent,
131+
ToolMessageWorkflowEvent,
132+
UpdateConversationRequest,
133+
UpdateLongMemoryRequest,
134+
WorkflowEvent,
63135
ChatAgainRequest, GetConversationListRequest, GetConversationListResponse, GetConversationInputsRequest,
64136
GetConversationInputsResponse, UpdateConversationRequest, EmptyResponse, DeleteConversationRequest,
65137
StopMessageRequest, ClearMessageRequest, GetConversationMessageRequest, GetConversationMessageResponse,
@@ -957,6 +1029,30 @@ def parse_chat_event(event_data: dict) -> Optional[ChatEvent]:
9571029
return ThinkMessageOutputEndChatEvent.model_validate(event_data)
9581030
case StreamingChatEventType.think_message:
9591031
return ThinkMessageChatEvent.model_validate(event_data)
1032+
case StreamingChatEventType.agent_error:
1033+
return AgentErrorChatEvent.model_validate(event_data)
1034+
case StreamingChatEventType.deep_search_think_start:
1035+
return DeepSearchThinkStartChatEvent.model_validate(event_data)
1036+
case StreamingChatEventType.deep_search_think_end:
1037+
return DeepSearchThinkEndChatEvent.model_validate(event_data)
1038+
case StreamingChatEventType.deep_search_think:
1039+
return DeepSearchThinkChatEvent.model_validate(event_data)
1040+
case StreamingChatEventType.deep_search_query_start:
1041+
return DeepSearchQueryStartChatEvent.model_validate(event_data)
1042+
case StreamingChatEventType.deep_search_query_end:
1043+
return DeepSearchQueryEndChatEvent.model_validate(event_data)
1044+
case StreamingChatEventType.deep_search_query:
1045+
return DeepSearchQueryChatEvent.model_validate(event_data)
1046+
case StreamingChatEventType.deep_search_extraction_start:
1047+
return DeepSearchExtractionStartChatEvent.model_validate(event_data)
1048+
case StreamingChatEventType.deep_search_extraction_end:
1049+
return DeepSearchExtractionEndChatEvent.model_validate(event_data)
1050+
case StreamingChatEventType.deep_search_extraction:
1051+
return DeepSearchExtractionChatEvent.model_validate(event_data)
1052+
case StreamingChatEventType.flow_start:
1053+
return FlowStartChatEvent.model_validate(event_data)
1054+
case StreamingChatEventType.flow_end:
1055+
return FlowEndChatEvent.model_validate(event_data)
9601056

9611057
return None
9621058

libs/api/hiagent_api/chat_types.py

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ class GetAppConfigPreviewResponse(BaseSchema):
137137
validation_alias="OpenMessage",
138138
default="",
139139
)
140-
open_query: str = Field(
140+
open_query: list[str] = Field(
141141
description="open query",
142142
validation_alias="OpenQuery",
143143
default="",
@@ -399,19 +399,35 @@ class StreamingChatEventType(StrEnum):
399399
think_message_output_start = "think_message_output_start"
400400
think_message = "think_message"
401401
think_message_output_end = "think_message_output_end"
402+
agent_error = "agent_error"
403+
deep_search_think_start = "deep_search_think_start"
404+
deep_search_think = "deep_search_think"
405+
deep_search_think_end = "deep_search_think_end"
406+
deep_search_query_start = "deep_search_query_start"
407+
deep_search_query = "deep_search_query"
408+
deep_search_query_end = "deep_search_query_end"
409+
deep_search_extraction_start = "deep_search_extraction_start"
410+
deep_search_extraction = "deep_search_extraction"
411+
deep_search_extraction_end = "deep_search_extraction_end"
412+
flow_start = "flow_start"
413+
flow_end = "flow_end"
402414

403415

404416
class ChatEvent(BaseSchema):
405417
event: str = Field(
418+
default="",
406419
description="event",
407420
)
408421
task_id: str = Field(
422+
default="",
409423
description="task id",
410424
)
411425
id: str = Field(
426+
default="",
412427
description="id",
413428
)
414429
conversation_id: str = Field(
430+
default="",
415431
description="conversation id",
416432
)
417433
created_at: int = Field(
@@ -768,6 +784,43 @@ class ThinkMessageChatEvent(ChatEvent):
768784

769785
class ThinkMessageOutputEndChatEvent(ChatEvent): ...
770786

787+
class AgentErrorChatEvent(ChatEvent):
788+
error_msg: str = Field(
789+
description="error message",
790+
)
791+
792+
class DeepSearchThinkStartChatEvent(ChatEvent): ...
793+
794+
class DeepSearchThinkChatEvent(ChatEvent):
795+
content: str = Field(
796+
description="think content",
797+
)
798+
799+
class DeepSearchThinkEndChatEvent(ChatEvent): ...
800+
801+
class DeepSearchQueryStartChatEvent(ChatEvent): ...
802+
803+
class DeepSearchQueryChatEvent(ChatEvent):
804+
content: str = Field(
805+
description="query content",
806+
)
807+
808+
class DeepSearchQueryEndChatEvent(ChatEvent): ...
809+
810+
class DeepSearchExtractionStartChatEvent(ChatEvent): ...
811+
812+
class DeepSearchExtractionChatEvent(ChatEvent):
813+
content: str = Field(
814+
description="extraction content",
815+
)
816+
817+
class DeepSearchExtractionEndChatEvent(ChatEvent): ...
818+
819+
class FlowStartChatEvent(ChatEvent):
820+
run_id: str
821+
822+
class FlowEndChatEvent(ChatEvent):
823+
run_id: str
771824

772825
class ChatAgainRequest(BaseSchema):
773826
app_key: str = Field(

0 commit comments

Comments
 (0)