Skip to content

feat(chat): render reasoning parts - #7135

Closed
anjola-adeuyi wants to merge 16 commits into
masterfrom
feat/chat-reasoning-renderer
Closed

feat(chat): render reasoning parts#7135
anjola-adeuyi wants to merge 16 commits into
masterfrom
feat/chat-reasoning-renderer

Conversation

@anjola-adeuyi

@anjola-adeuyi anjola-adeuyi commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds opt-in rendering for Chat reasoning parts so the Agent Studio Dashboard can preserve its existing reasoning disclosure when moving to InstantSearch Chat.

showReasoning defaults to false. When enabled, reasoning is rendered in its original message order around tool calls and the final answer, collapsed by default. Only the active reasoning part shows progress.

This also keeps restored conversations stable. Replayed text, reasoning, tools and structural parts are reconciled without duplication, output guardrails stop trailing content and restored client tools retain a single callback owner.

This narrows #7105 to the rendering and stream behavior required by FX-3831. It does not add summaries, PII heuristics, loading captions, additional visibility modes or a custom Dashboard chat implementation.

Result

Enable reasoning in React:

<Chat showReasoning />

Or InstantSearch.js:

chat({
  showReasoning: true,
});

Covered behavior includes:

  • hidden by default and opt-in rendering in JavaScript and React
  • reasoning order around tools and answers
  • streaming, stop, error and reconnect states
  • full response replay without duplicate parts
  • restored tool callbacks and automatic continuation
  • output guardrail fallback
  • keyboard access for long reasoning
  • one progress indicator while reasoning is active

Reasoning parts

Each reasoning part is rendered as an independent disclosure and keeps its open state while the response streams.

Screen.Recording.2026-07-24.at.16.30.52.mov

@pkg-pr-new

pkg-pr-new Bot commented Jul 24, 2026

Copy link
Copy Markdown
More templates

algoliasearch-helper

npm i https://pkg.pr.new/algolia/instantsearch/algoliasearch-helper@7135

instantsearch-ui-components

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch-ui-components@7135

instantsearch.css

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch.css@7135

instantsearch.js

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch.js@7135

react-instantsearch

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch@7135

react-instantsearch-core

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-core@7135

react-instantsearch-nextjs

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-nextjs@7135

react-instantsearch-router-nextjs

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-router-nextjs@7135

vue-instantsearch

npm i https://pkg.pr.new/algolia/instantsearch/vue-instantsearch@7135

commit: eb378e9

@codacy-production

codacy-production Bot commented Jul 24, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 26 complexity

Metric Results
Complexity 26

View in Codacy

TIP This summary will be updated as you push new changes.

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

Size Change: +4.65 kB (+0.39%)

Total Size: 1.2 MB

📦 View Changed
Filename Size Change
packages/instantsearch.css/components/chat-min.css 6.11 kB +357 B (+6.2%) 🔍
packages/instantsearch.css/components/chat.css 6.54 kB +382 B (+6.2%) 🔍
packages/instantsearch.css/themes/algolia-min.css 10.6 kB +333 B (+3.26%)
packages/instantsearch.css/themes/algolia.css 11.2 kB +386 B (+3.56%)
packages/instantsearch.css/themes/nova-min.css 10.7 kB +350 B (+3.39%)
packages/instantsearch.css/themes/nova.css 11.4 kB +369 B (+3.35%)
packages/instantsearch.css/themes/satellite-min.css 11.4 kB +324 B (+2.92%)
packages/instantsearch.css/themes/satellite.css 12.3 kB +387 B (+3.25%)
packages/instantsearch.js/dist/instantsearch.development.js 286 kB +887 B (+0.31%)
packages/instantsearch.js/dist/instantsearch.production.min.js 136 kB +327 B (+0.24%)
packages/react-instantsearch-core/dist/umd/ReactInstantSearchCore.min.js 64.7 kB +125 B (+0.19%)
packages/react-instantsearch/dist/umd/ReactInstantSearch.min.js 108 kB +420 B (+0.39%)
ℹ️ View Unchanged
Filename Size Change
packages/algolia-experiences/dist/algolia-experiences.development.js 178 kB +1 B (0%)
packages/algolia-experiences/dist/algolia-experiences.production.min.js 81 kB 0 B
packages/algoliasearch-helper/dist/algoliasearch.helper.js 44.3 kB 0 B
packages/algoliasearch-helper/dist/algoliasearch.helper.min.js 13.9 kB 0 B
packages/instantsearch.css/components/ai-mode-button.css 1.75 kB 0 B
packages/instantsearch.css/components/autocomplete-min.css 4.31 kB 0 B
packages/instantsearch.css/components/autocomplete.css 4.66 kB 0 B
packages/instantsearch.css/components/button.css 1.96 kB 0 B
packages/instantsearch.css/components/filter-suggestions.css 1.88 kB 0 B
packages/instantsearch.css/themes/reset-min.css 1.3 kB 0 B
packages/instantsearch.css/themes/reset.css 1.38 kB 0 B
packages/vue-instantsearch/vue2/cjs/index.js 19.9 kB 0 B
packages/vue-instantsearch/vue2/umd/index.js 73 kB -6 B (-0.01%)
packages/vue-instantsearch/vue3/cjs/index.js 20.6 kB 0 B
packages/vue-instantsearch/vue3/umd/index.js 73.4 kB -6 B (-0.01%)

