* feat(askai): Implement dynamic tool calls
* move ToolCall to components dir
* Converge Agent Studio search tools to same definition, fix client side tools breaking UI state
* add examples for custom tools
* fix: lint & types
## Summary
Fixes DASH-2294
Add compatibility with the Algolia MCP search tool (`algolia_search_index_${string}`) in AskAI.
## Changes
- Add `AlgoliaMCPSearchTool` type to handle the Algolia MCP server search tool
- Refactor how number of hits are retrieved in `ToolCall` into a `getNumberOfHits` helper
## Test plan
- Added unit tests for modified code ✅
Focus the prompt textarea when the sidepanel opens, skipping mobile
to avoid triggering the virtual keyboard which disrupts the layout.
Blur the input when the sidepanel closes to remove lingering focus.
* feat(sidepanel): Add sidepanel component for Ask AI (#2792)
* feat(sidepanel): Initial working Sidepanel implementation
* fix: circleci config
* fix: set proper sidepanel export
* Sidepanel props updates, conversation screen updates
* Started mobile work
* Style prompt input and header for mobile
* fixes prompt input height, adds more translations, mobile updates, fixes panel height calculations
* finish mobile, adds dark theme, minor fixes
* fix: lock
* Add missing titles to buttons
* Have most recent conversation be at the bottom of the exchange list, scroll to newest conversation
* fix: versions
* move to floating variant being default for Sidepanel
---------
Co-authored-by: Dylan Tientcheu <dylantientcheu@gmail.com>
* feat(sidepanel): Sidepanel/Modal hybrid mode (#2799)
* feat(sidepanel): Initial working Sidepanel implementation
* fix: circleci config
* fix: set proper sidepanel export
* Sidepanel props updates, conversation screen updates
* Started mobile work
* Style prompt input and header for mobile
* fixes prompt input height, adds more translations, mobile updates, fixes panel height calculations
* finish mobile, adds dark theme, minor fixes
* fix: lock
* Add missing titles to buttons
* Have most recent conversation be at the bottom of the exchange list, scroll to newest conversation
* feat(sidepanel): Allow hybrid mode for Sidepanel and Modal
* fix: yarn.lock
* fix: tests - dont send new chat message from modal while in hybrid mode
* Make docsearch core a true dependency
* Cleanup handling the registered views Set
---------
Co-authored-by: Dylan Tientcheu <dylantientcheu@gmail.com>
* feat(sidepanel): Add sidepanel-js package for CDN (#2800)
* feat(sidepanel): Initial working Sidepanel implementation
* fix: circleci config
* fix: set proper sidepanel export
* Sidepanel props updates, conversation screen updates
* Started mobile work
* Style prompt input and header for mobile
* fixes prompt input height, adds more translations, mobile updates, fixes panel height calculations
* finish mobile, adds dark theme, minor fixes
* fix: lock
* Add missing titles to buttons
* Have most recent conversation be at the bottom of the exchange list, scroll to newest conversation
* feat(sidepanel): Add sidepanel-js package for CDN
* fix: ci
* fix: yarn.lock
---------
Co-authored-by: Dylan Tientcheu <dylantientcheu@gmail.com>
* feat(sidepanel): Sidepanel UI/UX tweaks (#2808)
* fix(umd): Fixes global names for packages in UMD builds
* chore: Update tsdeclaration files, update directory field in package json files
* feat(sidepanel): Add Sidepanel documentation (#2811)
* feat(sidepanel): Add Sidepanel documentation
* Minor fixes and updates
* Hybrid mode update
* fix: hardcode yarn cache key for now
---------
Co-authored-by: Dylan Tientcheu <dylantientcheu@gmail.com>