/** * The installation that closes one document execution over a component bundle. * * A workflow whose root declares components runs against exactly those * components, read from the run's own pinned commit before anything executed. * That single fact has to hold in two directions, and this installation * supplies both halves as values a trusted host hands to `executeInstalled()`: * * - **Live import.** `bundle` is the execution view — the authored names, * their canonical paths inside the pinned tree, their blob object ids, and * the exact sources. Canonical core captures it before any installation, * middleware, or document code exists, resolves declared names against it, * and invokes only the definitions it produced from it. * - **Retained history.** `admissions` holds every recorded component import * to the same catalog, inside canonical core's own journal read: before * public replay policy, before any retained effect reaches execution, before * a retained terminal result is reused, and before anything is appended. A * history that recorded a name this bundle does not declare, a path or hash * the definition does not name, or source the commit does not hold, appends * nothing and invokes nothing. * * What the admission deliberately leaves alone is the ordinary registered * default: a `` or a `` recorded by origin is replayed by core's * own exact-origin check, which this neither repeats nor relaxes. And the root * import stays the root import — a repository selection under `__root__`, * already held to the run's exact root source by core. */ import type { ExecutionInstallation, WorkflowBundleComponent } from "@executablemd/core/host"; /** * A retained component import this run's bundle does not authorize. * * Fixed diagnostics throughout. What a history recorded is journal data, and a * refusal that quoted a planted name, path, or source would publish exactly the * value it exists to reject. */ export declare class WorkflowBundleHistoryError extends Error { name: string; } /** * Close one document execution over the components a workflow definition names. * * Constructing it resolves nothing: the sources were read from the pinned * commit before this was called, and this value only carries them. Executing a * document under it is what makes the names resolvable and the history * admissible. * * ```ts * yield* executeInstalled(options, [ * retainedWorkflowInstallation(run), * workflowBundleInstallation(components), * ]); * ``` */ export declare function workflowBundleInstallation(components: readonly WorkflowBundleComponent[]): ExecutionInstallation;