Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Code ¶
type Code string
Code is the stable machine identity shared by every transport. Client logic may branch on it; it must never branch on Detail or an underlying cause.
const ( CodeBotNameTaken Code = "bot.name_taken" CodeBotAgentNotFound Code = "bot_agent.not_found" CodeBotAgentNameTaken Code = "bot_agent.name_taken" CodeBotAgentInvalidRuntime Code = "bot_agent.invalid_runtime" CodeBotAgentInvalidMetadata Code = "bot_agent.invalid_metadata" CodeBotAgentDefaultInUse Code = "bot_agent.default_in_use" CodeSettingsReasoningEffortInvalid Code = "settings.reasoning_effort_invalid" CodeContextBudgetUnsatisfied Code = "context.budget_unsatisfied" CodeContextProtectedOverflow Code = "context.protected_overflow" CodeWorkspaceUnreachable Code = "workspace.unreachable" CodeWorkspaceImageIncompatible Code = "workspace.image_incompatible" CodeWorkspaceTemplateBootstrapFailed Code = "workspace.template_bootstrap_failed" CodeWorkspaceDisplayPrepareFailed Code = "workspace.display_prepare_failed" CodeProviderTemplateNotFound Code = "provider_template.not_found" CodeProviderTemplateDomainInvalid Code = "provider_template.domain_invalid" CodeProviderTemplateDomainMismatch Code = "provider_template.domain_mismatch" CodeProviderTemplateOperationFailed Code = "provider_template.operation_failed" CodeProviderNameTaken Code = "provider.name_taken" CodeProviderTemplateRequestInvalid Code = "provider_template.request_invalid" CodeSearchProviderTypeConflict Code = "search_provider.type_conflict" CodeConnectorRequestInvalid Code = "connector.request_invalid" CodeConnectorNotConfigured Code = "connector.not_configured" CodeConnectorNotFound Code = "connector.not_found" CodeConnectorConflict Code = "connector.conflict" CodeConnectorRequestRejected Code = "connector.request_rejected" CodeConnectorOperationFailed Code = "connector.operation_failed" CodeSkillBuiltinReadOnly Code = "skill.builtin_read_only" CodeSkillNameTaken Code = "skill.name_taken" CodeSkillSaveFailed Code = "skill.save_failed" CodeRegistryPackageNotFound Code = "registry.package_not_found" CodeRegistryPackageInvalid Code = "registry.package_invalid" CodeRegistryPackageInstallFailed Code = "registry.package_install_failed" CodeProfileRequestInvalid Code = "profile.request_invalid" CodeProfileTitleModelInvalid Code = "profile.title_model_invalid" CodeProfileUpdateFailed Code = "profile.update_failed" CodeACPRequestInvalid Code = "acp.request_invalid" CodeACPAccessForbidden Code = "acp.access_forbidden" CodeACPRuntimeNotFound Code = "acp.runtime_not_found" CodeACPRuntimeConflict Code = "acp.runtime_conflict" CodeACPRuntimeLimitReached Code = "acp.runtime_limit_reached" CodeACPOperationFailed Code = "acp.operation_failed" CodeACPTurnReplacementUnsupported Code = "acp.turn_replacement_unsupported" CodeACPModelSelectionUnsupported Code = "acp.model_selection_unsupported" CodeACPModelIDRequired Code = "acp.model_id_required" CodeACPReasoningUnsupported Code = "acp.reasoning_selection_unsupported" CodeACPReasoningEffortRequired Code = "acp.reasoning_effort_required" CodeACPModeSelectionUnsupported Code = "acp.mode_selection_unsupported" CodeACPModeIDRequired Code = "acp.mode_id_required" CodeACPConfigUpdateFailed Code = "acp.config_update_failed" CodeToolApprovalForbidden Code = "tool_approval.forbidden" CodeToolApprovalNotFound Code = "tool_approval.not_found" CodeToolApprovalExpired Code = "tool_approval.expired" CodeToolApprovalAmbiguous Code = "tool_approval.ambiguous" CodeToolApprovalRequestInvalid Code = "tool_approval.request_invalid" CodeToolApprovalOperationFailed Code = "tool_approval.operation_failed" CodeUserInputForbidden Code = "user_input.forbidden" CodeUserInputExpired Code = "user_input.expired" CodeUserInputOperationFailed Code = "user_input.operation_failed" CodeSessionBusy Code = "session_runtime.session_busy" CodeSessionInvocationConflict Code = "session_runtime.invocation_conflict" CodeSessionHistoryInconsistent Code = "session_runtime.history_inconsistent" CodeAgentResponseTimeout Code = "agent.response_timeout" CodeAgentResponseInterrupted Code = "agent.response_interrupted" CodeContextLifecycleRequestInvalid Code = "context_lifecycle.request_invalid" CodeContextLifecycleAuthenticationRequired Code = "context_lifecycle.authentication_required" CodeContextLifecycleAccessDenied Code = "context_lifecycle.access_denied" CodeContextLifecycleNotFound Code = "context_lifecycle.not_found" CodeContextLifecycleLoadFailed Code = "context_lifecycle.load_failed" )
type Definition ¶
Definition is the single catalog entry for a public error contract. Type URIs and frontend i18n keys are derived mechanically from Code.
func Lookup ¶
func Lookup(code Code) (Definition, bool)
type Error ¶
type Error struct {
// contains filtered or unexported fields
}
Error keeps the public contract separate from private diagnostics. The cause is intentionally not exposed through Unwrap; transport boundaries may log it through CauseOf without making infrastructure details part of the API.
type Problem ¶
type Problem struct {
Type string `json:"type" validate:"required"`
Status int `json:"status" validate:"required"`
Detail string `json:"detail" validate:"required"`
Code string `json:"code" validate:"required"`
Args map[string]string `json:"args" validate:"required"`
RequestID string `json:"request_id,omitempty"`
}
type Public ¶
type Public struct {
Code Code `json:"code"`
Args map[string]string `json:"args"`
Detail string `json:"detail"`
RequestID string `json:"request_id,omitempty"`
}
Public is the transport-neutral, user-safe representation of an application error. HTTP and streaming transports may wrap it in different envelopes, but must not derive their own code, detail, or metadata.