All client and server commands are 'decrypted', but I'm not implementing things ahead of time. When we need a specific packet, it'll be there.
Key exchange was worked around by the facilities provided by the client ( server can tell the client that a link should not be encrypted ).
As for the list, I see no need for it ? The server reports any undecoded packets so whenever that happens, we can add an issue similar to this one, and when there's missing server->client functionality, another ticket will get added ( something like: "clicking on clickable things does not produce expected results" etc. ) and required packets with proper functionality will magically appear :)
Basically, treat me as an Oracle of Packets :)