SAM is for simple serverless stacks; this project has ECS, VPC, and multi-service composition which requires CDK. Migration brings ContainerImage.fromAsset() for automatic Docker builds on deploy, matching the seahaven-slack-bot pattern. Also fixes: Bedrock model ID (add version suffix), Gmail history API parameter (labelId not labelIds), classify JSON extraction (handle markdown fences), and digest block limit (cap sections at 5 items to stay under Slack's 50-block limit).
21 lines
672 B
TypeScript
21 lines
672 B
TypeScript
import * as cdk from 'aws-cdk-lib';
|
|
import { Construct } from 'constructs';
|
|
import { EmailPipelineConstruct } from './constructs/email-pipeline';
|
|
import { SocketModeConstruct } from './constructs/socket-mode';
|
|
|
|
export class ExecAideStack extends cdk.Stack {
|
|
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
|
|
super(scope, id, props);
|
|
|
|
const emailPipeline = new EmailPipelineConstruct(this, 'EmailPipeline');
|
|
|
|
new SocketModeConstruct(this, 'SocketMode', {
|
|
table: emailPipeline.table,
|
|
});
|
|
|
|
new cdk.CfnOutput(this, 'TableName', {
|
|
value: emailPipeline.table.tableName,
|
|
description: 'DynamoDB table name',
|
|
});
|
|
}
|
|
}
|