Skip to content

feat: add userAgent config to PropertyCrawler and comply() #427

@bokelley

Description

@bokelley

Context

PR adcontextprotocol/adcp#1979 adds User-Agent headers to all automated outbound requests from the AAO server. However, two code paths in @adcp/client create their own HTTP clients internally and don't expose a userAgent option:

  1. PropertyCrawlerPropertyCrawlerConfig only accepts logLevel. The server's crawler (server/src/crawler.ts) can't pass a User-Agent through.
  2. comply() / testAllScenarios()TestOptions doesn't support userAgent. The compliance heartbeat job can't identify itself to agent endpoints.

Both currently send the default AdCP-Testing-Framework/1.0.0 User-Agent, which is generic and unhelpful for agent operators trying to identify traffic sources.

Requested changes

  • Add userAgent?: string to PropertyCrawlerConfig and thread it through to internal fetch() / AdCPClient calls
  • Add userAgent?: string to TestOptions (or OrchestratorOptions) and thread it through createTestClient

This lets the server pass purpose-specific User-Agent strings like AAO-PropertyCrawler/1.0 and AAO-ComplianceCheck/1.0.

Why

A member (Equativ) reported thousands of unexplained pings to their agent endpoint. Proper User-Agent identification helps agent operators understand and filter automated traffic from AAO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions