It's a feature request almost as old as the network itself - here's a request for a streaming API that felt like it got off on the wrong foot, and a frustratingly cryptic answer from Jeff when asked if chat would be included in the API
It's a testament both to the robustness of the chat system, and of the skills of folks who reverse engineered various libraries underpinning useful tools like SmokeDetector that chat's worked reliably over all this time, with tools rarely breaking.
Amusingly while back in the day, one of the arguments for not having a front end API was "we might break something if we change it" - changing the front end has and will break things. "it seems to formally legitimise the scripts" - which essentially seems to be overdue with things like SmokeDetector.. and so on. That "the chat system is evolving" as said in the Stack Apps post isn't particularly true either, with no major changes in chat other than small changes for Teacher's Lounge moderations, and before that the 'new' mobile view.
It's not a state of affairs I'd consider ideal.
We have critical tools to the community running on the basis that there's no changes to the chat system, running on screen scraping or JavaScript witchcraft. Changes might break things, which would reduce the effectiveness of tools like SmokeDetector/Charcoal and various other utility bots used by mods and others. Basically, folks have done their best with what we have, but... this is somewhere where Stack can do better.
While I realise some 'internal' SE tooling has moved on to other (non inhouse/ inferior?) chat systems which have their own chatops tooling, there's probably multiple benefits to a documented, robust API that's not put together from reverse engineering and careful jerryrigging both for internal SE use and for community projects.
I suspect for chat to be a 'going concern' - there's going to be a point where it would probably need to be worked on, bringing it in line with the regular Q&A sites. I do realise this isn't on the current roadmap, but things like moving the front end to stacks might ease maintenance in the future, not to mention not leaving the code base to moulder, unloved until something catastrophic breaks, or there's a critical feature addition.
This might, of course, break many bots, and in preference to keeping things 'status quo' during a longer transition, giving folks the tools to move away from the current reverse engineered pseudo APIs/libraries to 'proper' APIs would be a very positive step.
While I realise there's (often?) other priorities, I do hope that updates to chat, quality of life improvements as well as planning for the future is something that might be considered.
A chat API would make a lot of these easier and hopefully help form a solid foundation for future of chat.