/** * Typed step-builder API (#658) — ergonomic sugar over the kind-literal * `Step`/`BuildSpec` contract. `phase("Verify", [healthGate({ path })])` * is exactly `phase("Verify", [{ kind: "health-gate", path }])`, but * with per-verb argument checking and autocomplete from each capability's own * `Input` type. Core exports the agnostic verbs' builders; a lexicon exports * its own (e.g. the aws lexicon's `cfnDeploy`, reusing the exported `step`). * * These are pure projections: a builder returns the same kind-literal the * driver dispatches on (see ./component.ts's `Step`), so the JSON contract * (component.schema.json) stays authoritative and a hand-written or * non-chant-authored component keeps working. The runtime `Capability` * objects live under `*Capability` names (./verbs/*), registered by `.kind`. */ import type { BuildSpec, Step } from "./component.js"; import type { DockerBuildInput, ZipPackageInput, JvmBuildInput, GenerateSbomInput, SignInput, AttestProvenanceInput, VerifyInput, ScanVulnerabilitiesInput, VulnGateInput, WaitClusterHealthyInput, WaitEndpointInput, HealthGateInput, ShellInput } from "./verbs/index.js"; /** * Build a `(input) => Step` for one deploy verb: tags the input with its * `kind`. Exported so a lexicon's capability plugin (e.g. the aws lexicon, * which owns the `cfn-deploy`/`emr-*`/… builders) can offer the same typed * sugar for its own verbs without re-implementing this projection. */ export declare function step(kind: string): (input: In) => Step; export declare const dockerBuild: (input: DockerBuildInput) => BuildSpec; export declare const zipPackage: (input: ZipPackageInput) => BuildSpec; export declare const jvmBuild: (input: JvmBuildInput) => BuildSpec; export declare const generateSbom: (input: GenerateSbomInput) => Step; export declare const sign: (input: SignInput) => Step; export declare const attestProvenance: (input: AttestProvenanceInput) => Step; export declare const verify: (input: VerifyInput) => Step; export declare const scanVulnerabilities: (input: ScanVulnerabilitiesInput) => Step; export declare const vulnGate: (input: VulnGateInput) => Step; export declare const waitClusterHealthy: (input: WaitClusterHealthyInput) => Step; export declare const waitEndpoint: (input: WaitEndpointInput) => Step; export declare const healthGate: (input: HealthGateInput) => Step; export declare const shell: (input: ShellInput) => Step; //# sourceMappingURL=builders.d.ts.map