MCPcopy
hub / github.com/livekit/livekit / launchTargetAgents

Method launchTargetAgents

pkg/rtc/room.go:1795–1818  ·  view source on GitHub ↗
(ads []*agentDispatch, p types.Participant, jobType livekit.JobType)

Source from the content-addressed store, hash-verified

1793}
1794
1795func (r *Room) launchTargetAgents(ads []*agentDispatch, p types.Participant, jobType livekit.JobType) {
1796 if p == nil || p.IsDependent() || r.agentClient == nil {
1797 return
1798 }
1799
1800 for _, ad := range ads {
1801 done := ad.jobsLaunching()
1802
1803 go func() {
1804 inc := r.agentClient.LaunchJob(context.Background(), &agent.JobRequest{
1805 JobType: jobType,
1806 Room: r.ToProto(),
1807 Participant: p.ToProto(),
1808 Metadata: ad.Metadata,
1809 AgentName: ad.AgentName,
1810 DispatchId: ad.Id,
1811 Deployment: ad.Deployment,
1812 Attributes: ad.Attributes,
1813 })
1814 r.handleNewJobs(ad.AgentDispatch, inc)
1815 done()
1816 }()
1817 }
1818}
1819
1820func (r *Room) handleNewJobs(ad *livekit.AgentDispatch, inc *sutils.IncrementalDispatcher[*livekit.Job]) {
1821 inc.ForEach(func(job *livekit.Job) {

Callers 3

JoinMethod · 0.95
AddAgentDispatchMethod · 0.95
onTrackPublishedMethod · 0.95

Calls 6

ToProtoMethod · 0.95
handleNewJobsMethod · 0.95
jobsLaunchingMethod · 0.80
IsDependentMethod · 0.65
LaunchJobMethod · 0.65
ToProtoMethod · 0.65

Tested by

no test coverage detected