File tree Expand file tree Collapse file tree
oasst-shared/oasst_shared/exceptions Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -150,7 +150,7 @@ def store_text_reply(
150150 self ._validate_task (task )
151151
152152 # If there's no parent message assume user started new conversation
153- role = "prompter"
153+ role = None
154154 depth = 0
155155
156156 if task .parent_message_id :
@@ -170,10 +170,23 @@ def store_text_reply(
170170 self .db .add (parent_message )
171171
172172 depth = parent_message .depth + 1
173- if parent_message .role == "assistant" :
174- role = "prompter"
175- else :
176- role = "assistant"
173+
174+ task_payload : db_payload .TaskPayload = task .payload .payload
175+ if isinstance (task_payload , db_payload .InitialPromptPayload ):
176+ role = "prompter"
177+ elif isinstance (task_payload , db_payload .PrompterReplyPayload ):
178+ role = "prompter"
179+ elif isinstance (task_payload , db_payload .AssistantReplyPayload ):
180+ role = "assistant"
181+ elif isinstance (task_payload , db_payload .SummarizationStoryPayload ):
182+ raise NotImplementedError ("SummarizationStory task not implemented." )
183+ else :
184+ raise OasstError (
185+ f"Unexpected task payload type: { type (task_payload ).__name__ } " ,
186+ OasstErrorCode .TASK_UNEXPECTED_PAYLOAD_TYPE_ ,
187+ )
188+
189+ assert role in ("assistant" , "prompter" )
177190
178191 # create reply message
179192 new_message_id = uuid4 ()
Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ class OasstErrorCode(IntEnum):
5959 TASK_ALREADY_DONE = 2105
6060 TASK_NOT_COLLECTIVE = 2106
6161 TASK_NOT_ASSIGNED_TO_USER = 2106
62+ TASK_UNEXPECTED_PAYLOAD_TYPE_ = 2107
6263 USER_NOT_FOUND = 2200
6364
6465 # 3000-4000: external resources
You can’t perform that action at this time.
0 commit comments