In order to support puya breakpoint debugging, algokit-avm-vscode-debugger needs to be updated to support puya sourcemaps.
Technical Details
algokit-avm-vscode-debugger implementation is updated to generated source.avm.json and providing intuitive ui experience to select sourcemaps/traces to use during debug session.
Acceptance Criteria
A debugger extension presents a picker popup to select the trace file to use for debug session:
includes all available *trace.avm.json available within the workspace
allows picking a trace file outside of the workspace
A debugger extension presents a picker popup to select a target sourcemap(s) to use along the trace file during debug session:
includes all available *teal.map, *.puya.map and legacy *.tok.map files available within the workspace
allows picking a trace file outside of the workspace
the extension persists the in-memory sources.avm.json file on user's filesystem (default .algokit folder or controlled via programSourcesDescriptionFile in launch configuration) - to reduce the # of time needed to select the right sourcemaps on subsequent invocations of the debug session
A user should be able to:
Invoke Clear avm debug registry -> which results in removal of sources.avm.json from .algokit folder
Invoke Edit avm debug registry -> which opens the sources.avm.json in user's IDE
Tasks
[x] Validate Extension resolves/generates relative paths in source artifacts
Description
In order to support puya breakpoint debugging,
algokit-avm-vscode-debugger
needs to be updated to support puya sourcemaps.Technical Details
algokit-avm-vscode-debugger
implementation is updated to generated source.avm.json and providing intuitive ui experience to select sourcemaps/traces to use during debug session.Acceptance Criteria
A debugger extension presents a picker popup to select the trace file to use for debug session:
*trace.avm.json
available within the workspaceA debugger extension presents a picker popup to select a target sourcemap(s) to use along the trace file during debug session:
*teal.map
,*.puya.map
and legacy*.tok.map
files available within the workspacesources.avm.json
file on user's filesystem (default.algokit
folder or controlled viaprogramSourcesDescriptionFile
in launch configuration) - to reduce the # of time needed to select the right sourcemaps on subsequent invocations of the debug sessionA user should be able to:
Clear avm debug registry
-> which results in removal ofsources.avm.json
from.algokit
folderEdit avm debug registry
-> which opens thesources.avm.json
in user's IDETasks