Documentation
¶
Overview ¶
Package doctor runs local environment checks for codog doctor.
Index ¶
Constants ¶
View Source
const ( // StatusOK means a doctor check passed. StatusOK = "ok" // StatusWarn means a doctor check found an actionable warning. StatusWarn = "warn" // StatusFail means a doctor check found a blocking failure. StatusFail = "fail" )
Variables ¶
This section is empty.
Functions ¶
func RenderText ¶
RenderText writes a human-readable doctor report.
Types ¶
type Check ¶
type Check struct {
Name string `json:"name"`
Status string `json:"status"`
Summary string `json:"summary"`
Details []string `json:"details,omitempty"`
Hint string `json:"hint,omitempty"`
Data map[string]any `json:"data,omitempty"`
}
Check describes one doctor check result.
type Options ¶
type Options struct {
Workspace string
ConfigHome string
Model string
RuntimeProvider string
RuntimeProviderSource string
BaseURL string
APIKey string
AuthToken string
OAuthProfile string
PermissionMode string
PermissionModeRaw string
PermissionModeSource string
PermissionModeEnvVar string
PermissionRules localstatus.PermissionRulesStatus
ConfigLoadError string
ConfigLoadErrorKind string
ToolCount int
ToolPermissions []ToolPermission
MCPServerStatuses []mcp.ServerStatus
MCPValidation localstatus.MCPValidationStatus
HookValidation localstatus.HookValidationStatus
SessionCount int
SessionHygiene *SessionHygiene
MemoryFiles []localstatus.MemoryFileStatus
UserPromptSubmit []string
SessionStart []string
PreToolUse []string
PostToolUse []string
PostToolUseFailure []string
PermissionRequest []string
PermissionDenied []string
Stop []string
StopFailure []string
SessionEnd []string
Setup []string
PreCompact []string
PostCompact []string
Notification []string
SubagentStart []string
SubagentStop []string
WorktreeCreate []string
WorktreeRemove []string
CwdChanged []string
TaskCreated []string
TaskCompleted []string
InstructionsLoaded []string
FileChanged []string
SandboxDefault string
SandboxOK bool
SandboxStrategies []string
SandboxFallback string
SandboxInContainer bool
SandboxRuntime *sandbox.SandboxExecutionStatus
GitOperation *gitops.Operation
}
Options contains the runtime and configuration facts checked by Doctor.
type Report ¶
type Report struct {
Kind string `json:"kind"`
Action string `json:"action"`
Status string `json:"status"`
SchemaVersion string `json:"schema_version"`
HasFailures bool `json:"has_failures"`
Summary Summary `json:"summary"`
Checks []Check `json:"checks"`
OutputFields []string `json:"output_fields"`
CheckNames []string `json:"check_names"`
StatusValues []string `json:"status_values"`
}
Report is the stable JSON payload returned by `codog doctor --json`.
type SessionHygiene ¶
type SessionHygiene struct {
Status string `json:"status"`
Workspace string `json:"workspace,omitempty"`
SessionDir string `json:"session_dir,omitempty"`
LegacySessionDir string `json:"legacy_session_dir,omitempty"`
SessionCount int `json:"session_count"`
MessageCount int `json:"message_count"`
EmptyCount int `json:"empty_count"`
BranchCount int `json:"branch_count"`
PinnedMessageCount int `json:"pinned_message_count"`
PlaceholderIdentityCount int `json:"placeholder_identity_count"`
RepairableIdentityCount int `json:"repairable_identity_count,omitempty"`
ManualIdentityReviewCount int `json:"manual_identity_review_count,omitempty"`
MissingIdentityCount int `json:"missing_identity_count"`
WorkspaceMismatchCount int `json:"workspace_mismatch_count"`
PinnedOutOfRangeCount int `json:"pinned_out_of_range_count"`
OversizedFileCount int `json:"oversized_file_count"`
Issues []SessionHygieneIssue `json:"issues,omitempty"`
NextActions []string `json:"next_actions,omitempty"`
}
SessionHygiene contains the session audit facts surfaced by Doctor.
type SessionHygieneIssue ¶
type SessionHygieneIssue struct {
Kind string `json:"kind"`
Severity string `json:"severity"`
SessionID string `json:"session_id"`
Path string `json:"path,omitempty"`
Field string `json:"field,omitempty"`
MessageIndex int `json:"message_index,omitempty"`
SizeBytes int64 `json:"size_bytes,omitempty"`
Message string `json:"message"`
NextAction string `json:"next_action,omitempty"`
}
SessionHygieneIssue describes one actionable session hygiene finding.
type Summary ¶
type Summary struct {
Total int `json:"total"`
OK int `json:"ok"`
Warnings int `json:"warnings"`
Failures int `json:"failures"`
}
Summary counts doctor checks by severity.
type ToolPermission ¶
type ToolPermission struct {
Name string `json:"name"`
RequiredPermission string `json:"required_permission"`
}
ToolPermission describes the minimum permission a registered tool needs.
Click to show internal directories.
Click to hide internal directories.