Skip to content

fix: display the selected wire provider as JetBrains Air Gateway - #589

Merged
EugeneTheDev merged 1 commit into
agentclientprotocol:mainfrom
serjic:serjic/ijai-2956-central-auth-source
Oct 13, 2026
Merged

EugeneTheDev merged 1 commit into
agentclientprotocol:mainfrom
serjic:serjic/ijai-2956-central-auth-source

Conversation

@serjic

@serjic serjic commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Addresses IJAI-2956.

  • Classify the selected agent-owned provider ID returned by getAgentConfiguredModelProvider() as a gateway when it equals wire after trimming, case-insensitively.
  • Emit kind: gateway and the exact label JetBrains Air Gateway, with no detail or invented account identity. Do not fetch or inspect the provider's friendly name, URL, backend, or route.
  • Preserve effective configuration/launch-override precedence and the separation between authentication identity and client-owned ACP providers/set; an unused wire provider does not affect auth status.
  • Use the same classification for the initial status and subsequent updates; retain existing behavior for other providers.
  • Add regression coverage for case/whitespace, active selection and overrides, friendly-name negatives, client-owned providers, exact payloads, and source switching; update docs/air-extensions.md.

This is an agreed weak display heuristic, not proof that the endpoint is a Central deployment or that the user has any particular entitlement. A different selected provider ID does not match merely because its friendly name contains wire.

Sanitized auth status

{
  "kind": "gateway",
  "label": "JetBrains Air Gateway"
}

No keys, headers, private routes, technical wire detail, or invented account information is sent.

Verification

Based on fresh upstream main at ca1d971, rechecked immediately before publication. Changes and rebuilt dist are available in the main local clone; the user confirmed the local adapters work.

npm run typecheck
npm run build
npm test
  • Typecheck (including examples) and build passed.
  • Full test suite: 1218 passed, 33 existing skipped across 76 passed test files and 6 skipped opt-in e2e files.
  • Auth-status coverage: 33 tests passed in the targeted run and the full suite.
  • No new skip flags or disabled tests were used.

Scope

No AIR UI, provisioning, personal configuration migration, effort/mode changes, or new ACP protocol. Plan files and personal configurations are not committed.

Comment thread src/AuthStatusMeta.ts
};
}

export function agentConfiguredProviderStatus(providerId: string | null): AuthStatus {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is the only place in the code that explains why a provider ID of wire is shown with JetBrains branding, and right now it explains nothing. Could we pull "wire" and the label into named constants next to DEFAULT_GATEWAY_LABEL, and add a short doc comment like the ones on the neighbouring functions? It should say this is a display-only heuristic on the agent-owned provider ID (see docs/air-extensions.md). Otherwise the next reader has to guess whether matching the bare ID is deliberate.

Comment thread src/AuthStatusMeta.ts Outdated

export function agentConfiguredProviderStatus(providerId: string | null): AuthStatus {
if (providerId?.trim().toLowerCase() === "wire") {
return {kind: "gateway", label: "JetBrains Air Gateway"};

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This string is shown to users, and elsewhere (docs, commit history) the product is written AIR, not Air. Was JetBrains Air Gateway checked with the client/product side?

Co-authored-by: Junie <junie@jetbrains.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@serjic
serjic force-pushed the serjic/ijai-2956-central-auth-source branch from db5b9d1 to 4fdeb6f Compare October 13, 2026 10:29
@EugeneTheDev
EugeneTheDev merged commit cc54abf into agentclientprotocol:main Oct 13, 2026
2 checks passed
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