You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9dd9d26
Browse filesBrowse the repository at this point in the historyBrowse files
Three problems a review found in how profiles interact with the rest of
the extension.
Throttle gates were replaced whenever the configured cap or interval
changed. Two profiles on one endpoint with different settings alternate
every tick, so each call got a fresh gate with a full set of permits and
the cap meant nothing. The gate is now reconfigured in place: a smaller
cap admits nothing until in-flight requests drain below it, a larger one
hands the new permits to the oldest waiters at once. release() repays a
shrunk-cap deficit before admitting anyone.
A profile config was built on ConfigStore.withDefaults(), which carries
model=gpt-4o-mini, so an Anthropic profile that named no model asked for
an OpenAI model. Profiles now load the file as the whole configuration,
the way llm:load-config does, and the provider's own default applies.
Every Await read the global timeout and retry budget. Calls now use the
calling agent's effective config, and an async call captures the budget
at launch so a later config change or rebinding cannot alter it.
Tests: throttle spec covers in-place reconfigure, shrink under load, and
grow with waiters; tests.txt covers a model-less Anthropic profile, a
profile's own one-second budget timing out while the observer succeeds,
and an async call keeping its budget after the global config changes.
0 commit comments