/** * @module @nhtio/adk/batteries/orchestration/cells/structured * * The `structured` predicate cell. * * This cell evaluates a declarative, JSON-shaped predicate tree against a * bounded, already-materialised plain-data snapshot of a run's outputs. It is * the default predicate evaluator for most plans because it has no external * dependencies: there is no parser to load and no runtime to initialise, so it * can never fail for a missing peer. * * Two properties hold by construction and are worth keeping in mind when * reading this cell: * * 1. It reads a plain-data snapshot rather than live objects. The predicate * only ever touches values reached through `readPath` on the marshalled * outputs, so it never invokes reachable methods or getters and cannot be * surprised by object identity or prototype chains. * 2. It uses no clock and no randomness. A branch or select node is therefore * safe to re-enter unconditionally when a run resumes: re-evaluating the * same predicate against the same snapshot always yields the same verdict. */ import type { PredicateEvaluator } from "../types"; /** * The `structured` predicate evaluator. * * Zero-dependency by design: `load` is an idempotent no-op, `validate` checks * that the node's predicate parses, and `evaluate` produces a branch or select * verdict from the parsed predicate tree. */ export declare const createStructuredCell: () => PredicateEvaluator;