import { Community } from "../../../foundations/community/entities/community.entity"; import { CallerAttributionState } from "../../common/usage-attribution"; export interface FollowUpAnswer { question: string; answer: string; depth: number; additionalQuestions: string[]; shouldContinue: boolean; } export declare const DriftContext: import("@langchain/langgraph").AnnotationRoot<{ question: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; topK: import("@langchain/langgraph").BaseChannel, unknown>; maxDepth: import("@langchain/langgraph").BaseChannel, unknown>; /** Ledger category of the CALLING agent, e.g. `TokenUsageType.Responder`. */ tokenUsageType: import("@langchain/langgraph").BaseChannel, unknown>; /** Id of the caller's scope-root node. Absent = the caller ran unscoped. */ scopeId: import("@langchain/langgraph").BaseChannel, unknown>; /** JSON:API type of the caller's scope root, e.g. "campaigns". */ scopeType: import("@langchain/langgraph").BaseChannel, unknown>; /** Neo4j label of the caller's scope root, e.g. "Campaign". */ scopeLabel: import("@langchain/langgraph").BaseChannel, unknown>; /** Id of the caller's `Assistant` (thread) node — the unscoped fallback. */ assistantId: import("@langchain/langgraph").BaseChannel, unknown>; nextStep: import("@langchain/langgraph").BaseChannel, unknown>; hops: import("@langchain/langgraph").BaseChannel, unknown>; hypotheticalAnswer: import("@langchain/langgraph").BaseChannel, unknown>; hydeEmbedding: import("@langchain/langgraph").BaseChannel, unknown>; matchedCommunities: import("@langchain/langgraph").BaseChannel, unknown>; communitySummaries: import("@langchain/langgraph").BaseChannel, unknown>; initialAnswer: import("@langchain/langgraph").BaseChannel, unknown>; followUpQuestions: import("@langchain/langgraph").BaseChannel, unknown>; confidence: import("@langchain/langgraph").BaseChannel, unknown>; currentFollowUpIndex: import("@langchain/langgraph").BaseChannel, unknown>; currentDepth: import("@langchain/langgraph").BaseChannel, unknown>; followUpAnswers: import("@langchain/langgraph").BaseChannel, unknown>; priorContext: import("@langchain/langgraph").BaseChannel, unknown>; finalAnswer: import("@langchain/langgraph").BaseChannel, unknown>; tokens: import("@langchain/langgraph").BaseChannel): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; output: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; }>, import("@langchain/langgraph").StateType<{ input: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; output: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; }> | import("@langchain/langgraph").OverwriteValue): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; output: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; }>>, unknown>; }>; /** * LangGraph's `StateType` makes EVERY channel a required property, so adding a * channel to the root above would add a required key to this PUBLISHED type * (`DriftContextState` is exported from `agents/index.ts`) and break any * consumer that builds a state literal. The attribution channels are therefore * re-declared through {@link CallerAttributionState}, where they are optional — * the state still carries them, existing literals still compile. * * {@link DriftGraphState} is the un-widened shape LangGraph itself hands to a * node callback; the graph wiring uses it so the callback signatures still * match `StateGraph`'s required-property view. */ export type DriftGraphState = typeof DriftContext.State; export type DriftContextState = Omit & CallerAttributionState; //# sourceMappingURL=drift.context.d.ts.map