From b74357495e443ff6011531d296560caff9398a14 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Fri, 12 Jun 2026 20:38:57 +0900 Subject: feat(chat): reasoning-effort selector — sticky per-conversation thinking-depth knob MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consume the backend's reasoning-effort handoff (wire@0.7.0 ReasoningEffort + transport-contract@0.11.0 GET/PUT /conversations/:id/reasoning-effort, ChatRequest.reasoningEffort): a 5-level selector in the sidebar Model view, under the provider + model dropdowns. null renders as 'high (default)' per the server-owned resolution chain; PUT on change (effective next turn); error + revert on 400; per-conversation re-mount incl. drafts (the draft id survives promotion, so an effort set on a draft applies from turn 1). Re-mirrored .dispatch references; GLOSSARY 'reasoning effort'; handoff updated. 616 tests green; live curl probe passed. --- .../chat/ui/ReasoningEffortSelector.svelte | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/features/chat/ui/ReasoningEffortSelector.svelte (limited to 'src/features/chat/ui') diff --git a/src/features/chat/ui/ReasoningEffortSelector.svelte b/src/features/chat/ui/ReasoningEffortSelector.svelte new file mode 100644 index 0000000..8c7b193 --- /dev/null +++ b/src/features/chat/ui/ReasoningEffortSelector.svelte @@ -0,0 +1,75 @@ + + +
+ Reasoning effort +
+ + {#if saving} + + {/if} +
+ {#if error} +

{error}

+ {:else if justSaved} +

Saved — applies from the next turn.

+ {:else} +

+ How long the model thinks before answering. Changing it can re-prefill the prompt cache once. +

+ {/if} +
-- cgit v1.2.3