listResolvableActions method
Returns every action that can be resolved, keyed by registry key, with
dynamic action providers expanded into their individual actions. Used by
the reflection API / Dev UI so DAP-provided tools, prompts, and resources
are individually listable. Mirrors JS's listResolvableActions.
Implementation
Future<Map<String, ActionMetadata>> listResolvableActions() async {
final resolvable = <String, ActionMetadata>{};
for (final action in await listActions()) {
final key = _getKey(action.actionType.value, action.name);
resolvable[key] = action;
if (action is DynamicActionProvider) {
try {
resolvable.addAll(await action.getActionMetadataRecord());
} catch (e, st) {
print(
'Error listing actions for Dynamic Action Provider '
'${action.name}: $e $st',
);
}
}
}
return resolvable;
}