For feral-lambda to be useful for the "zoo" of Lambda types available on AWS, we need to provide models for the various events (aka "triggers") and responses used by each of these lambdas. These will live in the feral-lambda-events module.
We are currently sourcing them from the Java and JavaScript/TypeScript implementations.
The TypeScript definitions are especially important, because they are the definitive representation of these events as "plain old JavaScript objects" which is isomorphic to their JSON representation. Therefore, our models should match them exactly in name, structure, etc. in order for parsing to work correctly.
For an example of this, see the existing events: https://github.com/typelevel/feral/blob/main/lambda/shared/src/main/scala/feral/lambda/events/
ActiveMQEventAPIGatewayCustomAuthorizerEventAPIGatewayProxyRequestEvent https://github.com/typelevel/feral/pull/409APIGatewayProxyResponseEvent https://github.com/typelevel/feral/pull/409APIGatewayV2CustomAuthorizerEventAPIGatewayV2HTTPEventAPIGatewayV2HTTPResponseAPIGatewayV2WebSocketEvent https://github.com/typelevel/feral/pull/476APIGatewayV2WebSocketResponseApplicationLoadBalancerRequestEventApplicationLoadBalancerResponseEventAppSyncLambdaAuthorizerEventAppSyncLambdaAuthorizerResponseCloudFormationCustomResourceEventCloudFrontEventCloudWatchLogsEventCodeCommitEventCognitoEventCognitoUserPoolCreateAuthChallengeEventCognitoUserPoolCustomMessageEventCognitoUserPoolDefineAuthChallengeEventCognitoUserPoolEventCognitoUserPoolMigrateUserEventCognitoUserPoolPostAuthenticationEventCognitoUserPoolPostConfirmationEventCognitoUserPoolPreAuthenticationEventCognitoUserPoolPreSignUpEventCognitoUserPoolPreTokenGenerationEventCognitoUserPoolVerifyAuthChallengeResponseEventConfigEventConnectEventDynamodbEvent https://github.com/typelevel/feral/pull/68IoTButtonEventKafkaEvent https://github.com/typelevel/feral/pull/552KinesisAnalyticsFirehoseInputPreprocessingEventKinesisAnalyticsInputPreprocessingResponseKinesisAnalyticsOutputDeliveryEventKinesisAnalyticsOutputDeliveryResponseKinesisAnalyticsStreamsInputPreprocessingEventKinesisEvent https://github.com/typelevel/feral/pull/75KinesisFirehoseEventLambdaDestinationEventLexEventRabbitMQEventS3BatchEvent https://github.com/typelevel/feral/pull/231S3BatchResponse https://github.com/typelevel/feral/pull/231S3Event https://github.com/typelevel/feral/pull/354ScheduledEvent https://github.com/typelevel/feral/pull/521SecretsManagerRotationEventSimpleIAMPolicyResponseSNSEvent https://github.com/typelevel/feral/pull/195SQSEvent https://github.com/typelevel/feral/pull/58