FN-7898: add in-chat thinking-level control next to the attach button
Adds a Brain-icon popover control in the chat composer that lets users change an existing session's reasoning-effort level mid-conversation, extending the existing create-time-only thinking-level picker.
- Add ChatThinkingLevelControl component (Brain-icon trigger + popover) wired into ChatView's direct-session composer, gated to non-CLI model-loop sessions only
- Extend PATCH /api/chat/sessions/:id to accept an optional thinkingLevel field, validated via existing validateThinkingLevel helper; null/empty string explicitly clears back to the inherited default, omitting the key leaves it untouched
- Add useChat().setSessionThinkingLevel hook method to call the new PATCH capability
- Add i18n strings (thinkingLevelButton) across all locales and regenerate packages/i18n/src/resources.d.ts
- Add changeset for @runfusion/fusion (minor) and update docs/dashboard-guide.md
Files changed:
.changeset/fn-7898-chat-thinking-level-control.md | 7 +
docs/dashboard-guide.md | 2 +
packages/dashboard/app/api/legacy.ts | 4 +-
.../app/components/ChatThinkingLevelControl.tsx | 133 +++++++++++
packages/dashboard/app/components/ChatView.css | 73 ++++++
packages/dashboard/app/components/ChatView.tsx | 20 ++
.../__tests__/ChatThinkingLevelControl.test.tsx | 103 ++++++++
.../__tests__/ChatView.message-edit.test.tsx | 1 +
.../components/__tests__/ChatView.test-harness.tsx | 1 +
.../__tests__/ChatView.thinking-level.test.tsx | 262 +++++++++++++++++++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 108 +++++++++
packages/dashboard/app/hooks/useChat.ts | 59 +++++
.../dashboard/src/__tests__/chat-routes.test.ts | 83 +++++++
.../dashboard/src/routes/register-chat-routes.ts | 35 ++-
packages/i18n/locales/en/app.json | 1 +
packages/i18n/locales/es/app.json | 1 +
packages/i18n/locales/fr/app.json | 1 +
packages/i18n/locales/ko/app.json | 1 +
packages/i18n/locales/zh-CN/app.json | 1 +
packages/i18n/locales/zh-TW/app.json | 1 +
packages/i18n/src/resources.d.ts | 96 ++++++--
21 files changed, 970 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-7898
Fusion-Task-Lineage: a052a6ef-d2d3-45af-9b92-221996780b1b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>