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.
* Support for key/value attributes on Participant
Key/value attributes lets us:
* allow various components to provide more information about the participant (i.e. SIP including the phone number)
* allow Agents to communicate their own status to the end user via RTC
* enable applications to update specific fields without overriding others
* generated protobuf
* Attribute support for SIP.
* generated protobuf
* generated protobuf
* allow specifying attributes during token generation
* Remove sip prefix and rename phone number attrs.
* regenerate protos
* update tests
* add kv attrs to sip token
* add attribute test
* changeset
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>