Auth logic isn't shared between the clients anyway, so co-locating them is confusing since you can't use the same clients to call both. This also makes the codegen clients less verbose.
* Rename prompt and completion tokens to input and output tokens
* Add getUsage function
* Record model and cost when reporting log
* Remove unused imports
* Move UsageGraph to its own component
* Standardize model response fields
* Fix types
We'll probably need a concept of organizations at some point in the future, but in practice the way we're using these in the codebase right now is as a project, so this renames it to that to avoid confusion.