import type { Session } from "neo4j-driver"; import type { GraphRelationship } from "./index.js"; export interface InjectConversationProvenanceParams { session: Session; /** The relationships array the caller is about to pass to `writeNodeWithEdges`. */ relationships: readonly GraphRelationship[]; /** The accountId of the write — must match the source node's accountId. */ accountId: string; /** Labels of the node about to be written. Used to skip injection when provenance is not required. */ writeLabels: readonly string[]; /** * Value of `process.env.SESSION_NODE_ID` at call time. Passed as a * parameter so tests can supply it without mutating process.env. The * value is the `sessionId` UUID property of the active * `:AdminConversation`, not its Neo4j elementId — the env-var name is * historical. The lookup MATCHes `(c:Conversation {sessionId, accountId})` * and reads `elementId(c)` itself to compose the synthetic edge. */ conversationNodeId: string | undefined; /** * Log namespace prefix — typically `"mcp:contacts"` or `"mcp:memory"`. Used * to format the `[provenance-inject]` / `[provenance-missing]` lines so the * operator can attribute the signal to a plugin. */ logNamespace: string; /** Tool name (e.g. "contact-create") for the inject/missing log lines. */ tool: string; } export declare function injectConversationProvenance(params: InjectConversationProvenanceParams): Promise; //# sourceMappingURL=conversation-provenance.d.ts.map