compressed-size-action

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

Size Change: +15.6 kB (+1.31%)

Total Size: 1.21 MB

📦 View Changed
Filename Size Change
packages/instantsearch.css/components/chat-min.css 6.12 kB +362 B (+6.29%) 🔍
packages/instantsearch.css/components/chat.css 6.55 kB +388 B (+6.3%) 🔍
packages/instantsearch.css/themes/algolia-min.css 10.6 kB +341 B (+3.34%)
packages/instantsearch.css/themes/algolia.css 11.2 kB +394 B (+3.64%)
packages/instantsearch.css/themes/nova-min.css 10.7 kB +355 B (+3.44%)
packages/instantsearch.css/themes/nova.css 11.4 kB +378 B (+3.44%)
packages/instantsearch.css/themes/satellite-min.css 11.4 kB +329 B (+2.97%)
packages/instantsearch.css/themes/satellite.css 12.3 kB +394 B (+3.31%)
packages/instantsearch.js/dist/instantsearch.development.js 290 kB +5.16 kB (+1.81%)
packages/instantsearch.js/dist/instantsearch.production.min.js 138 kB +2.76 kB (+2.03%)
packages/react-instantsearch-core/dist/umd/ReactInstantSearchCore.min.js 66.8 kB +2.22 kB (+3.44%)
packages/react-instantsearch/dist/umd/ReactInstantSearch.min.js 110 kB +2.57 kB (+2.38%)
ℹ️ View Unchanged
Filename Size Change
packages/algolia-experiences/dist/algolia-experiences.development.js 178 kB 0 B
packages/algolia-experiences/dist/algolia-experiences.production.min.js 81 kB 0 B
packages/algoliasearch-helper/dist/algoliasearch.helper.js 44.3 kB 0 B
packages/algoliasearch-helper/dist/algoliasearch.helper.min.js 13.9 kB +1 B (+0.01%)
packages/instantsearch.css/components/ai-mode-button.css 1.75 kB 0 B
packages/instantsearch.css/components/autocomplete-min.css 4.31 kB 0 B
packages/instantsearch.css/components/autocomplete.css 4.66 kB 0 B
packages/instantsearch.css/components/button.css 1.96 kB 0 B
packages/instantsearch.css/components/filter-suggestions.css 1.88 kB 0 B
packages/instantsearch.css/themes/reset-min.css 1.3 kB 0 B
packages/instantsearch.css/themes/reset.css 1.38 kB 0 B
packages/vue-instantsearch/vue2/cjs/index.js 19.9 kB 0 B
packages/vue-instantsearch/vue2/umd/index.js 73 kB -6 B (-0.01%)
packages/vue-instantsearch/vue3/cjs/index.js 20.6 kB 0 B
packages/vue-instantsearch/vue3/umd/index.js 73.4 kB -6 B (-0.01%)

compressed-size-action

@anjola-adeuyi

Copy link
Copy Markdown
Contributor Author

Superseded by #7139 which contains the corrected rendering-only implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant