The keys for a particular ActionDescriptor can be determined by ActionDescriptor.getKey(), and the number of keys are determined by ActionDescriptor.count.
A complete list of all keys is not available anywhere that I know of, mostly because they even though the majority are in the PS app, others can be found in in
dynamically loaded libs, plugins, and in the Bridge app.
For the PS app keys, you can find them in header files for the binary/C header files in the dev kit.
I've taken the time to consolidate these keys in xtools/xlib/PSConstants.js. The header files that I use are:
PIStringTerminology.h, PITerminology.h, and PI3d.h.
The ids look like this:
PSClass._add("Color", "Clr ");
PSEvent._add("Hide", "Hd ");
The first value is the human readable form while the second value is the 4 char value you pass to app.charIDToTypeID() to get a key.
String IDs look like
In the first case, the string is passed to stringIDToTypeID(), while the second case the first value is the human readable string
and the second is what you would pass to stringIDToTypeID(). The reason for the second case is that Adobe normalizes/standardizes
the name of stringID used in the dev kit API (over time) while maintaining the preexisting TypeID to maintain backwards compatibility.