Skip to content

v2.2.3-preview.1

@serjic serjic tagged this 13 Oct 11:45
### Summary

Addresses [IJAI-2956](https://youtrack.jetbrains.com/issue/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

```json
{
  "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.

```bash
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.

Co-authored-by: Junie <junie@jetbrains.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Assets 2
Loading