Go 实现 /api/v1/analysis 契约、Demo/Live Worker、DeerFlow SSE;含设计文档与冒烟脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
24 lines
659 B
Go
24 lines
659 B
Go
package service
|
|
|
|
import "errors"
|
|
|
|
// 业务错误:HTTP 层按类型映射 403/400。
|
|
var (
|
|
ErrForbidden = errors.New("forbidden")
|
|
ErrBadState = errors.New("bad state")
|
|
ErrBadArg = errors.New("bad argument")
|
|
)
|
|
|
|
// BizError 带给人看的文案。
|
|
type BizError struct {
|
|
Kind error
|
|
Msg string
|
|
}
|
|
|
|
func (e *BizError) Error() string { return e.Msg }
|
|
func (e *BizError) Unwrap() error { return e.Kind }
|
|
|
|
func Forbidden(msg string) error { return &BizError{Kind: ErrForbidden, Msg: msg} }
|
|
func BadState(msg string) error { return &BizError{Kind: ErrBadState, Msg: msg} }
|
|
func BadArg(msg string) error { return &BizError{Kind: ErrBadArg, Msg: msg} }
|