Commit graph

17 commits

Author SHA1 Message Date
David Brailovsky
ef41a24b39 fix(ai): keep Copilot tests aligned with current model catalog
Derive catalog-sensitive test IDs from generated models and update tool-call normalization coverage to GPT-5.5.
2026-09-04 11:15:20 +02:00
Ramiz Wachtler
55b0db4d3e
fix(ai): prevent copilot policy login rate limits (#8254)
- fixes #7850
- fetch the account model catalog before policy updates
- update only known, tool-capable, unconfigured models
- retry throttled login requests within a bounded delay
- preserve the existing non-retrying refresh behavior
2026-08-19 09:40:18 +02:00
Vegard Stikbakke
086c32e745 fix(ai): retry Copilot GET /models once on 429 during login
The login-time policy updates can drain the Copilot API rate-limit
bucket, in which case the follow-up GET /models is rejected with 429
(observed response: retry-after: 2, body 'too many requests') and login
aborts. Honor Retry-After and retry once instead of failing (#8121).
2026-08-15 07:33:05 +02:00
Vegard Stikbakke
d5278eaac3 fix(ai): enable Copilot model policies sequentially during login
Batching policy POSTs at concurrency 4 still bursts 30 requests during
login, which trips the Copilot API rate limiter and makes the following
GET /models fail with 429, aborting login (#8121). Send the policy
updates one at a time instead.
2026-08-15 07:24:34 +02:00
Vegard Stikbakke
b3edf01702 fix(ai): bound Copilot policy update concurrency 2026-08-11 14:25:53 +02:00
muyiyr
14cc26e86d
fix(ai): restore Copilot models from account policy (#7672)
* fix(ai): fall back to Copilot model policy

fixes #7634

* fix(ai): scope Copilot policy fallback
2026-08-05 22:15:51 +02:00
Mario Zechner
fed6009cc9 fix(coding-agent): make model refresh cancellation caller-owned
Add generation-safe catalog publication, cancellable auth and storage operations, locally consistent credential mutations, and cache-first interactive model flows.
2026-08-04 00:03:52 +02:00
Mario Zechner
9993c96907 feat(coding-agent): replace model registry with model runtime
Move provider auth and OAuth flows onto pi-ai Models, compose models.json and extension overlays through ModelRuntime, and retain ModelRegistry as an extension compatibility facade.
2026-07-14 17:48:45 +02:00
Vegard Stikbakke
8133c94db9 fix(ai): honor server-provided slow_down interval in device-code polling
GitHub's device flow documents slow_down as a rate limit: a poll that
arrives inside the throttle window is answered with slow_down instead of
the token, and the response's interval field reports the new required
minimum ("adds 5 seconds to the last interval"). A client that only
tracks its own +5s increment can stay behind the server's ratcheting
requirement when its timers fire early - common with WSL/VM clock drift
(microsoft/WSL#10006) - so every subsequent poll keeps hitting the rate
limit and login appears to hang forever even after the browser reports
the device as authorized.

Adopt the server-provided interval when a slow_down poll result carries
one, falling back to the RFC 8628 section 3.5 +5s increment otherwise.
GitHub Copilot passes the interval field through.

This restores part of the #1994 mitigations that were lost in the #4788
device-code refactor.

refs #6187
2026-07-03 22:26:12 +02:00
Vegard Stikbakke
e2ccdc8509 fix(ai): delay Copilot device-code token polling
closes #6187
2026-07-01 13:48:11 +02:00
Mario Zechner
abbd911693 Merge main into model-registry 2026-06-22 14:00:18 +02:00
Vegard Stikbakke
6e6ce70caf fix(ai): filter Copilot models by account availability
closes #5897
2026-06-19 13:17:13 +02:00
Armin Ronacher
ba6e5298df fix(oauth): harden browser launch handling 2026-06-02 23:15:46 +02:00
Vegard Stikbakke
9d5fb70b7e
feat(ai): add Codex device code login (#4911) 2026-05-28 11:09:33 +02:00
Vegard Stikbakke
c554364c2a feat(ai): refactor device code login for copilot 2026-05-22 08:54:18 +02:00
Mario Zechner
2e02c74dcb chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
Ben Hayden
fd0c7c3bdb
fix(ai): improve GitHub Copilot OAuth polling (#1994) 2026-03-09 20:15:17 +01:00