HttpAgent

no
Summary: HTTP-based agent for connecting to remote AI agents

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.ag-ui.com/llms.txt Use this file to discover all available pages before exploring further.

HTTP-based agent for connecting to remote AI agents

HttpAgent#

The HttpAgent extends AbstractAgent to provide HTTP-based connectivity to remote AI agents. It handles the request/response cycle and transforms the HTTP event stream into standard Agent User Interaction Protocol events.

Configuration#

When creating an HTTP agent, you need to provide an HttpAgentConfig object:

interface HttpAgentConfig extends AgentConfig {
  url: string // Endpoint URL for the agent service
  headers?: Record<string, string> // Optional HTTP headers
}

Creating an HttpAgent#

const agent = new HttpAgent({
  url: "https://api.example.com/v1/agent",
  headers: {
    Authorization: "Bearer your-api-key",
  },
})

Methods#

runAgent()#

Executes the agent by making an HTTP request to the configured endpoint.

runAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>

Parameters#

The parameters argument follows the standard RunAgentParameters interface. The optional subscriber parameter allows you to provide an AgentSubscriber for handling events during this specific run.

Return Value#

interface RunAgentResult {
  result: any // The final result returned by the agent
  newMessages: Message[] // New messages added during this run
}

subscribe()#

Adds an AgentSubscriber to handle events across multiple agent runs.

subscribe(subscriber: AgentSubscriber): { unsubscribe: () => void }

Returns an object with an unsubscribe() method to remove the subscriber when no longer needed.

abortRun()#

Cancels the current HTTP request using the AbortController.

abortRun(): void

Protected Methods#

requestInit()#

Configures the HTTP request. Override this method to customize how requests are made.

protected requestInit(input: RunAgentInput): RequestInit

Default implementation:

{
  method: "POST",
  headers: {
    ...this.headers,
    "Content-Type": "application/json",
    Accept: "text/event-stream",
  },
  body: JSON.stringify(input),
  signal: this.abortController.signal,
}

run()#

Implements the abstract run() method from AbstractAgent using HTTP requests.

run(input: RunAgentInput): RunAgent

Properties#

  • url: The endpoint URL for the agent service
  • headers: HTTP headers to include with requests
  • abortController: AbortController instance for request cancellation
Link last verified June 7, 2026. View original ↗
Source: AG-UI Protocol
Link last verified: 2026-02-26