import { type ValidatorEnv } from "../lib/schema-validator.js"; import { type GraphRelationship, type CreatedBy } from "../../../../../lib/graph-write/dist/index.js"; interface WriteParams { labels: string[]; properties: Record; accountId?: string; /** Visibility scope for the node (e.g. "public", "shared", "admin", "user:phone:+44..."). Required — caller must specify. */ scope: string; /** * At least one relationship required — enforced by writeNodeWithEdges. * The doctrine: a node without at least one adjacency is noise, not * knowledge. See .docs/neo4j.md (Write doctrine). */ relationships: GraphRelationship[]; /** Provenance stamp — sourced from the MCP server env vars (agent/session). */ createdBy: CreatedBy; /** * Validator environment — markdown sidecar (`schema`) plus the live * recognised-label source. Required; built once at server startup by * index.ts and passed through on every call. The live source's * recognised-label set is read fresh on each validation, so writes after * a SchemaCache refresh see the new labels without re-wiring. */ validator: ValidatorEnv; /** * process-provenance link — the elementId of the `:Task` that * is producing this entity. When set, an inbound `:PRODUCED` edge from * the Task is composed into `relationships` before the write, satisfying * the action-provenance gate in `writeNodeWithEdges`. The Task must * exist and share the same accountId; mismatch throws before any write. */ producedByTaskId?: string; } interface WriteResult { nodeId: string; labels: string[]; created: boolean; } export declare function memoryWrite(params: WriteParams): Promise; export declare function buildTextRepresentation(labels: string[], properties: Record): string; export {}; //# sourceMappingURL=memory-write.d.ts.map