Files
deerflow-code/frontend-web/src/core/llmwiki/knowledge-base-navigation.ts
T

45 lines
1.0 KiB
TypeScript

export type KnowledgeBaseCounts = {
knowledge_count: number;
processing_count: number;
};
export function isEmptyKnowledgeBase(
knowledgeBase: KnowledgeBaseCounts | null | undefined,
): boolean {
return Boolean(
knowledgeBase &&
knowledgeBase.knowledge_count === 0 &&
knowledgeBase.processing_count === 0,
);
}
export function defaultEmbeddedKnowledgeTab({
knowledgeBase,
wikiEnabled,
}: {
knowledgeBase: KnowledgeBaseCounts | null | undefined;
wikiEnabled: boolean;
}): "documents" | "wiki" {
if (isEmptyKnowledgeBase(knowledgeBase)) return "documents";
return wikiEnabled ? "wiki" : "documents";
}
export function shouldOpenNativeWikiIndex({
defaultEntry,
landingMode,
knowledgeBase,
wikiEnabled,
}: {
defaultEntry: boolean;
landingMode: "wiki" | "weknora";
knowledgeBase: KnowledgeBaseCounts | null | undefined;
wikiEnabled: boolean;
}): boolean {
return (
defaultEntry &&
landingMode === "wiki" &&
wikiEnabled &&
!isEmptyKnowledgeBase(knowledgeBase)
);
}