Action Pair
Cycle-2 of the LLM pipeline: the model breaks an ACTION input into action→value pairs ("message mom hello on whatsapp" → open→whatsapp, message→mom "hello"); the launcher then maps the pairs onto intents deterministically here — the model names the pairs, the code decides what they execute as. Anything unmappable returns an empty plan so the caller falls back to the full decide prompt (cycle 3).