Files
Agent-System/internal/projectworkflow/errors.go
T
weichenandCursor 5cd22c7327 fix(authz): harden permissions, chat gate, and project create idempotency
Add project:manage_members, CSP frame-src, task-run member view, CreateUser
tx error handling, ERR_NO_PROJECT chat gate, and creator-scoped project
name/client_key uniqueness to stop duplicate creates and auth gaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 07:04:57 +00:00

33 lines
1.5 KiB
Go

package projectworkflow
import "errors"
var (
// ErrUnauthenticated 未提供认证 Token 或会话已失效
ErrUnauthenticated = errors.New("unauthenticated: valid authentication token required")
// ErrForbiddenNotCreator 仅项目创建人有权切换工作流或配置
ErrForbiddenNotCreator = errors.New("forbidden: only project creator can switch active workflow")
// ErrProjectNotFound 指定项目不存在或无权访问
ErrProjectNotFound = errors.New("project not found")
// ErrWorkflowNotFound 工作流未定义或未在当前项目启用
ErrWorkflowNotFound = errors.New("workflow definition not found or disabled for project")
// ErrConcurrentConflict 乐观锁版本冲突 (workflow_selection_version 不匹配)
ErrConcurrentConflict = errors.New("conflict: workflow selection version mismatch")
// ErrPrerequisiteNotMet 前置条件未满足 (例如缺少已批准的上游需求规格书)
ErrPrerequisiteNotMet = errors.New("precondition failed: prerequisite upstream document not satisfied")
// ErrInvalidInput 输入参数不合法
ErrInvalidInput = errors.New("invalid parameter: required field missing or malformed")
// ErrDuplicateProjectName 同一创建人下已存在同名项目
ErrDuplicateProjectName = errors.New("duplicate project name for creator")
// ErrLegacySwitchBlocked 已启用实例化工作流治理,禁止旧式即时切换
ErrLegacySwitchBlocked = errors.New("legacy workflow switch blocked: use project settings activation flow")
)