Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
8afbecf
merge
Vasilije1990 Apr 18, 2025
7bdb2ab
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 18, 2025
b35e047
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 19, 2025
2a485f9
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 19, 2025
f072e8d
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 20, 2025
98a1b79
fix: run cognee in Docker [COG-1961] (#775)
dexters1 Apr 23, 2025
17a77c5
Merge remote-tracking branch 'origin/main' into dev
borisarzentar Apr 24, 2025
80e5edc
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 25, 2025
5aca3f0
fix: Doesn't drop entire PG database, just cleans public schema - Cog…
Vasilije1990 Apr 25, 2025
0a9e1a4
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 Apr 26, 2025
79921f8
Merge remote-tracking branch 'origin/main' into dev
Vasilije1990 Apr 26, 2025
6109bf5
feat: Add uv and poetry support to Cognee [COG-1572] (#780)
dexters1 Apr 28, 2025
a627841
fix: networkx id type change [COG-1876] (#786)
dexters1 Apr 28, 2025
c4915a4
Mcp SSE support [COG-1781] (#785)
dexters1 Apr 28, 2025
773752a
feat: Add detailed log handling options for Cognee exceptions [COG-19…
dexters1 Apr 28, 2025
66ecd35
fix: s3fs version fix [COG-2025] (#798)
dexters1 Apr 30, 2025
ad943d0
docs: add cognee UI (#799)
hande-k Apr 30, 2025
cd9c489
feat: remove get_distance_from_collection_names and adapt search (#766)
borisarzentar Apr 30, 2025
7db7422
docs: update colab demo (#795)
hande-k Apr 30, 2025
5970d96
feat: pass context argument to tasks that require it (#788)
borisarzentar Apr 30, 2025
9729547
feat: abstract logging tool integration (#787)
borisarzentar Apr 30, 2025
d417c71
merged
Vasilije1990 May 8, 2025
5d415dc
feat: Add Memgraph integration (#751)
matea16 May 10, 2025
34b95b6
refactor: Handle boto3 s3fs dependencies better (#809)
dexters1 May 10, 2025
a78fec3
fix: Fixes collection search limit in brute force triplet search (#814)
hajdul88 May 12, 2025
9c131f0
refactor: Update lanceDB and change delete to work async (#770)
dexters1 May 12, 2025
f93463e
fix: make onnxruntime flexible (#815)
borisarzentar May 13, 2025
8ea0097
fix: graphiti example (#816)
soobrosa May 13, 2025
13bb244
feat: Create notebook to show how to compute ranks from graph (#771)
diegoabt May 13, 2025
966e337
feat: add MCP check status tool [COG-1784] (#793)
dexters1 May 13, 2025
e3121f5
docs: Update log level of CollectionNotFoundError (#819)
dexters1 May 13, 2025
91f3cd9
fix: notebooks (#818)
soobrosa May 13, 2025
1e7b56f
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 May 13, 2025
0f3522e
fix: cognee docker image (#820)
borisarzentar May 15, 2025
badd73c
Merge branch 'dev' of github.com:topoteretes/cognee into dev
Vasilije1990 May 15, 2025
c058219
Clean up core cognee repo
Vasilije1990 May 15, 2025
729cb9b
Revert "Clean up core cognee repo"
Vasilije1990 May 15, 2025
ad0bb0c
version: v0.1.40 (#825)
borisarzentar May 15, 2025
7ac5761
Merge branch 'main' into dev
Vasilije1990 May 15, 2025
f9f18d1
feat: Add columns as nodes in relational db migration (#826)
dexters1 May 15, 2025
8178b72
fix: exclude files from build (#828)
borisarzentar May 15, 2025
1dd179b
feat: OpenAI compatible route /api/v1/responses (#792)
dm1tryG May 16, 2025
3b07f3c
feat: Test db examples (#817)
hande-k May 16, 2025
4371b9d
fix: 812 anthropic fix (#822)
Vasilije1990 May 16, 2025
5cf14eb
fix: Mcp small updates (#831)
Vasilije1990 May 16, 2025
86efeee
fix: pipeline run status migration (#836)
borisarzentar May 19, 2025
3ed9504
feat: Add developer rules (#833)
Vasilije1990 May 19, 2025
a874988
fix: Fixes pipeline run status migration (#838)
hajdul88 May 19, 2025
f8f7877
Fix: Fixes graph completion search limit (#839)
hajdul88 May 19, 2025
5c36a5d
feat: Adds modal parallel evaluation for retriever development (#844)
hajdul88 May 20, 2025
9d9ea63
fix: use default threading in Fastembed (#846)
lxobr May 20, 2025
4c52ef6
feat: added util logger OS (#841)
Vasilije1990 May 20, 2025
7eee769
Feat: Adds dashboard application to parallel modal evals (#847)
hajdul88 May 21, 2025
94c785d
fix: hotfix the file uploader in the delete router. (#842)
soobrosa May 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
83 changes: 42 additions & 41 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,60 +1,61 @@
FROM python:3.11-slim

# Define Poetry extras to install
ARG POETRY_EXTRAS="\
# API \
api \
# Storage & Databases \
postgres weaviate qdrant neo4j falkordb milvus kuzu chromadb \
# Notebooks & Interactive Environments \
notebook \
# LLM & AI Frameworks \
langchain llama-index gemini huggingface ollama mistral groq anthropic \
# Evaluation & Monitoring \
deepeval evals posthog \
# Graph Processing & Code Analysis \
codegraph graphiti \
# Document Processing \
docs"
# Use a Python image with uv pre-installed
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS uv

# Install the project into `/app`
WORKDIR /app

# Enable bytecode compilation
# ENV UV_COMPILE_BYTECODE=1

# Copy from the cache instead of linking since it's a mounted volume
ENV UV_LINK_MODE=copy

# Set build argument
ARG DEBUG

# Set environment variable based on the build argument
ENV DEBUG=${DEBUG}
ENV PIP_NO_CACHE_DIR=true
ENV PATH="${PATH}:/root/.poetry/bin"

RUN apt-get update
# Install system dependencies
RUN apt-get update && apt-get install -y \
gcc \
libpq-dev \
git \
curl \
clang \
build-essential \
&& rm -rf /var/lib/apt/lists/*

RUN apt-get install -y \
gcc \
build-essential \
libpq-dev
# Copy pyproject.toml and lockfile first for better caching
COPY README.md pyproject.toml uv.lock entrypoint.sh ./

WORKDIR /app
COPY pyproject.toml poetry.lock /app/

RUN pip install poetry
# Install the project's dependencies using the lockfile and settings
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --extra debug --extra api --extra postgres --extra weaviate --extra qdrant --extra neo4j --extra kuzu --extra llama-index --extra gemini --extra ollama --extra mistral --extra groq --extra anthropic --frozen --no-install-project --no-dev --no-editable

# Don't create virtualenv since Docker is already isolated
RUN poetry config virtualenvs.create false
# Copy Alembic configuration
COPY alembic.ini /app/alembic.ini
COPY alembic/ /app/alembic

# Install the dependencies using the defined extras
RUN poetry install --extras "${POETRY_EXTRAS}" --no-root
# Then, add the rest of the project source code and install it
# Installing separately from its dependencies allows optimal layer caching
COPY ./cognee /app/cognee
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --extra debug --extra api --extra postgres --extra weaviate --extra qdrant --extra neo4j --extra kuzu --extra llama-index --extra gemini --extra ollama --extra mistral --extra groq --extra anthropic --frozen --no-dev --no-editable

# Set the PYTHONPATH environment variable to include the /app directory
ENV PYTHONPATH=/app
FROM python:3.12-slim-bookworm

COPY cognee/ /app/cognee
WORKDIR /app

# Copy Alembic configuration
COPY alembic.ini /app/alembic.ini
COPY alembic/ /app/alembic
COPY --from=uv /app /app
# COPY --from=uv /app/.venv /app/.venv
# COPY --from=uv /root/.local /root/.local

COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh

RUN sed -i 's/\r$//' /app/entrypoint.sh
# Place executables in the environment at the front of the path
ENV PATH="/app/.venv/bin:$PATH"

ENV PYTHONPATH=/app

ENTRYPOINT ["/app/entrypoint.sh"]
11 changes: 10 additions & 1 deletion cognee-frontend/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export default function Home() {
const onDataAdd = useCallback((dataset: { id: string }, files: File[]) => {
return addData(dataset, files)
.then(() => {
showNotification("Data added successfully.", 5000);
showNotification("Data added successfully. Please run \"Cognify\" when ready.", 5000);
openDatasetData(dataset);
});
}, [showNotification])
Expand All @@ -60,6 +60,14 @@ export default function Home() {
});
}, [showNotification]);

const onCognify = useCallback(() => {
const dataset = datasets.find((dataset) => dataset.id === selectedDataset);
return onDatasetCognify({
id: dataset!.id,
name: dataset!.name,
});
}, [datasets, onDatasetCognify, selectedDataset]);
Comment on lines +63 to +69
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

New callback function to support cognification from data view

The implementation looks good, but be cautious with non-null assertions on dataset!.id and dataset!.name. If selectedDataset doesn't match any dataset ID in the datasets array, this could potentially cause runtime errors.


🏁 Script executed:

#!/bin/bash
# Check for error handling around this callback in components that use it
rg -A 3 -B 3 "onCognify" --type tsx

Length of output: 63


Couldn’t locate any uses of onCognify with the first search. Let’s broaden the ripgrep command to catch TSX files without relying on --type:


🏁 Script executed:

#!/bin/bash
# Search for onCognify occurrences (with context) across all files
rg -A3 -B3 "onCognify"

Length of output: 2484


Guard against undefined dataset in onCognify

The useCallback in page.tsx currently uses non-null assertions on dataset!.id and dataset!.name, which will throw at runtime if selectedDataset doesn’t match any entry in datasets. Add an explicit guard to handle the “not found” case before invoking onDatasetCognify.

• File: cognee-frontend/src/app/page.tsx
Lines: 63–69
• Suggested change (diff-style):

   const onCognify = useCallback(() => {
-    const dataset = datasets.find((dataset) => dataset.id === selectedDataset);
-    return onDatasetCognify({
-      id: dataset!.id,
-      name: dataset!.name,
-    });
+    const dataset = datasets.find((d) => d.id === selectedDataset);
+    if (!dataset) {
+      console.warn(`No dataset found for id "${selectedDataset}"`);
+      return;
+    }
+    return onDatasetCognify({
+      id: dataset.id,
+      name: dataset.name,
+    });
   }, [datasets, onDatasetCognify, selectedDataset]);

This ensures we don’t accidentally invoke onDatasetCognify with undefined values and provides a clear warning if the selection is invalid.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const onCognify = useCallback(() => {
const dataset = datasets.find((dataset) => dataset.id === selectedDataset);
return onDatasetCognify({
id: dataset!.id,
name: dataset!.name,
});
}, [datasets, onDatasetCognify, selectedDataset]);
const onCognify = useCallback(() => {
const dataset = datasets.find((d) => d.id === selectedDataset);
if (!dataset) {
console.warn(`No dataset found for id "${selectedDataset}"`);
return;
}
return onDatasetCognify({
id: dataset.id,
name: dataset.name,
});
}, [datasets, onDatasetCognify, selectedDataset]);
🤖 Prompt for AI Agents
In cognee-frontend/src/app/page.tsx around lines 63 to 69, the onCognify
callback uses non-null assertions on dataset properties which can cause runtime
errors if no matching dataset is found. Add an explicit check to see if dataset
is undefined before calling onDatasetCognify; if undefined, handle the case
gracefully by either returning early or logging a warning, ensuring
onDatasetCognify is only called with valid dataset data.


const {
value: isSettingsModalOpen,
setTrue: openSettingsModal,
Expand Down Expand Up @@ -95,6 +103,7 @@ export default function Home() {
datasetId={selectedDataset}
onClose={closeDatasetData}
onDataAdd={onDataAdd}
onCognify={onCognify}
/>
</div>
)}
Expand Down
2 changes: 1 addition & 1 deletion cognee-frontend/src/app/wizard/CognifyStep/CognifyStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import cognifyDataset from '@/modules/datasets/cognifyDataset';

interface ConfigStepProps {
onNext: () => void;
dataset: { id: string }
dataset: { name: string }
}

export default function CognifyStep({ onNext, dataset }: ConfigStepProps) {
Expand Down
4 changes: 2 additions & 2 deletions cognee-frontend/src/app/wizard/ExploreStep/ExploreStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import { Explorer } from '@/ui/Partials';
import { Spacer } from 'ohmy-ui';

interface ExploreStepProps {
dataset: { id: string };
dataset: { name: string };
}

export default function ExploreStep({ dataset }: ExploreStepProps) {
return (
<Spacer horizontal="3">
<Explorer dataset={dataset!} />
<Explorer dataset={dataset} />
</Spacer>
)
}
2 changes: 1 addition & 1 deletion cognee-frontend/src/app/wizard/WizardPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default function WizardPage({
setFalse: closeSettingsModal,
} = useBoolean(false);

const dataset = { id: 'main' };
const dataset = { name: 'main' };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Property name change is consistent with broader refactoring.

Changing the property from id to name aligns with the broader refactoring across the codebase as mentioned in the AI summary.

Let's verify that all usages of dataset.id have been updated to use dataset.name instead:


🏁 Script executed:

#!/bin/bash
# Check for any remaining instances of dataset.id that might have been missed during refactoring
echo "Searching for potential missed refactoring instances:"
rg "dataset\.id" --type=typescript --type=tsx

Length of output: 199


The rg error indicates “typescript” isn’t a recognized file type. Let’s broaden the search to all .ts/.tsx files:


🏁 Script executed:

#!/bin/bash
echo "Searching for any remaining `dataset.id` usages in .ts/.tsx files:"
rg "dataset\.id" -g '*.ts' -g '*.tsx'

Length of output: 1298


Incomplete refactoring: remaining dataset.id references need updating

Several files still reference dataset.id instead of dataset.name. Please update each occurrence to use the new name property (and adjust any related variable or API-parameter names), for example:

• cognee-frontend/src/modules/ingestion/useDatasets.ts

  • status: statuses[dataset.id]
  • datasets.filter((dataset) => dataset.id !== datasetId)

• cognee-frontend/src/modules/ingestion/addData.ts

  • if (dataset.id) {
    formData.append('datasetId', dataset.id);
    }

• cognee-frontend/src/modules/ingestion/DatasetsView/DatasetsView.tsx

  • <DatasetItem key={dataset.id} onClick={() => onDatasetClick(dataset)}>

• cognee-frontend/src/modules/datasets/deleteDataset.ts

  • fetch(/v1/datasets/${dataset.id})

• cognee-frontend/src/modules/datasets/getDatasetData.ts

  • fetch(/v1/datasets/${dataset.id}/data)

• cognee-frontend/src/modules/datasets/cognifyDataset.ts

  • datasets: [dataset.id || dataset.name]

• cognee-frontend/src/app/page.tsx

  • .then(() => setSelectedDataset(dataset.id));
  • const dataset = datasets.find((dataset) => dataset.id === selectedDataset);

Example diff for one case:

- status: statuses[dataset.id]
+ status: statuses[dataset.name]

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In cognee-frontend/src/app/wizard/WizardPage.tsx at line 32, the dataset object
uses the property name 'name' instead of 'id' as part of a broader refactoring.
However, there are still many references to 'dataset.id' across the codebase
that need to be updated to 'dataset.name' to maintain consistency. Review all
occurrences of 'dataset.id' in the project files, especially those listed in the
comment, and replace them with 'dataset.name'. Also, update any related variable
names, API parameters, and usages accordingly to reflect this change.


return (
<main className={styles.main}>
Expand Down
4 changes: 2 additions & 2 deletions cognee-frontend/src/modules/datasets/cognifyDataset.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { fetch } from '@/utils';

export default function cognifyDataset(dataset: { id: string, name: string }) {
export default function cognifyDataset(dataset: { id?: string, name?: string }) {
return fetch('/v1/cognify', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
datasets: [dataset.id],
datasets: [dataset.id || dataset.name],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

❓ Verification inconclusive

Consider handling edge case when both id and name are undefined

The fallback mechanism dataset.id || dataset.name is good, but there's no handling for the case when both properties are undefined, which could lead to an API error.

-      datasets: [dataset.id || dataset.name],
+      datasets: [dataset.id || dataset.name || ''],

Alternatively, consider adding validation before making the API call:

export default function cognifyDataset(dataset: { id?: string, name?: string }) {
+  if (!dataset.id && !dataset.name) {
+    throw new Error('Dataset must have either id or name');
+  }
  return fetch('/v1/cognify', {

Ensure dataset.id or dataset.name is defined to avoid sending [null] in the payload

Add a guard at the start of cognifyDataset and use the nullish coalescing operator:

• File: cognee-frontend/src/modules/datasets/cognifyDataset.ts
• Line: just before the fetch call

 export default function cognifyDataset(dataset: { id?: string; name?: string }) {
+  if (!dataset.id && !dataset.name) {
+    throw new Error('cognifyDataset: dataset.id or dataset.name must be defined');
+  }
   return fetch('/v1/cognify', {
     method: 'POST',
     headers: { 'Content-Type': 'application/json' },
     body: JSON.stringify({
-      datasets: [dataset.id || dataset.name],
+      datasets: [dataset.id ?? dataset.name],
     }),
   });
 }

This prevents generating [null] (since JSON.stringify([undefined])"[null]") and fails fast when both values are missing.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
datasets: [dataset.id || dataset.name],
export default function cognifyDataset(dataset: { id?: string; name?: string }) {
if (!dataset.id && !dataset.name) {
throw new Error('cognifyDataset: dataset.id or dataset.name must be defined');
}
return fetch('/v1/cognify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
datasets: [dataset.id ?? dataset.name],
}),
});
}
🤖 Prompt for AI Agents
In cognee-frontend/src/modules/datasets/cognifyDataset.ts at line 10, the code
uses dataset.id || dataset.name without checking if both are undefined, which
can cause the payload to include [null] and lead to API errors. To fix this, add
a validation guard before the fetch call to ensure either dataset.id or
dataset.name is defined; if neither is present, handle the error or return
early. Use the nullish coalescing operator to safely assign the datasets array
only when a valid id or name exists.

}),
}).then((response) => response.json());
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { fetch } from '@/utils';

export default function getExplorationGraphUrl(dataset: { id: string }) {
export default function getExplorationGraphUrl(dataset: { name: string }) {
return fetch('/v1/visualize')
.then(async (response) => {
if (response.status !== 200) {
Expand Down
24 changes: 22 additions & 2 deletions cognee-frontend/src/modules/ingestion/DataView/DataView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import {
Text,
UploadInput,
CloseIcon,
CTAButton,
useBoolean,
} from "ohmy-ui";
import { fetch } from '@/utils';
import RawDataPreview from './RawDataPreview';
Expand All @@ -28,9 +30,10 @@ interface DataViewProps {
datasetId: string;
onClose: () => void;
onDataAdd: (dataset: DatasetLike, files: File[]) => void;
onCognify: () => Promise<any>;
}

export default function DataView({ datasetId, data, onClose, onDataAdd }: DataViewProps) {
export default function DataView({ datasetId, data, onClose, onDataAdd, onCognify }: DataViewProps) {
// const handleDataDelete = () => {};
const [rawData, setRawData] = useState<ArrayBuffer | null>(null);
const [selectedData, setSelectedData] = useState<Data | null>(null);
Expand All @@ -52,7 +55,19 @@ export default function DataView({ datasetId, data, onClose, onDataAdd }: DataVi

const handleDataAdd = (files: File[]) => {
onDataAdd({ id: datasetId }, files);
}
};

const {
value: isCognifyButtonDisabled,
setTrue: disableCognifyButton,
setFalse: enableCognifyButton,
} = useBoolean(false);

const handleCognify = () => {
disableCognifyButton();
onCognify()
.finally(() => enableCognifyButton());
};

return (
<Stack orientation="vertical" gap="4">
Expand All @@ -62,6 +77,11 @@ export default function DataView({ datasetId, data, onClose, onDataAdd }: DataVi
<Text>Add data</Text>
</UploadInput>
</div>
<div>
<CTAButton disabled={isCognifyButtonDisabled} onClick={handleCognify}>
<Text>Cognify</Text>
</CTAButton>
</div>
<GhostButton hugContent onClick={onClose}>
<CloseIcon />
</GhostButton>
Expand Down
2 changes: 1 addition & 1 deletion cognee-frontend/src/ui/Partials/Explorer/Explorer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { getExplorationGraphUrl } from '@/modules/exploration';
import styles from './Explorer.module.css';

interface ExplorerProps {
dataset: { id: string };
dataset: { name: string };
className?: string;
style?: React.CSSProperties;
}
Expand Down
9 changes: 5 additions & 4 deletions cognee-frontend/src/ui/Partials/SearchView/SearchView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ export default function SearchView() {
}, []);

const searchOptions = [{
value: 'INSIGHTS',
label: 'Query insights from documents',
}, {
value: 'GRAPH_COMPLETION',
label: 'Completion using Cognee\'s graph based memory',
}, {
Expand Down Expand Up @@ -81,6 +78,8 @@ export default function SearchView() {

scrollToBottom();

setInputValue('');

const searchTypeValue = searchType.value;

fetch('/v1/search', {
Expand All @@ -103,10 +102,12 @@ export default function SearchView() {
text: convertToSearchTypeOutput(systemMessage, searchTypeValue),
},
]);
setInputValue('');

scrollToBottom();
})
.catch(() => {
setInputValue(inputValue);
});
}, [inputValue, scrollToBottom, searchType.value]);

const {
Expand Down
2 changes: 1 addition & 1 deletion cognee-frontend/src/utils/fetch.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import handleServerErrors from './handleServerErrors';

export default function fetch(url: string, options: RequestInit = {}): Promise<Response> {
return global.fetch('http://127.0.0.1:8000/api' + url, {
return global.fetch('http://localhost:8000/api' + url, {
...options,
headers: {
...options.headers,
Expand Down
8 changes: 6 additions & 2 deletions cognee-mcp/src/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,9 @@ async def cognify_status():
"""Get status of cognify pipeline"""
with redirect_stdout(sys.stderr):
user = await get_default_user()
status = await get_pipeline_status([await get_unique_dataset_id("main_dataset", user)])
status = await get_pipeline_status(
[await get_unique_dataset_id("main_dataset", user)], "cognify_pipeline"
)
return [types.TextContent(type="text", text=str(status))]


Expand All @@ -153,7 +155,9 @@ async def codify_status():
"""Get status of codify pipeline"""
with redirect_stdout(sys.stderr):
user = await get_default_user()
status = await get_pipeline_status([await get_unique_dataset_id("codebase", user)])
status = await get_pipeline_status(
[await get_unique_dataset_id("codebase", user)], "cognify_code_pipeline"
)
return [types.TextContent(type="text", text=str(status))]


Expand Down
5 changes: 3 additions & 2 deletions cognee/api/v1/add/add.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from typing import Union, BinaryIO, List, Optional
from cognee.modules.users.models import User

from cognee.modules.pipelines import Task
from cognee.tasks.ingestion import ingest_data, resolve_data_directories
from cognee.modules.users.models import User
from cognee.modules.pipelines import cognee_pipeline
from cognee.tasks.ingestion import ingest_data, resolve_data_directories


async def add(
Expand Down
4 changes: 3 additions & 1 deletion cognee/api/v1/cognify/cognify.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ async def cognify(
):
tasks = await get_default_tasks(user, graph_model, chunker, chunk_size, ontology_file_path)

return await cognee_pipeline(tasks=tasks, datasets=datasets, user=user)
return await cognee_pipeline(
tasks=tasks, datasets=datasets, user=user, pipeline_name="cognify_pipeline"
)


async def get_default_tasks( # TODO: Find out a better way to do this (Boris's comment)
Expand Down
2 changes: 1 addition & 1 deletion cognee/api/v1/datasets/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ async def list_data(dataset_id: str):

@staticmethod
async def get_status(dataset_ids: list[UUID]) -> dict:
return await get_pipeline_status(dataset_ids)
return await get_pipeline_status(dataset_ids, pipeline_name="cognify_pipeline")

@staticmethod
async def delete_dataset(dataset_id: str):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import asyncio
from typing import Generic, List, Optional, TypeVar, Union, get_args, get_origin, get_type_hints
import lancedb
from lancedb.pydantic import LanceModel, Vector
from pydantic import BaseModel
from lancedb.pydantic import LanceModel, Vector
from typing import Generic, List, Optional, TypeVar, Union, get_args, get_origin, get_type_hints

from cognee.exceptions import InvalidValueError
from cognee.infrastructure.engine import DataPoint
Expand All @@ -16,8 +16,6 @@
from ..utils import normalize_distances
from ..vector_db_interface import VectorDBInterface

from tenacity import retry, stop_after_attempt, wait_exponential


class IndexSchema(DataPoint):
id: str
Expand Down
1 change: 1 addition & 0 deletions cognee/modules/pipelines/models/PipelineRun.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@


class PipelineRunStatus(enum.Enum):
DATASET_PROCESSING_INITIATED = "DATASET_PROCESSING_INITIATED"
DATASET_PROCESSING_STARTED = "DATASET_PROCESSING_STARTED"
DATASET_PROCESSING_COMPLETED = "DATASET_PROCESSING_COMPLETED"
DATASET_PROCESSING_ERRORED = "DATASET_PROCESSING_ERRORED"
Expand Down
1 change: 1 addition & 0 deletions cognee/modules/pipelines/operations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from .log_pipeline_run_initiated import log_pipeline_run_initiated
from .log_pipeline_run_start import log_pipeline_run_start
from .log_pipeline_run_complete import log_pipeline_run_complete
from .log_pipeline_run_error import log_pipeline_run_error
Expand Down
Loading