This includes some feedback on the agents protocol:
- Rename JobDescription to AgentDispatch
- Remove participant_identity entry in the dispatch
- Deprecate namespace
- Add an agent_name field to specify what agent workers a job should be dispatched to
This also allows setting a room configuration in the token.
This PR:
- Adds StartAgentJobRequest/StopAgentJobRequest calls to start an handle manually mange an agent lifecycle
- Deprecates the JobType field in WorkerInfo as workers will now be expected to handle both kinds jobs (if the namespace supports both kinds in the first place)
- Adds a metadata string -> string map to Job to allow agent implementation to take anonymous (to us) parameters
- Adds a JobStatus and error fields to Job for status reporting (Similar to egress and ingress)
- Makes livekit_agent.proto indentation consistent with other proto files
- Add room configuration and management APIs to the Room service. Rooms configuration allow bundling most room configuration parameters under a single id, that can eventually be put as part of the room creation token.