diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 18:15:37 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 18:15:37 +0900 |
| commit | f79e3fcd846f24582ea8c536cf55f1f72d75d967 (patch) | |
| tree | b3190926745adf3527de7e3cee1de497529a122c /src/app | |
| parent | 4cfdf106cae5d1c19191258e05a64235985178d1 (diff) | |
| download | dispatch-web-f79e3fcd846f24582ea8c536cf55f1f72d75d967.tar.gz dispatch-web-f79e3fcd846f24582ea8c536cf55f1f72d75d967.zip | |
feat(concurrency): provider dropdown instead of free-text input
Replace the Add-form provider text input with a <select> dropdown populated
from the available models' provider prefixes (<provider>/<model>), unioned
with providers already carrying a configured limit (so a limit set out-of-band
but whose model list is empty still appears). The selection auto-defaults to
the first option and falls back when an option disappears.
- logic/view-model.ts: pure providerFromModel + providerOptions(models, limits)
(distinct provider ids, first-seen order) + 7 tests.
- ConcurrencyView.svelte: models prop + <select> bound to newProviderId;
disabled + 'No providers available' when there are no models.
- App.svelte: pass models={store.models}; component test updated to the
dropdown (selectOptions) + a no-models case (6 component tests).
Verified: typecheck 0/0, 922 tests green, biome clean, build OK.
Diffstat (limited to 'src/app')
| -rw-r--r-- | src/app/App.svelte | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/app/App.svelte b/src/app/App.svelte index b40ed09..e0f64eb 100644 --- a/src/app/App.svelte +++ b/src/app/App.svelte @@ -716,6 +716,7 @@ <!-- Per-provider concurrency limits + live status. GLOBAL (not workspace- or conversation-scoped), so the panel stays mounted across tab switches. --> <ConcurrencyView + models={store.models} loadLimits={loadConcurrencyLimits} saveLimit={saveConcurrencyLimit} deleteLimit={deleteConcurrencyLimit} |
