839ba1ce02
After the resolve tool became xd:// devices, ToolView.executeXdevDispatch unwraps xd://resolve/reject/propose writes so the card model lives on the unwrapped inner details and the device name, but tools/resolve.tsx still read action/reason from args, rendering a "?"/warn badge. The renderer now derives the card kind (apply/discard/propose) from inner details first, falling back to args and to the device-name default for running cards, and surfaces propose plan metadata. registry.ts also registers reject/propose and the historical hub-family aliases (irc, job, await, poll, cancel_job) so those transcript names stop falling back to generic JSON. Fixes #5640