import type { DebugMetaAgent } from '../capabilities/participant-agents.debug.facade.js'; /** * The Graph State for Profile Generation. */ export declare const EnrichmentGraphState: import("@langchain/langgraph").AnnotationRoot<{ /** * The User ID to link the profile to. */ userId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; /** * Operation mode controls graph flow: * - 'query': Fast path - only retrieve existing profile (no generation) * - 'write': Decompose provided/scraped input into premises * - 'generate': Auto-enrich from user table data via enrichUserProfile Chat API, * then decompose the enrichment into premises */ operationMode: import("@langchain/langgraph").BaseChannel<"query" | "write" | "generate", "query" | "write" | "generate" | import("@langchain/langgraph").OverwriteValue<"query" | "write" | "generate">, unknown>; /** * Flag to force profile regeneration even if profile exists. * When true with new input, the graph will re-generate and update the profile. */ forceUpdate: import("@langchain/langgraph").BaseChannel, unknown>; /** * Internal objective constructed from user data. */ objective: import("@langchain/langgraph").BaseChannel | undefined, unknown>; /** * Raw input data (either provided or scraped). */ input: import("@langchain/langgraph").BaseChannel | undefined, unknown>; /** * IDs of the user_socials records active during the current scrape/generate run. * Populated by scrapeNode and autoGenerateNode after getUserSocials is called. * Empty by default; read by decomposePremisesNode to set provenanceSource: * 'integration' + provenanceSourceId when premises derive from social enrichment. */ activeSocialIds: import("@langchain/langgraph").BaseChannel, unknown>; /** * The generated or loaded profile document. */ profile: import("@langchain/langgraph").BaseChannel<{ identity: { name: string; bio: string; location: string; }; context: string; userId?: string | undefined; } | undefined, { identity: { name: string; bio: string; location: string; }; context: string; userId?: string | undefined; } | import("@langchain/langgraph").OverwriteValue<{ identity: { name: string; bio: string; location: string; }; context: string; userId?: string | undefined; } | undefined> | undefined, unknown>; /** * Flags to track what needs to be generated. */ needsProfileGeneration: import("@langchain/langgraph").BaseChannel, unknown>; /** * Flag indicating that user information is insufficient for accurate profile generation. * When true, the graph should request additional information from the user. */ needsUserInfo: import("@langchain/langgraph").BaseChannel, unknown>; /** * List of missing user information fields. * Used to construct a helpful clarification message. */ missingUserInfo: import("@langchain/langgraph").BaseChannel, unknown>; /** * Error message if any step fails (non-fatal). */ error: import("@langchain/langgraph").BaseChannel | undefined, unknown>; /** * Tracks which operations were actually performed during this graph execution. * Used to provide explicit feedback to the user about what happened. */ operationsPerformed: import("@langchain/langgraph").BaseChannel<{ scraped?: boolean; decomposedPremises?: boolean; generatedProfile?: boolean; savedProfile?: boolean; }, { scraped?: boolean; decomposedPremises?: boolean; generatedProfile?: boolean; savedProfile?: boolean; } | import("@langchain/langgraph").OverwriteValue<{ scraped?: boolean; decomposedPremises?: boolean; generatedProfile?: boolean; savedProfile?: boolean; }>, unknown>; /** Timing records for each agent invocation within this graph run. */ agentTimings: import("@langchain/langgraph").BaseChannel, unknown>; /** * Output for query mode: structured result for the tool to read. */ readResult: import("@langchain/langgraph").BaseChannel<{ hasProfile: boolean; profile?: { id?: string; name: string; bio: string; location: string; }; message?: string; } | undefined, { hasProfile: boolean; profile?: { id?: string; name: string; bio: string; location: string; }; message?: string; } | import("@langchain/langgraph").OverwriteValue<{ hasProfile: boolean; profile?: { id?: string; name: string; bio: string; location: string; }; message?: string; } | undefined> | undefined, unknown>; }>;