OnStarJS is the library I use to make this function. However, in order for it to work, the library has to fake being the myChevrolet app. This means that, whenever the app updates, usually this means a new App ID, App Secret, and User Agent is required. You may think, "WHY does GM keep breaking things?!" Remember, as noted in this projects README, this is an unofficial library, as GM refuses to respond to developer requests. Functionality is not guaranteed, you're at your own risk, blah blah blah; Basically, you're on your own.
The guy who makes this library is pretty good about keeping it updated. Every so often, PRs will be created by the community to update these values by extracting them from the Android APK (See this one, just submitted 2 days ago at the time of writing, 2023-11-02). What does this mean for this project? Well, in order for this project to continue functioning, it must have the latest API keys. If I forget to update it, or get behind, the plugin will start randomly failing.
To fix this, I've implemented Mend Renovate and a GitHub Action. Renovate will automatically merge any package updates into the repo, and once this happens, the GitHub Action will automatically increment the project version number and publish to NPM. This should all happen without my knowledge, however I'll of course be monitoring.
As long as the badge below is green, you're good. However, if you have any issues, please ping me here so I can manually intervene. Thanks!