import type { Carte } from "./carte.js"; import { type CarteExecutionLogger } from "./errors.js"; import type { ValidatedPlan } from "./validate.js"; /** * Optional execution-time configuration. The `logger` is the *only* place the * underlying `cause` (driver error, ZodError) is delivered — wire it to * Sentry, Datadog, or structured logs for server-side diagnostics. The thrown * `CarteExecutionError`'s `toModelSafeJSON()` projection deliberately excludes * `cause` to preserve Invariant 2. */ export interface ExecutePlanOptions { logger?: CarteExecutionLogger; } /** * Executes every panel's query in `plan` against `carte`, in parallel. * The plan is assumed to have already passed `validatePlan`, so panel shape, * query existence, and access have been verified — but params are still * re-parsed here to apply Zod transforms and produce the typed value the query * slot expects. Returns rows indexed by panel index. * * Each panel's result is validated against the entry's `returns` schema; * mismatches surface as `CarteExecutionError` with category `"returns_mismatch"`. * The original `ZodError` is delivered to `options.logger` (server-side only) * and attached to `Error.prototype.cause` for stack traces — but * `toModelSafeJSON()` excludes both. * * v1 has no cross-panel data dependencies — every panel runs concurrently. */ export declare function executePlan(plan: ValidatedPlan, carte: Carte, options?: ExecutePlanOptions): Promise; //# sourceMappingURL=execute-plan.d.ts.map