Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
15a2fe7
Algolia AskAI (Beta)
kimsauce Sep 30, 2025
8a353c4
add staging
kimsauce Sep 30, 2025
fb17a8f
Ask AI - assistantId
kimsauce Sep 30, 2025
88d63aa
docsearch css
kimsauce Sep 30, 2025
34870c0
rm staging
kimsauce Sep 30, 2025
d9771d9
rm staging
kimsauce Sep 30, 2025
e07ef8e
Merge branch 'ask-ai' of github.com:SumoLogic/sumologic-documentation…
kimsauce Sep 30, 2025
b6beb61
Merge branch 'main' into ask-ai
kimsauce Sep 30, 2025
6609941
Merge branch 'main' into ask-ai
kimsauce Oct 7, 2025
ab9cc43
Merge branch 'main' into ask-ai
kimsauce Nov 5, 2025
01dd0d0
Merge branch 'main' into ask-ai
kimsauce Dec 10, 2025
e94670c
Merge branch 'main' into ask-ai
kimsauce Dec 19, 2025
a99274f
restore Algolia Ask AI credentials
kimsauce Dec 19, 2025
ae25fb3
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jan 12, 2026
cba5955
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jan 22, 2026
5eb7d75
Merge branch 'main' into algolia-ask-ai
kimsauce Jan 22, 2026
761bb69
Merge branch 'main' into algolia-ask-ai
kimsauce Feb 24, 2026
6207e5a
Merge branch 'main' into algolia-ask-ai
kimsauce Mar 14, 2026
eeee7f9
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Mar 15, 2026
2e7ce0d
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Apr 13, 2026
78b2d92
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Apr 13, 2026
0c78a7d
merge w main
kimsauce Apr 13, 2026
780738a
Merge branch 'staging/algolia-ask-ai' of github.com:SumoLogic/sumolog…
kimsauce Apr 13, 2026
3be01a4
merge w main
kimsauce Apr 13, 2026
acf0994
Implement Algolia Ask AI integration with navbar button
kimsauce Apr 14, 2026
8924c4d
Enhance Ask AI sidepanel with premium styling and bug fixes
kimsauce Apr 14, 2026
703bb25
Match Ask AI button styling to DocSearch and enable suggested questions
kimsauce Apr 14, 2026
b119dc9
Reduce Ask AI button animation intensity and hide loading text
kimsauce Apr 14, 2026
c81fe79
Fix Ask AI sidepanel input alignment and width stability
kimsauce Apr 14, 2026
451e989
Refine Ask AI sidepanel UX with auto-focus and improved typography
kimsauce Apr 14, 2026
46cf7c4
Merge branch 'main' into staging/algolia-ask-ai
kimsauce May 15, 2026
c76f025
Merge branch 'main' into staging/algolia-ask-ai
kimsauce May 22, 2026
7f026c5
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 4, 2026
5613f3d
DOCS-1649 - Fix broken Configuring log forwarding link in Fortigate F…
amee-sumo Jun 4, 2026
1647bd0
Update dashboard images for JumpCloud Directory Insights (#6763)
amee-sumo Jun 4, 2026
77d37b3
DOCS-1672 - Add C3M Stop Push and View Results release note (#6758)
JV0812 Jun 4, 2026
9d13e06
CONN-5836: added chatgpt c2c documentation (#6755)
piyushgupta-sumo Jun 4, 2026
19f9642
CONN-5862: added chatgpt app documentation (#6762)
piyushgupta-sumo Jun 4, 2026
e204cea
SUMO-284710 - Add Windows Active Directory Inventory receiver doc for…
shubham-sumo Jun 4, 2026
f903a6d
DOCS-1664 - Update MCP server doc (#6747)
kimsauce Jun 4, 2026
f823b28
DOCS-1665 - Clarify effective permissions intersection in OAuth doc (…
kimsauce Jun 4, 2026
7f2b997
DOCS-1681 - Ask AI sidepanel UX and styling improvements
kimsauce Jun 5, 2026
1f8a74a
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 5, 2026
da5373c
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 5, 2026
e130665
Migrate Ask AI from legacy Algolia Ask AI to Agent Studio
kimsauce Jun 6, 2026
cf33f9d
Remove unused algoliasearch and react-instantsearch from lockfile
kimsauce Jun 6, 2026
3127e1c
Fix Algolia search input text overlap with 'Clear the query' button
kimsauce Jun 7, 2026
0a6b515
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 8, 2026
7bcd1df
Revert Agent Studio migration — return to legacy Algolia Ask AI
kimsauce Jun 8, 2026
90c6db6
DOCS-1162 - Ask AI panel UI polish: auto-resize input, layout fixes, …
kimsauce Jun 11, 2026
db0649a
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 11, 2026
37d90df
DOCS-1162 - Ask AI: copy button fix, search-to-sidepanel handoff, UI …
kimsauce Jun 16, 2026
b48bdde
DOCS-1162 - Ask AI: copy button fix, search-to-sidepanel handoff, UI …
kimsauce Jun 16, 2026
b8e0095
DOCS-1162 - Ask AI: route DocSearch Enter key to sidepanel
kimsauce Jun 16, 2026
0fdb2a1
Merge branch 'origin/staging/algolia-ask-ai' — resolve Root.tsx confl…
kimsauce Jun 16, 2026
005ebba
DOCS-1162 - Ask AI: simplify search-to-sidepanel handoff, remove cust…
kimsauce Jun 16, 2026
7843a8f
DOCS-1162 - revert trailing newline in static txt file
kimsauce Jun 16, 2026
a570295
Refine Ask AI sidepanel header actions
kimsauce Jun 17, 2026
500d733
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 18, 2026
a25fc94
Refine Ask AI sidepanel UI
kimsauce Jun 24, 2026
e138464
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jun 24, 2026
db66918
UI/UX
kimsauce Jun 25, 2026
ceafd1e
hide Searched for "x" found N results line. and soften disclaimer text
kimsauce Jun 25, 2026
fbc8a6f
Add feedback modal for Ask AI thumbs up/down
kimsauce Jun 27, 2026
faaa6bc
retrying with new commit message
kimsauce Jun 27, 2026
a62e8ce
Merge branch 'main' into staging/algolia-ask-ai
kimsauce Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,14 @@ module.exports = {
require.resolve('./src/client-modules/trackTrialClick.js'),
require.resolve('./src/client-modules/fixAnchorScroll.js'),
],
customFields: {
askAi: {
// Keep Algolia Ask AI feedback targets out of source control.
// This Google Form is a shared public collection endpoint for Algolia Ask AI feedback.
feedbackFormUrl:
'https://docs.google.com/forms/d/e/1FAIpQLSdJOWBAXsM86C-buZm0N3a9vwBOxxjOfBe7jiEn6PkLqctv5A/viewform?usp=pp_url&entry.778922322=a&entry.898262107=a&entry.1217042173=a&entry.1416546939=a&entry.1571666595=a&entry.554631687=a',
},
},
storage: {
type: 'localStorage',
namespace: true,
Expand Down Expand Up @@ -388,6 +396,13 @@ module.exports = {
contextualSearch: false,
searchPagePath: 'docs-search', // Default value is 'search'; renamed to 'docs-search' so it doesn't conflict with '/Search' redirect
insights: true,
askAi: {
assistantId: 'T7pp7iENesuU',
indexName: 'crawler_sumodocs',
apiKey: 'fb2f4e1fb40f962900631121cb365549',
appId: '2SJPGMLW1Q',
suggestedQuestions: true,
},
insightsConfig: {
useCookie: true, // alt to useCookie: true,
},
Expand Down Expand Up @@ -549,6 +564,12 @@ module.exports = {
type: 'search',
position: 'left',
},
{
type: 'html',
position: 'left',
className: 'navbar-ask-ai-item',
value: '<div id="navbar-ask-ai-button"></div>',
},
],
},
footer: {
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@
"@babel/runtime-corejs3": "7.26.10",
"@braintree/sanitize-url": "^6.0.1",
"@csstools/selector-resolve-nested": "3.1.0",
"@docsearch/css": "4",
"@docsearch/core": "4.6.2",
"@docsearch/css": "4.6.2",
"@docsearch/react": "4.6.2",
"@docusaurus/bundler": "^3.10.1",
"@docusaurus/core": "^3.10.1",
"@docusaurus/cssnano-preset": "^3.10.1",
Expand Down
50 changes: 50 additions & 0 deletions src/components/AskAiButton/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/**
* Ask AI Button Component
*
* Renders a button in the navbar that opens the Algolia Ask AI sidepanel.
* Includes keyboard shortcut support (Cmd/Ctrl + I).
*
* The sidepanel itself is rendered in Root.tsx, outside the navbar portal,
* so it is never unmounted by navbar re-renders on resize.
*/

import React, { useEffect } from 'react';
import styles from './styles.module.css';

interface AskAiButtonProps {
isOpen: boolean;
setIsOpen: (open: boolean) => void;
}

export default function AskAiButton({ isOpen, setIsOpen }: AskAiButtonProps) {
// Keyboard shortcut: Cmd/Ctrl + I
useEffect(() => {
const handleKeyDown = (event: KeyboardEvent) => {
if ((event.metaKey || event.ctrlKey) && event.key === 'i') {
event.preventDefault();
setIsOpen(!isOpen);
}
};

document.addEventListener('keydown', handleKeyDown);
return () => document.removeEventListener('keydown', handleKeyDown);
}, [isOpen, setIsOpen]);

return (
<button
className={styles.askAiButton}
onClick={() => setIsOpen(true)}
aria-label="Ask AI"
title="Ask AI (Cmd/Ctrl + I)"
>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className={styles.buttonIcon}>
<path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/>
<path d="M20 3v4"/>
<path d="M22 5h-4"/>
<path d="M4 17v2"/>
<path d="M5 18H3"/>
</svg>
<span className={styles.buttonText}>Ask AI</span>
</button>
);
}
94 changes: 94 additions & 0 deletions src/components/AskAiButton/styles.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/**
* Ask AI Button - Premium navbar button styling
* Matches Algolia and Stripe documentation design patterns
*/

.askAiButton {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0 0.875rem;
height: 36px;
background: transparent;
border: 1px solid var(--ifm-color-border-pale);
border-radius: 8px;
color: #5f6368;
font-size: 0.8125rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
margin-left: -1rem;
position: relative;
overflow: hidden;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Hover effect with subtle background and shadow */
.askAiButton:hover {
background: var(--ifm-color-emphasis-100);
border-color: var(--ifm-color-emphasis-300);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Active/pressed state - minimal animation */
.askAiButton:active {
transform: scale(0.98);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
transition: transform 0.1s ease;
}

/* Focus state for accessibility */
.askAiButton:focus-visible {
outline: 2px solid var(--ifm-color-primary);
outline-offset: 2px;
}

/* Dark mode styling */
[data-theme='dark'] .askAiButton {
border-color: #6b6f78;
color: #bdc1c6;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

[data-theme='dark'] .askAiButton:hover {
background: var(--ifm-color-emphasis-200);
border-color: #6b6f78;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Button text and icon */
.buttonText {
display: inline;
letter-spacing: -0.01em;
}

.buttonIcon {
display: inline-flex;
align-items: center;
flex-shrink: 0;
transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
color: #5f6368;
}

/* Dark mode icon color to match DocSearch-Search-Icon */
[data-theme='dark'] .buttonIcon {
color: #bdc1c6;
}

/* Subtle icon animation on hover */
.askAiButton:hover .buttonIcon {
opacity: 0.8;
}

/* Responsive: Hide text on mobile, show icon only */
@media (max-width: 768px) {
.buttonText {
display: none;
}

.askAiButton {
padding: 0 0.625rem;
min-width: 36px;
justify-content: center;
}
}
Loading