import { VerifiedIntent, ExecutionResult, type IntentValidationFailure } from "../domain/intent.state.js"; import { ExplicitIntentInferrer } from "./intent.inferrer.js"; import { SemanticVerifier } from "./intent.verifier.js"; import { IntentReconciler } from "./intent.reconciler.js"; import type { NormalizedIntentAction } from "./intent.reconciler.js"; import { IntentGraphDatabase } from "../../shared/interfaces/database.interface.js"; import type { EmbeddingGenerator } from "../../shared/interfaces/embedder.interface.js"; import type { IntentGraphQueue } from "../../shared/interfaces/queue.interface.js"; import type { DebugMetaAgent } from "../../capabilities/participant-agents.debug.facade.js"; import type { QuestionerEnqueueFn } from "../../capabilities/questions.enqueue.facade.js"; /** * Enforce write-mode constraints on reconciler output before any action can * reach persistence. Update mode is deliberately fail-closed: only updates * whose id is one of the caller-provided targets survive. */ export declare function enforceIntentActionBoundary(operationMode: 'create' | 'update' | 'delete' | 'read' | 'propose', targetIntentIds: string[] | undefined, actions: NormalizedIntentAction[]): NormalizedIntentAction[]; /** * Build the only action permitted for an explicit update. This path is * intentionally deterministic: semantic reconciliation may shape create * operations, but it may not redirect an update away from its supplied target. */ export declare function buildExplicitUpdateActions(targetIntentIds: string[] | undefined, activeIntentIds: string[], candidates: VerifiedIntent[]): { actions: NormalizedIntentAction[]; failure?: IntentValidationFailure; }; /** * Factory class to build and compile the Intent Processing Graph. */ export declare class IntentGraphFactory { private database; private embedder?; private intentQueue?; private questionerEnqueue?; private agents?; constructor(database: IntentGraphDatabase, embedder?: EmbeddingGenerator | undefined, intentQueue?: IntentGraphQueue | undefined, questionerEnqueue?: QuestionerEnqueueFn | undefined, agents?: { inferrer?: Pick; verifier?: Pick; reconciler?: Pick; } | undefined); createGraph(): import("@langchain/langgraph").CompiledStateGraph<{ userId: string; userProfile: string; inputContent: string | undefined; conversationContext: import("@langchain/core/messages").BaseMessage, import("@langchain/core/messages").MessageType>[] | undefined; operationMode: "delete" | "propose" | "update" | "create" | "read"; targetIntentIds: string[] | undefined; expectedIntentFingerprint: string | undefined; networkId: string | undefined; scopeType: import("../../index.js").ToolScopeType | undefined; scopeId: string | undefined; activeIntents: string; activeIntentIds: string[]; inferredIntents: { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]; verifiedIntents: VerifiedIntent[]; validationFailures: IntentValidationFailure[]; actions: NormalizedIntentAction[]; executionResults: ExecutionResult[]; error: string | undefined; trace: { node: string; detail?: string; data?: Record; }[]; agentTimings: DebugMetaAgent[]; indexScope: string[] | undefined; queryUserId: string | undefined; allUserIntents: boolean; readResult: { count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined; }, { userId?: string | undefined; userProfile?: string | undefined; inputContent?: string | undefined; conversationContext?: import("@langchain/core/messages").BaseMessage, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue, import("@langchain/core/messages").MessageType>[] | undefined> | undefined; operationMode?: "delete" | "propose" | "update" | "create" | "read" | import("@langchain/langgraph").OverwriteValue<"delete" | "propose" | "update" | "create" | "read"> | undefined; targetIntentIds?: string[] | import("@langchain/langgraph").OverwriteValue | undefined; expectedIntentFingerprint?: string | import("@langchain/langgraph").OverwriteValue | undefined; networkId?: string | import("@langchain/langgraph").OverwriteValue | undefined; scopeType?: import("../../index.js").ToolScopeType | import("@langchain/langgraph").OverwriteValue | undefined; scopeId?: string | import("@langchain/langgraph").OverwriteValue | undefined; activeIntents?: string | import("@langchain/langgraph").OverwriteValue | undefined; activeIntentIds?: string[] | import("@langchain/langgraph").OverwriteValue | undefined; inferredIntents?: { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[] | import("@langchain/langgraph").OverwriteValue<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]> | undefined; verifiedIntents?: VerifiedIntent[] | import("@langchain/langgraph").OverwriteValue | undefined; validationFailures?: IntentValidationFailure[] | import("@langchain/langgraph").OverwriteValue | undefined; actions?: NormalizedIntentAction[] | import("@langchain/langgraph").OverwriteValue | undefined; executionResults?: ExecutionResult[] | import("@langchain/langgraph").OverwriteValue | undefined; error?: string | import("@langchain/langgraph").OverwriteValue | undefined; trace?: { node: string; detail?: string; data?: Record; }[] | import("@langchain/langgraph").OverwriteValue<{ node: string; detail?: string; data?: Record; }[]> | undefined; agentTimings?: DebugMetaAgent[] | import("@langchain/langgraph").OverwriteValue | undefined; indexScope?: string[] | import("@langchain/langgraph").OverwriteValue | undefined; queryUserId?: string | import("@langchain/langgraph").OverwriteValue | undefined; allUserIntents?: boolean | import("@langchain/langgraph").OverwriteValue | undefined; readResult?: { count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | import("@langchain/langgraph").OverwriteValue<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined> | undefined; }, "query" | "__start__" | "prep" | "inference" | "verification" | "reconciler" | "executor", { userId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; userProfile: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; inputContent: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel | undefined, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; conversationContext: import("@langchain/langgraph").BaseChannel, import("@langchain/core/messages").MessageType>[] | undefined, import("@langchain/core/messages").BaseMessage, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue, import("@langchain/core/messages").MessageType>[] | undefined> | undefined, unknown>; operationMode: import("@langchain/langgraph").BaseChannel<"delete" | "propose" | "update" | "create" | "read", "delete" | "propose" | "update" | "create" | "read" | import("@langchain/langgraph").OverwriteValue<"delete" | "propose" | "update" | "create" | "read">, unknown>; targetIntentIds: import("@langchain/langgraph").BaseChannel | undefined, unknown>; expectedIntentFingerprint: import("@langchain/langgraph").BaseChannel | undefined, unknown>; networkId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeType: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; activeIntents: import("@langchain/langgraph").BaseChannel, unknown>; activeIntentIds: import("@langchain/langgraph").BaseChannel, unknown>; inferredIntents: import("@langchain/langgraph").BaseChannel<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[], { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[] | import("@langchain/langgraph").OverwriteValue<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]>, unknown>; verifiedIntents: import("@langchain/langgraph").BaseChannel, unknown>; validationFailures: import("@langchain/langgraph").BaseChannel, unknown>; actions: import("@langchain/langgraph").BaseChannel, unknown>; executionResults: import("@langchain/langgraph").BaseChannel, unknown>; error: import("@langchain/langgraph").BaseChannel | undefined, unknown>; trace: import("@langchain/langgraph").BaseChannel<{ node: string; detail?: string; data?: Record; }[], { node: string; detail?: string; data?: Record; }[] | import("@langchain/langgraph").OverwriteValue<{ node: string; detail?: string; data?: Record; }[]>, unknown>; agentTimings: import("@langchain/langgraph").BaseChannel, unknown>; indexScope: import("@langchain/langgraph").BaseChannel | undefined, unknown>; queryUserId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; allUserIntents: import("@langchain/langgraph").BaseChannel, unknown>; readResult: import("@langchain/langgraph").BaseChannel<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined, { count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | import("@langchain/langgraph").OverwriteValue<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined> | undefined, unknown>; }, { userId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; userProfile: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; inputContent: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel | undefined, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; conversationContext: import("@langchain/langgraph").BaseChannel, import("@langchain/core/messages").MessageType>[] | undefined, import("@langchain/core/messages").BaseMessage, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue, import("@langchain/core/messages").MessageType>[] | undefined> | undefined, unknown>; operationMode: import("@langchain/langgraph").BaseChannel<"delete" | "propose" | "update" | "create" | "read", "delete" | "propose" | "update" | "create" | "read" | import("@langchain/langgraph").OverwriteValue<"delete" | "propose" | "update" | "create" | "read">, unknown>; targetIntentIds: import("@langchain/langgraph").BaseChannel | undefined, unknown>; expectedIntentFingerprint: import("@langchain/langgraph").BaseChannel | undefined, unknown>; networkId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeType: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; activeIntents: import("@langchain/langgraph").BaseChannel, unknown>; activeIntentIds: import("@langchain/langgraph").BaseChannel, unknown>; inferredIntents: import("@langchain/langgraph").BaseChannel<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[], { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[] | import("@langchain/langgraph").OverwriteValue<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]>, unknown>; verifiedIntents: import("@langchain/langgraph").BaseChannel, unknown>; validationFailures: import("@langchain/langgraph").BaseChannel, unknown>; actions: import("@langchain/langgraph").BaseChannel, unknown>; executionResults: import("@langchain/langgraph").BaseChannel, unknown>; error: import("@langchain/langgraph").BaseChannel | undefined, unknown>; trace: import("@langchain/langgraph").BaseChannel<{ node: string; detail?: string; data?: Record; }[], { node: string; detail?: string; data?: Record; }[] | import("@langchain/langgraph").OverwriteValue<{ node: string; detail?: string; data?: Record; }[]>, unknown>; agentTimings: import("@langchain/langgraph").BaseChannel, unknown>; indexScope: import("@langchain/langgraph").BaseChannel | undefined, unknown>; queryUserId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; allUserIntents: import("@langchain/langgraph").BaseChannel, unknown>; readResult: import("@langchain/langgraph").BaseChannel<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined, { count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | import("@langchain/langgraph").OverwriteValue<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined> | undefined, unknown>; }, import("@langchain/langgraph").StateDefinition, { prep: { error: string; activeIntents?: undefined; activeIntentIds?: undefined; trace?: undefined; } | { activeIntents: string; activeIntentIds: string[]; trace: { node: string; detail: string; }[]; error?: undefined; }; query: { readResult: { count: number; intents: never[]; message: string; networkId?: undefined; }; } | { readResult: { count: number; intents: { id: string; description: string; summary: string | null; createdAt: Date; }[]; message?: undefined; networkId?: undefined; }; } | { readResult: { count: number; intents: never[]; message: string; networkId: string; }; } | { readResult: { count: number; networkId: string; intents: { id: string; description: string; summary: string | null; createdAt: Date; userId: string; userName: string | null; }[]; message?: undefined; }; }; inference: { inferredIntents: { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]; agentTimings: DebugMetaAgent[]; trace: { node: string; detail: string; }[]; }; verification: { verifiedIntents: never[]; agentTimings: never[]; validationFailures?: undefined; trace?: undefined; } | { verifiedIntents: VerifiedIntent[]; validationFailures: IntentValidationFailure[]; agentTimings: DebugMetaAgent[]; trace: { node: string; detail: string; data: { clarity: number; authority: number; sincerity: number; entropy: number | undefined; referentialBreadth: "narrow" | "moderate" | "broad" | undefined; missingSelectionalConstraints: ("location" | "role" | "outcome" | "timeframe" | "domain" | "concrete_need")[] | undefined; specificityWarning: string | undefined; classification: "COMMISSIVE" | "DIRECTIVE" | "ASSERTIVE" | "EXPRESSIVE" | "DECLARATION" | "UNKNOWN" | undefined; score: number | undefined; } | undefined; }[]; }; reconciler: import("@langchain/langgraph").UpdateType<{ userId: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; userProfile: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; inputContent: { (annotation: import("@langchain/langgraph").SingleReducer): import("@langchain/langgraph").BaseChannel | undefined, unknown>; (): import("@langchain/langgraph").LastValue; Root: (sd: S) => import("@langchain/langgraph").AnnotationRoot; }; conversationContext: import("@langchain/langgraph").BaseChannel, import("@langchain/core/messages").MessageType>[] | undefined, import("@langchain/core/messages").BaseMessage, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue, import("@langchain/core/messages").MessageType>[] | undefined> | undefined, unknown>; operationMode: import("@langchain/langgraph").BaseChannel<"delete" | "propose" | "update" | "create" | "read", "delete" | "propose" | "update" | "create" | "read" | import("@langchain/langgraph").OverwriteValue<"delete" | "propose" | "update" | "create" | "read">, unknown>; targetIntentIds: import("@langchain/langgraph").BaseChannel | undefined, unknown>; expectedIntentFingerprint: import("@langchain/langgraph").BaseChannel | undefined, unknown>; networkId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeType: import("@langchain/langgraph").BaseChannel | undefined, unknown>; scopeId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; activeIntents: import("@langchain/langgraph").BaseChannel, unknown>; activeIntentIds: import("@langchain/langgraph").BaseChannel, unknown>; inferredIntents: import("@langchain/langgraph").BaseChannel<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[], { reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[] | import("@langchain/langgraph").OverwriteValue<{ reasoning: string; type: "goal" | "tombstone"; confidence: "low" | "medium" | "high"; description: string; }[]>, unknown>; verifiedIntents: import("@langchain/langgraph").BaseChannel, unknown>; validationFailures: import("@langchain/langgraph").BaseChannel, unknown>; actions: import("@langchain/langgraph").BaseChannel, unknown>; executionResults: import("@langchain/langgraph").BaseChannel, unknown>; error: import("@langchain/langgraph").BaseChannel | undefined, unknown>; trace: import("@langchain/langgraph").BaseChannel<{ node: string; detail?: string; data?: Record; }[], { node: string; detail?: string; data?: Record; }[] | import("@langchain/langgraph").OverwriteValue<{ node: string; detail?: string; data?: Record; }[]>, unknown>; agentTimings: import("@langchain/langgraph").BaseChannel, unknown>; indexScope: import("@langchain/langgraph").BaseChannel | undefined, unknown>; queryUserId: import("@langchain/langgraph").BaseChannel | undefined, unknown>; allUserIntents: import("@langchain/langgraph").BaseChannel, unknown>; readResult: import("@langchain/langgraph").BaseChannel<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined, { count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | import("@langchain/langgraph").OverwriteValue<{ count: number; intents: Array<{ id: string; description: string; summary: string | null; createdAt: Date; userId?: string; userName?: string | null; }>; message?: string; networkId?: string; } | undefined> | undefined, unknown>; }>; executor: { executionResults: ExecutionResult[]; }; }, unknown, unknown, []>; }