This commit is contained in:
2026-06-09 21:19:30 +08:00
parent 8b41ff9360
commit 0484e79978
66 changed files with 4043 additions and 533 deletions
+28 -19
View File
@@ -75,27 +75,30 @@ const (
CodeWebhookNotConfigured Code = "webhook.not_configured"
// ACP 域
CodeAcpAgentKindNotFound Code = "acp.agent_kind_not_found"
CodeAcpAgentKindDisabled Code = "acp.agent_kind_disabled"
CodeAcpAgentKindInUse Code = "acp.agent_kind_in_use"
CodeAcpSessionNotFound Code = "acp.session_not_found"
CodeAcpSessionQuotaExceeded Code = "acp.session_quota_exceeded"
CodeAcpSessionNotOwned Code = "acp.session_not_owned"
CodeAcpSessionTerminated Code = "acp.session_terminated"
CodeAcpSessionBranchConflict Code = "acp.session_branch_conflict"
CodeAcpSpawnFailed Code = "acp.spawn_failed"
CodeAcpHandshakeTimeout Code = "acp.handshake_timeout"
CodeAcpFsPathOutsideWorktree Code = "acp.fs_path_outside_worktree"
CodeAcpAgentKindNotFound Code = "acp.agent_kind_not_found"
CodeAcpAgentKindDisabled Code = "acp.agent_kind_disabled"
CodeAcpAgentKindInUse Code = "acp.agent_kind_in_use"
CodeAcpSessionNotFound Code = "acp.session_not_found"
CodeAcpSessionQuotaExceeded Code = "acp.session_quota_exceeded"
CodeAcpSessionNotOwned Code = "acp.session_not_owned"
CodeAcpSessionTerminated Code = "acp.session_terminated"
CodeAcpSessionBranchConflict Code = "acp.session_branch_conflict"
CodeAcpSpawnFailed Code = "acp.spawn_failed"
CodeAcpHandshakeTimeout Code = "acp.handshake_timeout"
CodeAcpFsPathOutsideWorktree Code = "acp.fs_path_outside_worktree"
CodeAcpPermissionNotFound Code = "acp.permission_not_found"
CodeAcpPermissionAlreadyDecided Code = "acp.permission_already_decided"
CodeAcpPermissionInvalidOption Code = "acp.permission_invalid_option"
// MCP 域
CodeMcpTokenInvalid Code = "mcp.token_invalid"
CodeMcpTokenRevoked Code = "mcp.token_revoked"
CodeMcpTokenExpired Code = "mcp.token_expired"
CodeMcpTokenNotFound Code = "mcp.token_not_found"
CodeMcpTokenScopeViolation Code = "mcp.token_scope_violation"
CodeMcpTokenNameRequired Code = "mcp.token_name_required"
CodeMcpTokenExpiresRequired Code = "mcp.token_expires_required"
CodeMcpRateLimited Code = "mcp.rate_limited"
CodeMcpTokenInvalid Code = "mcp.token_invalid"
CodeMcpTokenRevoked Code = "mcp.token_revoked"
CodeMcpTokenExpired Code = "mcp.token_expired"
CodeMcpTokenNotFound Code = "mcp.token_not_found"
CodeMcpTokenScopeViolation Code = "mcp.token_scope_violation"
CodeMcpTokenNameRequired Code = "mcp.token_name_required"
CodeMcpTokenExpiresRequired Code = "mcp.token_expires_required"
CodeMcpRateLimited Code = "mcp.rate_limited"
)
// AppError is the application's structured error type. It carries a stable
@@ -218,6 +221,12 @@ func HTTPStatus(code Code) int {
return http.StatusBadGateway
case CodeAcpFsPathOutsideWorktree:
return http.StatusInternalServerError
case CodeAcpPermissionNotFound:
return http.StatusNotFound
case CodeAcpPermissionAlreadyDecided:
return http.StatusConflict
case CodeAcpPermissionInvalidOption:
return http.StatusBadRequest
case CodeWebhookNotConfigured:
return http.StatusServiceUnavailable
case CodeMcpTokenInvalid, CodeMcpTokenRevoked, CodeMcpTokenExpired: