deepsearcher
Version:
DeepResearch Agent with LangGraph, use any llm and web search to build your own deep research agent
598 lines (592 loc) • 41.8 kB
TypeScript
import * as zod from 'zod';
import { z } from 'zod';
import * as _langchain_langgraph from '@langchain/langgraph';
import * as _langchain_core_messages from '@langchain/core/messages';
import { ClientOptions } from '@langchain/openai';
declare const ResearchState: _langchain_langgraph.AnnotationRoot<{
query: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
id: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>;
interface SearchResultItem {
id: string | number;
title: string;
content: string;
source?: string;
url?: string;
date?: string;
score?: number;
}
type SearcherFunction = (input: typeof ResearchState.State) => Promise<SearchResultItem[]>;
declare enum NodeEnum {
GenerateQuery = "generate_query",
Research = "research",
Reflection = "reflection",
FinalizeAnswer = "finalize_answer"
}
declare enum EventStreamEnum {
ChatModelStart = "on_chat_model_start",
ChatModelStream = "on_chat_model_stream",
ChatModelEnd = "on_chat_model_end"
}
declare class DeepResearch {
private readonly options?;
private readonly searcher;
constructor({ searcher, options, }: {
searcher: SearcherFunction;
options?: ClientOptions;
});
compile(): Promise<_langchain_langgraph.CompiledStateGraph<_langchain_langgraph.StateType<{
messages: _langchain_langgraph.BinaryOperatorAggregate<_langchain_core_messages.BaseMessageLike[], _langchain_core_messages.BaseMessageLike[]>;
generatedQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
searchedQueries: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
researchResult: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
sourcesGathered: _langchain_langgraph.BinaryOperatorAggregate<SearchResultItem[], SearchResultItem[]>;
researchLoopCount: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
reflectionState: {
(): _langchain_langgraph.LastValue<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
(annotation: _langchain_langgraph.SingleReducer<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>): _langchain_langgraph.BinaryOperatorAggregate<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.UpdateType<{
messages: _langchain_langgraph.BinaryOperatorAggregate<_langchain_core_messages.BaseMessageLike[], _langchain_core_messages.BaseMessageLike[]>;
generatedQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
searchedQueries: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
researchResult: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
sourcesGathered: _langchain_langgraph.BinaryOperatorAggregate<SearchResultItem[], SearchResultItem[]>;
researchLoopCount: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
reflectionState: {
(): _langchain_langgraph.LastValue<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
(annotation: _langchain_langgraph.SingleReducer<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>): _langchain_langgraph.BinaryOperatorAggregate<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, "__start__", {
messages: _langchain_langgraph.BinaryOperatorAggregate<_langchain_core_messages.BaseMessageLike[], _langchain_core_messages.BaseMessageLike[]>;
generatedQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
searchedQueries: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
researchResult: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
sourcesGathered: _langchain_langgraph.BinaryOperatorAggregate<SearchResultItem[], SearchResultItem[]>;
researchLoopCount: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
reflectionState: {
(): _langchain_langgraph.LastValue<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
(annotation: _langchain_langgraph.SingleReducer<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>): _langchain_langgraph.BinaryOperatorAggregate<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}, {
messages: _langchain_langgraph.BinaryOperatorAggregate<_langchain_core_messages.BaseMessageLike[], _langchain_core_messages.BaseMessageLike[]>;
generatedQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
searchedQueries: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
researchResult: _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
sourcesGathered: _langchain_langgraph.BinaryOperatorAggregate<SearchResultItem[], SearchResultItem[]>;
researchLoopCount: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
reflectionState: {
(): _langchain_langgraph.LastValue<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
(annotation: _langchain_langgraph.SingleReducer<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>): _langchain_langgraph.BinaryOperatorAggregate<_langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>, _langchain_langgraph.StateType<{
isSufficient: {
(): _langchain_langgraph.LastValue<boolean>;
(annotation: _langchain_langgraph.SingleReducer<boolean, boolean>): _langchain_langgraph.BinaryOperatorAggregate<boolean, boolean>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
knowledgeGap: {
(): _langchain_langgraph.LastValue<string>;
(annotation: _langchain_langgraph.SingleReducer<string, string>): _langchain_langgraph.BinaryOperatorAggregate<string, string>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
followUpQueries: {
(): _langchain_langgraph.LastValue<string[]>;
(annotation: _langchain_langgraph.SingleReducer<string[], string[]>): _langchain_langgraph.BinaryOperatorAggregate<string[], string[]>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
numberOfRanQueries: {
(): _langchain_langgraph.LastValue<number>;
(annotation: _langchain_langgraph.SingleReducer<number, number>): _langchain_langgraph.BinaryOperatorAggregate<number, number>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}>>;
Root: <S extends _langchain_langgraph.StateDefinition>(sd: S) => _langchain_langgraph.AnnotationRoot<S>;
};
}, zod.ZodObject<{
queryGeneratorModel: zod.ZodString;
reflectionModel: zod.ZodString;
answerModel: zod.ZodString;
numberOfInitialQueries: zod.ZodNumber;
maxResearchLoops: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
queryGeneratorModel: string;
reflectionModel: string;
answerModel: string;
numberOfInitialQueries: number;
maxResearchLoops: number;
}, {
queryGeneratorModel: string;
reflectionModel: string;
answerModel: string;
numberOfInitialQueries: number;
maxResearchLoops: number;
}>>>;
private generateQuery;
private continueToSearch;
private research;
private reflection;
private evaluateResearch;
private finalizeAnswer;
}
declare const ConfigurationSchema: z.ZodObject<{
queryGeneratorModel: z.ZodString;
reflectionModel: z.ZodString;
answerModel: z.ZodString;
numberOfInitialQueries: z.ZodNumber;
maxResearchLoops: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
queryGeneratorModel: string;
reflectionModel: string;
answerModel: string;
numberOfInitialQueries: number;
maxResearchLoops: number;
}, {
queryGeneratorModel: string;
reflectionModel: string;
answerModel: string;
numberOfInitialQueries: number;
maxResearchLoops: number;
}>;
type Configuration = z.infer<typeof ConfigurationSchema>;
export { type Configuration, DeepResearch, EventStreamEnum, NodeEnum, type SearchResultItem, type SearcherFunction };