MDAA TS Docs
    Preparing search index...

    Configuration for the GAIA v2 WebSocket API (AppSync Event API).

    Data source selection (mutually exclusive). Configure at most one of the following three properties. Configuring more than one is rejected at synth time because the 'in' namespace can only route messages to a single data source:

    • bedrockRagDataSource - Bedrock Knowledge Base RAG. Requires bedrock.knowledgeBaseId to be set on the parent GAIAProps; configuring this without a knowledge base is rejected at synth time.
    • invokeModelDataSource - Direct Bedrock InvokeModel / streaming.
    • customDataSource - Customer-provided Lambda data source.

    Configuring zero data sources is allowed; the construct still synthesizes the AppSync Event API and service-interruption sub-resources.

    interface WebSocketApiProps {
        bedrockRagDataSource?: BedrockRagDataSourceProps;
        customDataSource?: CustomDataSourceProps;
        domainAcmCertArn?: string;
        domainName?: string;
        fieldLogLevel?: AppSyncFieldLogLevel;
        invokeModelDataSource?: InvokeModelDataSourceProps;
        lambdaArchitecture?: "ARM_64" | "X86_64";
        lambdaLogLevel?: "INFO" | "ERROR" | "WARNING" | "DEBUG";
        logRetentionInDays?: RetentionDays;
        pythonRuntime?: string;
        wafArn?: string;
    }
    Index

    Properties

    bedrockRagDataSource?: BedrockRagDataSourceProps

    Bedrock RAG data source configuration

    customDataSource?: CustomDataSourceProps

    Custom data source configuration

    domainAcmCertArn?: string

    ACM certificate ARN for custom domain

    domainName?: string

    Custom domain name for WebSocket API

    fieldLogLevel?: AppSyncFieldLogLevel

    AppSync field log level. Controls what AppSync logs about resolver execution.

    • NONE: No field-level logging
    • ERROR: Only errors (default - recommended for production)
    • INFO: Errors + informational messages
    • DEBUG: Detailed debugging information
    • ALL: Full verbose logging

    Note: Higher log levels may capture request/response data. For sensitive workloads, consider using ERROR or NONE to minimize PII exposure in logs.

    AppSyncFieldLogLevel.ERROR
    
    invokeModelDataSource?: InvokeModelDataSourceProps

    Bedrock invoke model data source configuration

    lambdaArchitecture?: "ARM_64" | "X86_64"

    Lambda architecture (ARM64 or x86_64). If undefined, Architecture.X86_64 is used

    lambdaLogLevel?: "INFO" | "ERROR" | "WARNING" | "DEBUG"

    Lambda handler log level. Controls what the Lambda functions log.

    • ERROR: Only errors
    • WARNING: Errors and warnings (default - recommended for production)
    • INFO: General operational information
    • DEBUG: Detailed debugging information (may include request/response data with PII)

    Note: DEBUG level logs request bodies which may contain user messages and chat history. Use DEBUG only for troubleshooting in non-production environments.

    'WARNING'
    
    logRetentionInDays?: RetentionDays

    CloudWatch log retention period

    pythonRuntime?: string

    Python runtime version. If undefined, Runtime.PYTHON_3_13 is used.

    wafArn?: string

    WAF ARN for API protection