{"ast_node_type":"variable","tokens":[{"end":60,"kind":"keyword","start":0,"text":"let"}]}
    let id_parts = action_id.split(':').collect::<Vec<_>>();
fn parse_action_id(action_id: &str) -> anyhow::Result<(usize, SingleResolve), String> {
    match id_parts.as_slice() {