I think this is likely a very good idea. I've thought about the idea of channels a lot building https://wingman.actor and I've gone back in forth on if channel primitives are a good idea at a low level or if existing chat clients are just an already well defined utility you shouldn't rewrite.

I think your approach of a unified SDK/data structure around a chat that adapts to different clients is a really strong solution that probably just gives you the best of both worlds.

Cool stuff!

Btw if you build a wingman AG-UI adapter the Channels SDK would just work with it. Nowadays, you can honestly get this done in probably less than a day of work --we've got a pretty good factory set up with validators and tests, etc.

Happy to help if interested!