/** * `HyperframesRenderStack` — aws-cdk-lib L2 construct that emits the same * topology as `examples/aws-lambda/template.yaml`. * * Adopters who embed HyperFrames inside their own CDK app can extend this * construct or compose alongside it; the construct exposes its `.bucket`, * `.renderFunction`, and `.stateMachine` properties so additional * resources (alarms, dashboards, SNS topics) can be wired without * re-deriving the ARNs from a stack export. * * `aws-cdk-lib` and `constructs` are **peerDependencies**. The package * still type-checks (and the snapshot test still runs) because they're * also `devDependencies`, but adopters who only consume the SDK side of * `@hyperframes/aws-lambda` don't pull the CDK tree at runtime. * * Drift from the SAM template is guarded by the snapshot test * (`HyperframesRenderStack.snapshot.test.ts`), which diffs the synthed * CloudFormation against the SAM-rendered CloudFormation modulo * normalisation. */ import { RemovalPolicy } from "aws-cdk-lib"; import * as lambda from "aws-cdk-lib/aws-lambda"; import * as s3 from "aws-cdk-lib/aws-s3"; import * as sfn from "aws-cdk-lib/aws-stepfunctions"; import { Construct } from "constructs"; /** Construction-time props for {@link HyperframesRenderStack}. */ export interface HyperframesRenderStackProps { /** Name prefix applied to function / state-machine / alarm names. Default `"hyperframes"`. */ projectName?: string; /** Lambda memory in MB. Allowed: 2048..10240 in 1024 steps. Default 10240. */ lambdaMemoryMb?: 2048 | 3072 | 4096 | 5120 | 6144 | 7168 | 8192 | 9216 | 10240; /** Per-invocation Lambda timeout. Default 900 (15 min, Lambda hard cap). */ lambdaTimeoutSec?: number; /** Lambda reserved concurrency cap. `undefined` = unreserved (account default). */ reservedConcurrency?: number; /** Which Chrome runtime was bundled into the handler ZIP. Default `"sparticuz"`. */ chromeSource?: "sparticuz" | "chrome-headless-shell"; /** Threshold for the runaway-invocations alarm. Default 1000 invocations/hour. */ chunkInvocationAlarmThreshold?: number; /** * Absolute path to the handler ZIP produced by * `bun run --cwd packages/aws-lambda build:zip`. Defaults to the * package-relative path the build script writes to. Adopters who * deploy the published handler ZIP set this explicitly. */ handlerZipPath?: string; /** S3 bucket retention policy on stack delete. Default RETAIN. */ bucketRemovalPolicy?: RemovalPolicy; } export declare class HyperframesRenderStack extends Construct { /** S3 bucket for plan tarballs, chunk outputs, and final renders. */ readonly bucket: s3.Bucket; /** The single Lambda function dispatching plan / renderChunk / assemble. */ readonly renderFunction: lambda.Function; /** The Step Functions state machine orchestrating the render. */ readonly stateMachine: sfn.StateMachine; constructor(scope: Construct, id: string, props?: HyperframesRenderStackProps); /** * Build the state-machine chain. Kept in a single method so the SAM * template and this construct can be diffed shape-for-shape during * the snapshot test. */ private buildStateMachineDefinition; } //# sourceMappingURL=HyperframesRenderStack.d.ts.map