Skip to content

Add AgentDispatchQueue service (outbound dispatch queueing)#1660

Draft
erikhortsch wants to merge 2 commits into
mainfrom
erikhortsch/agent-dispatch-queue-api
Draft

Add AgentDispatchQueue service (outbound dispatch queueing)#1660
erikhortsch wants to merge 2 commits into
mainfrom
erikhortsch/agent-dispatch-queue-api

Conversation

@erikhortsch

Copy link
Copy Markdown

Summary

  • Adds a new public twirp service AgentDispatchQueue (livekit_agent_dispatch_queue.proto) with AddJobs, RemoveJob, GetJob, ListJobs, RetryJobs, GetDispatchQueueConfig, UpdateDispatchQueueConfig.
  • Adds QueuedJob / QueuedJob.Input / DispatchQueueConfig messages. Per-job webhooks reuse the existing WebhookConfig (same pattern as Egress per-request webhooks).
  • Adds AgentGrant.DispatchAdmin for authorizing the new RPCs.

Follows the AgentSimulation precedent: a dedicated service intended to be served directly by cloud-api-server (see stacked PRs in cloud-protocol / agents-private / cloud-api-server), rather than routed through the room-keyed AgentDispatchService used for just-in-time dispatch.

Part of the Agent Dispatch Queueing project. Design doc: Agent Dispatch Queueing Service — Design Doc (Notion).

Stack

  1. protocol (this PR) — public contract + grant
  2. cloud-protocol — internal psrpc service (AgentDispatchQueueInternal)
  3. agents-private/agent-service — queue implementation, new job type
  4. cloud-api-server — authenticated twirp shim (mirrors SimulationService)

Test plan

  • go build ./...
  • go test ./auth/... ./livekit/...
  • Downstream repos build against this branch (go get github.com/livekit/protocol@erikhortsch/agent-dispatch-queue-api)

🤖 Generated with Claude Code

Adds a new public twirp service, QueuedJob/DispatchQueueConfig messages,
and an Agent.DispatchAdmin grant, following the AgentSimulation precedent
(dedicated service served by cloud-api-server, not routed through the
room-keyed AgentDispatchService).

Part of the Agent Dispatch Queueing project.
@changeset-bot

changeset-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: b785739

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants