planFromPairs

fun planFromPairs(pairs: List<ActionPair>, index: AppIndex, scoped: AppEntry? = null): Plan(source)

Maps pairs to a Plan. An "open" pair names the app the whole command is scoped to; when a message/email pair exists it absorbs that open (messaging opens the app itself). Conservative: one unmappable pair empties the plan.