Skip to content

@venturekit/core API

TypeDescription
BaseConfigProject identity — name, displayName, region
SecurityConfigOAuth scopes, app clients, MFA, password policy
OAuthScopeScope definition — name, description
AppClientApp client — name, allowedScopes, supportsRefreshTokens, generateSecret, token validity
EnvConfigInputUser-provided environment config (partial, with optional preset)
EnvConfigFully resolved environment config (all fields required)
ResolvedConfigFully merged config — base + security + env with auto-generated tags
Environment'dev' | 'stage' | 'prod'
Preset'nano' | 'micro' | 'medium' | 'large'
DataSafety'relaxed' | 'standard' | 'strict'
TypeDescription
LambdaEnvConfig / LambdaEnvConfigInputLambda memory, timeout, VPC, logging, tracing, IAM
ApiEnvConfig / ApiEnvConfigInputAPI Gateway throttling, CORS, custom domain
VpcEnvConfig / VpcEnvConfigInputVPC AZs, NAT gateways, subnets, security groups
ObservabilityEnvConfig / ObservabilityEnvConfigInputAlarms, tracing, metrics, log groups
WebSocketEnvConfig / WebSocketEnvConfigInputWebSocket enable, idle timeout, throttling
CorsConfigCORS origins, methods, headers, credentials
CustomDomainConfigCustom domain name and certificate ARN
TypeDescription
VentureIntentTop-level intent — databases, storage, auth, queues, caches, schedules
DatabaseIntentDatabase — id, type, size, name, HA, backups, encryption
StorageIntentStorage — id, purpose, CDN, versioning, CORS
AuthIntentAuth — id, sign-in methods, MFA, password strength
QueueIntentQueue — id, type (standard/FIFO), DLQ, retention
CacheIntentCache — id, type (redis/memcached), size, clustered
ScheduleIntentSchedule — id, handler, rate/cron expression
IntentOutputsOutputs from provisioned resources
ResourceSize'small' | 'medium' | 'large' | 'xlarge'

resolveConfig(base, security, env, envInput)

Section titled “resolveConfig(base, security, env, envInput)”

Merges base + security + environment config into a fully resolved ResolvedConfig.

function resolveConfig(
base: BaseConfig,
security: SecurityConfig,
env: Environment,
envInput: EnvConfigInput
): ResolvedConfig

Resolves just the environment config, applying preset defaults and overrides.

function resolveEnvConfig(env: Environment, envInput: EnvConfigInput): EnvConfig

Returns the full PresetConfig for a named preset.

function getPreset(name: Preset): PresetConfig

Validates a BaseConfig and returns a ValidationResult.

function validateBaseConfig(config: BaseConfig): ValidationResult

Validates a SecurityConfig and returns a ValidationResult.

function validateSecurityConfig(config: SecurityConfig): ValidationResult

Validates an EnvConfigInput and returns a ValidationResult.

function validateEnvConfigInput(env: Environment, config: EnvConfigInput): ValidationResult

Throws a ValidationError if the result is invalid.

function assertValid(result: ValidationResult): void
ConstantDescription
PRESET_NANONano preset configuration
PRESET_MICROMicro preset configuration
PRESET_MEDIUMMedium preset configuration
PRESET_LARGELarge preset configuration
DEFAULT_DATA_SAFETYDefault data safety per environment
DATA_SAFETY_CONFIGData safety configuration mapping

Error class thrown by assertValid() when validation fails.

class ValidationError {
constructor(field: string, message: string, value?: unknown)
field: string
message: string
value?: unknown
}