feat:新增投顾agent和nl2sqlagent
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
"""投顾 Agent 草稿状态机基础规则。"""
|
||||
from __future__ import annotations
|
||||
|
||||
from common.common_const import (
|
||||
DRAFT_STATUS_DISCARDED,
|
||||
DRAFT_STATUS_DRAFT,
|
||||
ERR_CODE_DRAFT_NOT_FOUND,
|
||||
)
|
||||
|
||||
|
||||
class DraftStateError(Exception):
|
||||
def __init__(self, code: int, message: str):
|
||||
self.code = code
|
||||
self.message = message
|
||||
super().__init__(message)
|
||||
|
||||
|
||||
def transition_draft_status(status: str, operation: str) -> str:
|
||||
if status == DRAFT_STATUS_DRAFT and operation == "discard":
|
||||
return DRAFT_STATUS_DISCARDED
|
||||
if status == DRAFT_STATUS_DISCARDED:
|
||||
raise DraftStateError(ERR_CODE_DRAFT_NOT_FOUND, "草稿不存在或者已废弃")
|
||||
if status != DRAFT_STATUS_DRAFT:
|
||||
raise DraftStateError(ERR_CODE_DRAFT_NOT_FOUND, "草稿状态无效")
|
||||
if operation == "save":
|
||||
return DRAFT_STATUS_DRAFT
|
||||
raise DraftStateError(ERR_CODE_DRAFT_NOT_FOUND, "不支持的草稿操作")
|
||||
Reference in New Issue
Block a user