UNPKG

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
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 };