From 3a4922a05930b0dc22740bf5621910803e8f275e Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Thu, 3 Sep 2026 18:05:29 +0900 Subject: feat(plugin-system): plan 07 frontend plugin manager ui --- src/features/chat/ui/ModelSelector.svelte | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/features/chat') diff --git a/src/features/chat/ui/ModelSelector.svelte b/src/features/chat/ui/ModelSelector.svelte index c66d3dd..a9b0cc9 100644 --- a/src/features/chat/ui/ModelSelector.svelte +++ b/src/features/chat/ui/ModelSelector.svelte @@ -22,6 +22,7 @@ namedAgents = [], namedAgentSnapshot = null, onSelectNamedAgent, + zeroProviders = false, }: { models: readonly string[]; selected: string; @@ -39,6 +40,12 @@ namedAgentSnapshot?: NamedAgentSelectionSnapshot | null; /** Called when a Named Agent is selected (the selector resolves it to a raw model + snapshot). */ onSelectNamedAgent?: (snapshot: NamedAgentSelectionSnapshot) => void; + /** + * First-boot guardrail (§7): true when the ACTIVE workspace has ZERO + * enabled providers (plan 06's `providers-status`) — renders a visible + * prompt above the picker instead of a silently empty one. + */ + zeroProviders?: boolean; } = $props(); // Whether the current selection is a Named Agent snapshot (the conversation was @@ -121,6 +128,16 @@
+ {#if zeroProviders} + + + {/if}