Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
26581db
Read only mode for unauthenticated users (#1046)
kartikpersistent Jan 30, 2025
449552d
langchain updates (#1048)
prakriti-solankey Jan 30, 2025
2d86c5c
testing script changed for better logging errors and results of vario…
kaustubh-darekar Jan 30, 2025
578efad
Deepseek models integration (#1051)
kaustubh-darekar Jan 30, 2025
339488a
fixed top-line of drop-area (#1049)
kartikpersistent Jan 30, 2025
1dbd902
Schema viz (#1035)
prakriti-solankey Jan 30, 2025
6f3f863
updated to new ndl minor version and fixed sources modal display for …
kartikpersistent Feb 3, 2025
38eb72e
Chunk size overlap config (#1059)
prakriti-solankey Feb 7, 2025
6e60361
fix-load-existing-schema (#1061)
dhiaaeddine16 Feb 10, 2025
228ab9b
added bug report feature request and format fixes
kartikpersistent Feb 11, 2025
fbd9d3e
configured dependenabot for python
kartikpersistent Feb 11, 2025
6893a26
configuration fix
kartikpersistent Feb 11, 2025
4b831df
Fixed the logging time issue
praveshkumar1988 Feb 11, 2025
d53ba43
Backend connection config (#1060)
prakriti-solankey Feb 11, 2025
71e013e
Unable to get the status of document node resolved due to leading spa…
kaustubh-darekar Feb 11, 2025
d9a89f8
updated dependency
kartikpersistent Feb 11, 2025
2c8fe2a
Merge branch 'dev' of https://github.com/neo4j-labs/llm-graph-builder…
kartikpersistent Feb 11, 2025
192a1bc
always show schema button
prakriti-solankey Feb 11, 2025
e8e576f
always show schema button
prakriti-solankey Feb 11, 2025
ed69115
uri
prakriti-solankey Feb 11, 2025
3624feb
Update README.md
kartikpersistent Feb 11, 2025
738eecc
Update README.md
kartikpersistent Feb 11, 2025
69a1003
Update README.md
kartikpersistent Feb 12, 2025
4c48124
Update README.md
kartikpersistent Feb 12, 2025
bd917ae
Fixed the create community issue for backend connection configuration
praveshkumar1988 Feb 12, 2025
8b8368b
removal of unused code
prakriti-solankey Feb 12, 2025
5591741
Support added for gpt 3o mini & gemini flash 2.0 in dev (#1069)
kaustubh-darekar Feb 12, 2025
6762367
Cancelling the API's on Unmounting phase (#1068)
kartikpersistent Feb 13, 2025
7f075d5
Merge branch 'staging' into dev
prakriti-solankey Feb 13, 2025
6a6c82c
removed unused neo4j-driver
kartikpersistent Feb 13, 2025
f198ca5
added auth0 in the frame src
kartikpersistent Feb 13, 2025
a72f3cf
message change
prakriti-solankey Feb 14, 2025
43d3bed
Update docker-compose.yml
kartikpersistent Feb 16, 2025
7bd5dd3
Bump tailwindcss from 3.4.9 to 4.0.6 in /frontend (#1091)
dependabot[bot] Feb 17, 2025
c198260
message check
prakriti-solankey Feb 17, 2025
a0cd597
V0.7.1 documentation updates (#1094)
kartikpersistent Feb 17, 2025
1cc723c
Merge branch 'staging' into dev
kartikpersistent Feb 17, 2025
db20e29
Merge branch 'staging' into dev
prakriti-solankey Feb 17, 2025
896bdee
Bump react-dropzone from 14.2.3 to 14.3.5 in /frontend (#1084)
dependabot[bot] Feb 18, 2025
8938cd1
Bump @typescript-eslint/eslint-plugin from 6.21.0 to 7.0.0 in /fronte…
dependabot[bot] Feb 18, 2025
4ea5305
Bump eslint-plugin-react-hooks from 4.6.2 to 5.1.0 in /frontend (#1082)
dependabot[bot] Feb 18, 2025
74e8bdc
Bump typescript from 5.5.4 to 5.7.3 in /frontend (#1081)
dependabot[bot] Feb 18, 2025
5444e6b
fix-additional-instructions (#1089)
dhiaaeddine16 Feb 18, 2025
041837d
V0.7.1 minor fixes (#1097)
praveshkumar1988 Feb 19, 2025
e81655d
remove try except from llm.py
praveshkumar1988 Feb 19, 2025
78f1015
Remove example.env from main folder (#1099)
praveshkumar1988 Feb 19, 2025
fcb6bcc
moved to taulwind 3
kartikpersistent Feb 20, 2025
5c2029c
tailwind 4 migration
kartikpersistent Feb 20, 2025
36f2548
format fixes
kartikpersistent Feb 20, 2025
7e7a2c3
Source list api convert to post (#1102)
kartikpersistent Feb 20, 2025
7186ac4
Merge branch 'staging' into dev
prakriti-solankey Feb 20, 2025
7f8b8c9
height issue
prakriti-solankey Feb 20, 2025
cf92222
fix: Profile CSS Fix
kartikpersistent Feb 20, 2025
2274706
fix: display flex issue fix
kartikpersistent Feb 20, 2025
28780c5
Merge branch 'staging' into dev
prakriti-solankey Feb 21, 2025
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
11 changes: 11 additions & 0 deletions frontend/src/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -360,4 +360,15 @@
height: calc(100vh - 58px);
min-height: 200px;
display: flex
}
.profile-container{
display:flex;
gap:4px;
align-items:center;
border: 1px solid rgb(var(--theme-palette-neutral-border-strong));
border-radius: 12px;
}
.websource-btn-container{
display: flex;
gap: 10px;
}
6 changes: 3 additions & 3 deletions frontend/src/components/ChatBot/ChatInfoModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,13 @@ const ChatInfoModal: React.FC<chatInfoMessage> = ({
);
return (
<div className='n-bg-palette-neutral-bg-weak p-4'>
<div className='flex flex-row pb-6 items-center mb-2'>
<div className='flex! flex-row pb-6 items-center mb-2'>
<img
src={Neo4jRetrievalLogo}
style={{ width: isTablet ? 80 : 95, height: isTablet ? 80 : 95, marginRight: 10 }}
loading='lazy'
/>
<div className='flex flex-col'>
<div className='flex! flex-col'>
<Typography variant='h2'>Retrieval information</Typography>
<Typography variant='body-medium' className='mb-2'>
To generate this response, the process took <span className='font-bold'>{response_time} seconds,</span>
Expand Down Expand Up @@ -499,7 +499,7 @@ const ChatInfoModal: React.FC<chatInfoMessage> = ({
)}
</Flex>
{activeTab == 4 && nodes?.length && relationships?.length && mode !== chatModeLables.graph ? (
<div className='button-container flex mt-2 justify-center'>
<div className='button-container flex! mt-2 justify-center'>
<GraphViewButton
nodeValues={nodes}
relationshipValues={relationships}
Expand Down
12 changes: 6 additions & 6 deletions frontend/src/components/ChatBot/Chatbot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -406,26 +406,26 @@ const Chatbot: FC<ChatbotProps> = (props) => {
}, []);

return (
<div className='n-bg-palette-neutral-bg-weak flex flex-col justify-between min-h-full max-h-full overflow-hidden relative'>
<div className='n-bg-palette-neutral-bg-weak flex! flex-col justify-between min-h-full max-h-full overflow-hidden relative'>
{isDeleteChatLoading && (
<div className='chatbot-deleteLoader'>
<Loader title='Deleting...'></Loader>
</div>
)}
<div
className={`flex overflow-y-auto pb-12 min-w-full pl-5 pr-5 chatBotContainer ${
className={`flex! overflow-y-auto pb-12 min-w-full pl-5 pr-5 chatBotContainer ${
isChatOnly ? 'min-h-[calc(100dvh-114px)] max-h-[calc(100dvh-114px)]' : ''
} `}
>
<Widget className='n-bg-palette-neutral-bg-weak w-full' header='' isElevated={false}>
<div className='flex flex-col gap-4 gap-y-4'>
<div className='flex! flex-col gap-4 gap-y-4'>
{listMessages.map((chat, index) => {
const messagechatModes = Object.keys(chat.modes);
return (
<div
ref={messagesEndRef}
key={chat.id}
className={clsx(`flex gap-2.5`, {
className={clsx(`flex! gap-2.5`, {
'flex-row': chat.user === 'chatbot',
'flex-row-reverse': chat.user !== 'chatbot',
})}
Expand Down Expand Up @@ -545,8 +545,8 @@ const Chatbot: FC<ChatbotProps> = (props) => {
</div>
</Widget>
</div>
<div className='n-bg-palette-neutral-bg-weak flex gap-2.5 bottom-0 p-2.5 w-full'>
<form onSubmit={handleSubmit} className={`flex gap-2.5 w-full ${!isFullScreen ? 'justify-between' : ''}`}>
<div className='n-bg-palette-neutral-bg-weak flex! gap-2.5 bottom-0 p-2.5 w-full'>
<form onSubmit={handleSubmit} className={`flex! gap-2.5 w-full ${!isFullScreen ? 'justify-between' : ''}`}>
<TextInput
className={`n-bg-palette-neutral-bg-default flex-grow-7 ${
isFullScreen ? 'w-[calc(100%-105px)]' : 'w-[70%]'
Expand Down
16 changes: 8 additions & 8 deletions frontend/src/components/ChatBot/ChunkInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
return (
<>
{loading ? (
<div className='flex justify-center items-center'>
<div className='flex! justify-center items-center'>
<LoadingSpinner size='small' />
</div>
) : chunks?.length > 0 ? (
Expand All @@ -46,7 +46,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
<li key={chunk.id} className='mb-2'>
{chunk?.page_number ? (
<>
<div className='flex flex-row inline-block items-center'>
<div className='flex! flex-row inline-block items-center'>
<>
<DocumentTextIconOutline className='w-4 h-4 inline-block mr-2' />
<Typography
Expand Down Expand Up @@ -79,7 +79,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
</>
) : chunk?.url && chunk?.start_time ? (
<>
<div className='flex flex-row inline-block justiy-between items-center'>
<div className='flex! flex-row inline-block justiy-between items-center'>
<img src={youtubelogo} width={20} height={20} className='mr-2' />
<TextLink href={generateYouTubeLink(chunk?.url, chunk?.start_time)} isExternalLink={true}>
<Typography
Expand Down Expand Up @@ -111,7 +111,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
</>
) : chunk?.url && new URL(chunk.url).host === 'wikipedia.org' ? (
<>
<div className='flex flex-row inline-block justiy-between items-center'>
<div className='flex! flex-row inline-block justiy-between items-center'>
<img src={wikipedialogo} width={20} height={20} className='mr-2' />
<Typography variant='subheading-medium'>{chunk?.fileName}</Typography>
</div>
Expand All @@ -135,7 +135,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
</>
) : chunk?.url && new URL(chunk.url).host === 'storage.googleapis.com' ? (
<>
<div className='flex flex-row inline-block justiy-between items-center'>
<div className='flex! flex-row inline-block justiy-between items-center'>
<img src={gcslogo} width={20} height={20} className='mr-2' />
<Typography variant='subheading-medium'>{chunk?.fileName}</Typography>
</div>
Expand All @@ -159,7 +159,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
</>
) : chunk?.url && chunk?.url.startsWith('s3://') ? (
<>
<div className='flex flex-row inline-block justiy-between items-center'>
<div className='flex! flex-row inline-block justiy-between items-center'>
<img src={s3logo} width={20} height={20} className='mr-2' />
<Typography variant='subheading-medium'>{chunk?.fileName}</Typography>
</div>
Expand All @@ -185,7 +185,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
!chunk?.url.startsWith('s3://') &&
!isAllowedHost(chunk?.url, ['storage.googleapis.com', 'wikipedia.org', 'youtube.com']) ? (
<>
<div className='flex flex-row inline-block items-center'>
<div className='flex! flex-row inline-block items-center'>
<GlobeAltIconOutline className='n-size-token-7' />
<TextLink href={chunk?.url} isExternalLink={true}>
<Typography variant='body-medium'>{chunk?.url}</Typography>
Expand All @@ -211,7 +211,7 @@ const ChunkInfo: FC<ChunkProps> = ({ loading, chunks, mode }) => {
</>
) : (
<>
<div className='flex flex-row inline-block items-center'>
<div className='flex! flex-row inline-block items-center'>
{chunk.fileSource === 'local file' ? (
<DocumentTextIconOutline className='n-size-token-7 mr-2' />
) : (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const ExpandedChatButtonContainer: React.FC<IconProps> = ({ closeChatBot, delete
menuAnchor={chatAnchor}
isRoot={false}
/>
<div className='h-[48px]! mx-2 flex items-center'>
<div className='h-[48px]! mx-2 flex! items-center'>
<div ref={chatAnchor}>
<IconButtonWithToolTip
onClick={() => {
Expand Down
18 changes: 9 additions & 9 deletions frontend/src/components/ChatBot/SourcesInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
.map((c) => ({ fileName: c.fileName, fileSource: c.fileSource }))
.map((s, index) => {
return (
<li key={index} className='flex flex-row inline-block justify-between items-center p-2'>
<div className='flex flex-row inline-block justify-between items-center'>
<li key={index} className='flex! flex-row inline-block justify-between items-center p-2'>
<div className='flex! flex-row inline-block justify-between items-center'>
{s.fileSource === 'local file' ? (
<DocumentTextIconOutline className='n-size-token-7 mr-2' />
) : (
Expand All @@ -59,11 +59,11 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
<ul className='list-class list-none'>
{sources.map((link, index) => {
return (
<li key={index} className='flex flex-row inline-block justify-between items-center p-2'>
<li key={index} className='flex! flex-row inline-block justify-between items-center p-2'>
{link?.startsWith('http') || link?.startsWith('https') ? (
<>
{isAllowedHost(link, ['wikipedia.org']) && (
<div className='flex flex-row inline-block justify-between items-center'>
<div className='flex! flex-row inline-block justify-between items-center'>
<img src={wikipedialogo} width={20} height={20} className='mr-2' alt='Wikipedia Logo' />
<TextLink href={link} isExternalLink={true}>
<HoverableLink url={link}>
Expand All @@ -78,7 +78,7 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
</div>
)}
{isAllowedHost(link, ['storage.googleapis.com']) && (
<div className='flex flex-row inline-block justify-between items-center'>
<div className='flex! flex-row inline-block justify-between items-center'>
<img src={gcslogo} width={20} height={20} className='mr-2' alt='Google Cloud Storage Logo' />
<Typography
variant='body-medium'
Expand All @@ -90,7 +90,7 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
)}
{youtubeLinkValidation(link) && (
<>
<div className='flex flex-row inline-block justiy-between items-center'>
<div className='flex! flex-row inline-block justiy-between items-center'>
<img src={youtubelogo} width={20} height={20} className='mr-2' />
<TextLink href={link} isExternalLink={true}>
<HoverableLink url={link}>
Expand All @@ -107,7 +107,7 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
)}
{!link?.startsWith('s3://') &&
!isAllowedHost(link, ['storage.googleapis.com', 'wikipedia.org', 'www.youtube.com']) && (
<div className='flex flex-row inline-block justify-between items-center'>
<div className='flex! flex-row inline-block justify-between items-center'>
<GlobeAltIconOutline className='n-size-token-7' />
<TextLink href={link} isExternalLink={true}>
<Typography variant='body-medium'>{link}</Typography>
Expand All @@ -116,7 +116,7 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
)}
</>
) : link?.startsWith('s3://') ? (
<div className='flex flex-row inline-block justify-between items-center'>
<div className='flex! flex-row inline-block justify-between items-center'>
<img src={s3logo} width={20} height={20} className='mr-2' alt='S3 Logo' />
<Typography
variant='body-medium'
Expand All @@ -126,7 +126,7 @@ const SourcesInfo: FC<SourcesProps> = ({ loading, mode, chunks, sources }) => {
</Typography>
</div>
) : (
<div className='flex flex-row inline-block justify-between items-center'>
<div className='flex! flex-row inline-block justify-between items-center'>
<DocumentTextIconOutline className='n-size-token-7 mr-2' />
<Typography
variant='body-medium'
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ const Content: React.FC<ContentProps> = ({
<span className='h6 px-1'>Neo4j connection {isReadOnlyUser ? '(Read only Mode)' : ''}</span>
<Typography variant='body-medium'>
<DatabaseStatusIcon isConnected={connectionStatus} isGdsActive={isGdsActive} uri={userCredentials?.uri} />
<div className='pt-1 flex gap-1 items-center'>
<div className='pt-1 flex! gap-1 items-center'>
<div>{!hasSelections ? <StatusIndicator type='danger' /> : <StatusIndicator type='success' />}</div>
<div>
{hasSelections ? (
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Dropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const DropdownComponent: React.FC<ReusableDropdownProps> = ({
type='select'
label='LLM Models'
helpText={
<div className='w-max! flex gap-1 items-center'>
<div className='w-max! flex! gap-1 items-center'>
<span>
<InformationCircleIconOutline title='info' aria-label='infoicon' className='n-size-token-6' />
</span>
Expand Down
12 changes: 6 additions & 6 deletions frontend/src/components/FileTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
if (info.getValue() != 'Processing') {
return (
<div
className='cellClass flex gap-1 items-center'
className='cellClass flex! gap-1 items-center'
title={info.row.original?.status === 'Failed' ? info.row.original?.errorMessage : ''}
>
<div>
Expand All @@ -203,7 +203,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
);
} else if (info.getValue() === 'Processing' && info.row.original.processingProgress === undefined) {
return (
<div className='cellClass flex gap-1 items-center'>
<div className='cellClass flex! gap-1 items-center'>
<div>
<StatusIndicator type={statusCheck(info.getValue())} />
</div>
Expand Down Expand Up @@ -268,7 +268,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
);
}
return (
<div className='cellClass flex gap-1'>
<div className='cellClass flex! gap-1'>
<div>
<StatusIndicator type={statusCheck(info.getValue())} />
</div>
Expand Down Expand Up @@ -341,7 +341,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
cell: (info: CellContext<CustomFile, string>) => {
if (parseInt(info.getValue()) === 100 || info.row.original?.status === 'New') {
return (
<div className='flex gap-1 items-center'>
<div className='flex! gap-1 items-center'>
<Typography variant='body-medium'>
<StatusIndicator type='success' />
</Typography>
Expand All @@ -352,7 +352,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
return <CustomProgressBar value={parseInt(info?.getValue())}></CustomProgressBar>;
} else if (info.row.original?.status === 'Failed') {
return (
<div className='flex gap-1 items-center'>
<div className='flex! gap-1 items-center'>
<Typography variant='body-medium'>
<StatusIndicator type='danger' />
</Typography>
Expand All @@ -361,7 +361,7 @@ const FileTable: ForwardRefRenderFunction<ChildRef, FileTableProps> = (props, re
);
}
return (
<div className='flex items-center gap-1'>
<div className='flex! items-center gap-1'>
<Typography variant='body-medium'>
<StatusIndicator type='success' />
</Typography>
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Graph/GraphPropertiesPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const GraphPropertiesPanel = ({ inspectedItem, newScheme }: GraphPropertiesPanel
<h6 className='mr-auto'>{inspectedItemType === 'node' ? 'Node details' : 'Relationship details'}</h6>
</ResizePanelDetails.Title>
<ResizePanelDetails.Content>
<div className='mx-4 flex flex-row flex-wrap gap-2'>
<div className='mx-4 flex! flex-row flex-wrap gap-2'>
{isNode(inspectedItem) ? (
labelsSorted.map((label) => (
<LegendsChip type='node' key={`node ${label}`} label={label} scheme={newScheme} />
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/Graph/GraphPropertiesTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const GraphPropertiesTable = ({ propertiesWithTypes }: GraphPropertiesTableProps
console.log('proerties', propertiesWithTypes);
return (
<div className='flex w-full flex-col break-all px-4 text-sm' data-testid='viz-details-pane-properties-table'>
<div className='mb-1 flex flex-row pl-2'>
<div className='mb-1 flex! flex-row pl-2'>
<Typography variant='body-medium' className='basis-1/3'>
Key
</Typography>
Expand All @@ -15,7 +15,7 @@ const GraphPropertiesTable = ({ propertiesWithTypes }: GraphPropertiesTableProps
.filter(({ value }) => value !== undefined && value !== null && value !== '' && !Array.isArray(value))
.map(({ key, value }, _) => {
return (
<div key={key} className='border-palette-neutral-border-weak flex border-t py-1 pl-2 first:border-none'>
<div key={key} className='border-palette-neutral-border-weak flex! border-t py-1 pl-2 first:border-none'>
<div className='shrink basis-1/3 overflow-hidden whitespace-nowrap'>
<GraphLabel
type='propertyKey'
Expand Down
Loading
Loading