Expand description
Debug doctor domain — a port of the TypeScript @alp-sdk/core/debug
doctor logic (buildDoctorReport, serverChoicesForTarget, and the
runtime-capability/workspace-context adapters).
All logic here is pure: runtime capabilities and board.yaml existence are
injected as predicates, so doctor parity with the TS implementation is
guaranteed by deterministic unit tests rather than by the (machine-
dependent) golden-fixture harness.
Structs§
- Debug
Generation Trace Decision - One generation decision recorded by
alp trace. - Debug
Resolved Value - A single resolved project value surfaced by
alp inspect. - Debug
Runtime Capabilities - Probed availability of debug tooling on the host (PATH lookups + interpreter).
- Debug
Workspace Context - Context fed to
build_doctor_report. Serialized (camelCase) only inside the support-bundle file; the doctor/inspect envelopes emit derived reports, not the context itself. - Debugger
Extensions State - Which VS Code debugger extensions are installed in the host.
- Doctor
Check - A single doctor check with its status and an optional remediation.
- Doctor
Report - Full
alp doctorreport for a target/server combination. - Doctor
Summary - Per-status check counts for a doctor report.
Enums§
- Debug
Server Kind - Debug-server / GDB backend used to attach to a target.
- Debug
Target Kind - Class of debug target a project produces; drives which servers and checks apply.
- Debug
Trace Outcome - Result of a single generation decision in an
alp trace. - Debug
Value Source - Where a resolved
alp inspectvalue originated. - Doctor
Status - Outcome of a single doctor check.
Functions§
- build_
doctor_ report - Mirror of TS
buildDoctorReport. - collect_
resolved_ values - Mirror of TS
collectResolvedValues: the project-context fields surfaced byalp inspect, each tagged with a source + human detail. - collect_
runtime_ capabilities_ from_ commands - Mirror of TS
collectRuntimeCapabilitiesFromCommands. - create_
debug_ workspace_ context - Mirror of TS
createDebugWorkspaceContext:board.yamlexistence is probed via the injected predicate only when a path resolved. - is_
server_ supported_ for_ target - Whether
serveris among the valid choices fortarget. - parse_
server_ kind - Parse
--server. Mirrors TSparseServerKind: absent/empty defaults tonone; an unknown value is an error. - parse_
target_ kind - Parse
--target-kind. Mirrors TSparseTargetKind: an absent/empty value defaults tonative-host; an unknown value is an error. - server_
choices_ for_ target - The debug servers valid for a given target kind.