import { type KnowledgeAssetWritableQuad } from '../knowledge-asset-write-contract.js'; /** * GH #306 / #787 — shape guard for the lifecycle write routes. The `graph` * term is OPTIONAL here: those routes legitimately accept `{subject,predicate,object}` * and fill the graph internally. Without this guard, a string-shaped quad * (e.g. an N-Quad line `"

."`) slips past a bare `Array.isArray` * check and crashes the agent write path with a TypeError → HTTP 500 instead * of an actionable 4xx. */ export declare function isWritableQuad(value: unknown): value is KnowledgeAssetWritableQuad; /** * GH #306 / #787 — the boundary check for quads a lifecycle write route stores * (create and wm/write): shape, then every term, parsed exactly as sent by * rdf-utils' `parseWritableRdfTerm`, against {@link WRITABLE_QUAD_TERMS}, and an * optional bare graph IRI, then literal size. A string-shaped quad, a bare * word, an unterminated literal or a malformed IRI such as `urn:a b`, * `…/na^me` or `…/%zz` would otherwise reach the store. The store either fails * the write (HTTP 500), or, for characters it strips, stores the triple under * a different IRI. A literal carrying a raw line break could even add * statements of its own. Returns the 400 body for the first failure, or null. */ export declare function validateWritableQuads(label: string, quads: unknown[]): Record | null; //# sourceMappingURL=knowledge-asset-quad-validation.d.ts.map