Skip to content

feat: implement configurable LLM providers#853

Open
Rizzen wants to merge 3 commits into
agentclientprotocol:mainfrom
Rizzen:mark/providers-rfd
Open

feat: implement configurable LLM providers#853
Rizzen wants to merge 3 commits into
agentclientprotocol:mainfrom
Rizzen:mark/providers-rfd

Conversation

@Rizzen

@Rizzen Rizzen commented Jul 8, 2026

Copy link
Copy Markdown

According to custom endpoints rfd
Implement the Configurable LLM Providers RFD so clients can discover and route the agent's LLM traffic through their own proxy or gateway without relying solely on the ad-hoc gateway auth _meta mechanism.

Rizzen and others added 2 commits July 8, 2026 13:57
…ble)

Implement the Configurable LLM Providers RFD so clients can discover and
route the agent's LLM traffic through their own proxy or gateway without
relying solely on the ad-hoc gateway auth _meta mechanism.
@anna239 anna239 requested a review from AlexandrSuhinin July 9, 2026 05:04
Comment thread src/acp-agent.ts
providerId: PROVIDER_ID,
supported: SUPPORTED_PROTOCOLS,
required: true,
current: config ? { apiType: config.apiType, baseUrl: config.baseUrl } : null,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

current: null` here means "unconfigured, using the agent's own default routing", but the schema defines it as disabled.**

The schema doc on ProviderInfo.current says "Null or omitted means provider is disabled", and the RFD is stricter (behavior rule 5): a provider with current: null "is disabled and MUST NOT be used by the agent for LLM calls."

So a fresh agent (normal Claude login, no providers/set or gateway auth) reports { required: true, current: null } — per the spec that's a contradiction (a non-disableable provider that's disabled), and a strictly conformant client could render "main" as disabled or block prompting until a provider is configured, even though sessions work fine on default routing.

Most clients will probably read null as "unconfigured" (which is what we mean), so nothing is broken today — but it'd be good to remove the ambiguity. Options:

  • raise it upstream as an RFD clarification — the spec currently has no state for "enabled but agent-managed", which any agent with built-in default routing will hit, or
  • report the actual effective default ({ apiType: "anthropic", baseUrl: "https://api.anthropic.com" }) as current — technically "current effective routing", though it risks implying client-managed routing is active when it isn't.

@anna239 got this from an agent review, I wonder if we need to handle this in the RFD somehow

@AlexandrSuhinin AlexandrSuhinin Jul 10, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rather don't understand why it has "required=true" if agent may be configured in other ways.
Disabling provider should be possible and will mean "unconfigured" -> default route.
Also I don't see reason why codex is treated differently then: https://github.com/agentclientprotocol/codex-acp/pull/272/changes#diff-ff482757b43f46e95ff8c07a2fca96aeab812e7d5d5f2076fbfedf81bdcfbd20R290

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that would also solve the concern

Comment thread src/acp-agent.ts
providerId: PROVIDER_ID,
supported: SUPPORTED_PROTOCOLS,
required: true,
current: config ? { apiType: config.apiType, baseUrl: config.baseUrl } : null,

@AlexandrSuhinin AlexandrSuhinin Jul 10, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rather don't understand why it has "required=true" if agent may be configured in other ways.
Disabling provider should be possible and will mean "unconfigured" -> default route.
Also I don't see reason why codex is treated differently then: https://github.com/agentclientprotocol/codex-acp/pull/272/changes#diff-ff482757b43f46e95ff8c07a2fca96aeab812e7d5d5f2076fbfedf81bdcfbd20R290

@Rizzen Rizzen requested a review from AlexandrSuhinin July 10, 2026 15:52
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.

3 participants