If I was making an AI code assistant, the last thing I would do is to lock it in to a particular foundation model provider.
The only possible way for this to be a successful offering is if we have just now reached a plateau of model effectiveness and all foundation models will now trend towards having almost identical performance and capabilities, with integrators choosing based on small niceties, like having a familiar SDK.
Other than the command/arguments there isn't much locking you in. It's just input/output. Swap it out for something else or simply wrap it. There's not much going on here.
The only possible way for this to be a successful offering is if we have just now reached a plateau of model effectiveness and all foundation models will now trend towards having almost identical performance and capabilities, with integrators choosing based on small niceties, like having a familiar SDK.