metrics: fix dup id bug, update pydantic schemas, log user meta during agent actions (#302)
* create new pydantic schemas
* fix errors
* .
* clean up a bit
* generate unique id for event
* move required field to base model
* kind of works?
* make user email optional
* fix more errors
* .
* make script better
* making progress
* yikes big refactor
* fix a bunch of tests
* a few more test fixes
* lint and fix more tests
* .
* .
* fix create agent bug
* more fixes
* down to 3 failures
* .
* merge and fix tests
* bro these are broken on main
* lint
* fixed tests again
* another fix
* add agent back during delete :/
* fix user sign up
* lint
* no default stale id in class instantiation
* fix metrics event ids