summaryrefslogtreecommitdiffhomepage
path: root/src/app
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-27 18:15:37 +0900
committerAdam Malczewski <[email protected]>2026-06-27 18:15:37 +0900
commitf79e3fcd846f24582ea8c536cf55f1f72d75d967 (patch)
treeb3190926745adf3527de7e3cee1de497529a122c /src/app
parent4cfdf106cae5d1c19191258e05a64235985178d1 (diff)
downloaddispatch-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.svelte1
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}