All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [agent-app] - update dependencies
- [agent-app] - update dependencies
- [cdk-stacks/lambdas] - update dependencies
- [demo-website] - update dependencies
- [README.md] - deleting instructions for updating IAM role to allow it to assume itself and renumbering steps
- [connectAPI-stack.ts] - IAM patching to follow new role requirements (see blog post https://aws.amazon.com/blogs/security/announcing-an-update-to-iam-role-trust-policy-behavior/)
- [cdk-stacks] - update dependencies
- [cdk-stacks] - update dependencies
- [agent-app] - update dependencies
- [demo-website] - update dependencies
- [cdk-stacks] - move lambdas from NODE 12 to 14
- [README.md] - adding in instructions for updating IAM role to allow it to assume itself
- [cdk-stacks] - update dependencies
- [agent-app] - update dependencies
- [demo-website] - update dependencies
- [agent-app] - update dependencies and minor modifications to support chime-sdk v3
- [demo-website] - update dependencies and minor modifications to support chime-sdk v3
- README - update configuration parameters description
- [cdk-stacks] - Configuration Script (configure.js) - SSM Parameters Put/Get/Delete batching
- [cdk-stacks] - update dependencies
- [agent-app] - update dependencies
- [demo-website] - update dependencies
- [agent-app] - update webpack-dev-server
- [agent-app] - update aws-amplify packages
- [demo-website] - update dependencies
- [cdk-stacks/lambdas] - update dependencies
- [cdk-stacks] - replace LambdaProxyIntegration with HttpLambdaIntegration
- [cdk-stacks] - replace CdkPipeline with CodePipeline
- [cdk-stacks] - fix ContentType in cdk-stacks/lambdas/custom-resources/frontend-config/index.py
- [cdk-stacks] - update dependencies
- [agent-app] - update dependencies
- [demo-website] - update dependencies
- [cdk-stacks] - update dependencies
- [agent-app] - update dependencies
- [cdk-stacks] - update dependencies
The version 2.1.0 brings support for Video Call Recording, as described in Video Call Recording
-
[cdk-stacks/lib/cdk-backend-stack]
RecordingStack
andRecordingAPIStack
nested stacks addedfrontendConfigStack
parameters added:deployRecordingStack
,recordingAttendeeName
connectAPIStack
parameters added:cognitoUserPoolId
,cognitoUserPoolARN
,appTable
-
[cdk-stacks/lib/recording/recording-stack.js] - new stack for Video Call Recording. Resources:
recordingVPC
,recordingECSSecurityGroup
,recordingECSCluster
,recordingECSAutoScalingGroup
,recordingECSCapacityProvider
,recordingTaskDefinition
,recordingTaskLogGroup
,recordingDockerImage
,recordingBucket
,autoscalingEC2InstanceLaunchRule
,startRecordingPreWarmTaskLambda
-
[cdk-stacks/lib/api/recordingAPI-stacks.ts] - new stack for Video Call Recording. Resources:
startRecordingLambda
,stopRecordingLambda
,getRecordingSummaryLambda
,recordingAPI
,startRecording_Route
,stopRecording_Route
,getRecordingSummary_Route
-
[cdk-stacks/config.params.json] -
deployRecordingStack
,recordingPlaybackSecurityProfileId
,recordingAttendeeName
,recordingPresignedURLExpiresMinutes
,CdkChimeEventBridgeStack
-
[cdk-stacks/lib/api/connectAPI-stacks.js] - resources added:
- AWS Lambda functions:
putConnectUserCacheLambda
,setConnectUserIdLambda
, - Amazon API Gateway HTTP API Routes:
setConnectUserId_Route
,putConnectUserCache_Route
- AWS Lambda functions:
-
[cdk-stacks/bin/cdk-stacks.js] - add
CdkChimeEventBridgeStack
andisDeployRecordingStack
method -
[cdk-stacks/lib/pipeline/cdk-pipeline-stacks.js]
- add
ec2:DescribeAvailabilityZones
to PipelinerolePolicyStatements
- add
deployRecordingStack: ssmParams.deployRecordingStack
- add
-
[cdk-stacks/lib/pipeline/cdk-pipeline-stage.ts] - add
cdkChimeEventBridgeStack
-
[cdk-stacks/docker/recording] - folder contains all the assets required for Amazon ECS Recording Task:
- [Dockerfile] - specifies the Docker image for Recording Task, pulled:
FROM public.ecr.aws/lts/ubuntu:18.04_stable
, and describes all the steps (install dependencies and copy operations) during the image build. - [recording-app] - folder contains a web based application, with Amazon Chime SDK for JavaScript, and minimal set of UI elements to display all Amazon Chime SDK meeting participants.
- [recording-task] - folder contains
run.sh
andrecord.js
scripts, which are started when a new Recording Task starts
- [Dockerfile] - specifies the Docker image for Recording Task, pulled:
-
[cdk-stacks/lambdas/handlers/RecordingAPI] - folder contains AWS Lambda handlers for Recording API
- [startRecording.js] - handler for
StartRecordingLambda
- [stopRecording.js] - handler for
StopRecordingLambda
- [getRecordingSummary.js] - handler for
GetRecordingSummaryLambda
- [stopRecordingEventTarget.js] - handler for
stopRecordingEventTargetLambda
- [startRecordingPreWarmTask.js] - handler for
startRecordingPreWarmTaskLambda
- [startRecording.js] - handler for
-
[cdk-stacks/lambdas/handlers/ConnectAPI] - folder contains AWS Lambda handlers for Connect API, new resources added:
- [setConnectUserId.js] - handler for
setConnectUserIdLambda
- [putConnectUserCache.js] - handler for
putConnectUserCacheLambda
- [setConnectUserId.js] - handler for
-
[cdk-stacks/lambdas/repository/RecordingRepo.js] - new functions:
putRecording
,getRecordingsByExternalMeetingId
,setRecordingEndedAt
-
[cdk-stacks/lambdas/repository/AttendeeRepo.js] - new functions:
getAttendeeByExternalUserId
-
[cdk-stacks/lambdas/repository/ConnectUserCacheRepo.js] - new functions:
putConnectUserCache
,getConnectUserCache
-
[cdk-stacks/lambdas/repository/Constants.js] - new Entities:
Recording
andConnectUserCache
-
[cdk-stacks/lambdas/services/AttendeeService.js] - new functions:
deleteAttendee
-
[cdk-stacks/lambdas/services/RecordingService.js] - new functions:
generateRecordingFilename
,startRecording
,startECSRecordingTask
,getRecordingsInProgress
,isFirstRecording
,stopECSRecordingTask
,stopRecording
,stopRecordingEventTarget
,getRecordingSummary
,setVideoRecordingPlaybackURLContactAttribute
,generateRecordingSummaryWithPreSignedURL
,isInHierarchy
,getContainerInstanceId
,startRecordingPreWarmTask
-
[cdk-stacks/lambdas/services/CognitoService.js] - new functions:
updateUserAttributes
-
[cdk-stacks/lambdas/services/ConnectService.js] - new functions:
describeUser
,describeUserHierarchyGroup
,setConnectUserId
,getConnectUserCache
,putConnectUserCache
,getUserHierarchyGroup
,updateContactAttributes
-
[cdk-stacks/lambdas/services/S3Service.js] - new functions:
generatePreSignedURL
-
[cdk-stacks/lambdas/lib/AuthUtility.js] - returns additional attribute:
connectUserId: claim['custom:connectUserId']
-
[cdk-stacks/lambdas/lib/CommonUtility.js] - new functions:
makeComparator
,convertHierarchyLevelId
,wait
-
[agent-app/src/index.js]
recordingAPI
endpoint configuration added toamplifyAPIConfig
amplifyAuthConfig
-profile
added toscope
, andresponseType
changed tocode
- to support Amazon Cognito User Pool custom attributes in Id token (JWT)InitProvider
added to support User Onboarding, as described in User Onboarding in agent-app
-
[agent-app/src/apis/recordingAPI.js] - new functions:
startRecording
,stopRecording
,getRecordingSummary
-
[agent-app/src/apis/ConnectAPI.js] - new functions:
setConnectUserId
,putConnectUserCache
-
[agent-app/src/constants] - new constants:
RecordingStatus
:NOT_STARTED
,STARTED
,STOPPED
,STARTING
,STOPPING
,STARTING_FAILED
,STOPPING_FAILED
,STOPPING_UNKNOWN
,REQUEST_REJECTED
ConnectContactAttributes
:videoExternalMeetingId
,videoAttendeeExternalUserId
,videoAttendeeName
,videoAttendeeEmail
,videoRecordingAutoStartEnabled
,videoRecordingStartStopEnabled
,videoRecordingPlaybackURL
-
[agent-app/src/hooks/useNotificationHelper] - new functions:
notificationInformation
,notificationError
,notificationReject
,displayNotification
-
[agent-app/src/utils/NotificationUtility.js] - new functions:
infoMessage
,errorMessage
,rejectMessage
-
[agent-app/src/providers/AppConfigProvider.js] - new config parameters:
deployRecordingStack
,recordingAttendeeName
-
[agent-app/src/constants/routes.js] - new route added:
RECORDING: '/recording'
to displayRecordingView
-
[agent-app/src/views/Onboarding/index.js] - new view to support User Onboarding - hosting
<CCP isOnboarding={true} />
-
[agent-app/src/providers/InitProvider.js] - new provider to support user Onboarding, with new functions:
initConnectUser
,refreshCurrentSession
,setConnectUserId
-
[agent-app/src/container/CCP/index.js]
isOnboarding
prop addedinitConnectUser
function fromInitProvider
addedonConnectInitialized
function added
-
[agent-app/src/App.js]
Onboarding
view added,RecordingView
added, hostingRecordingPlayback
container andRecordingPlaybackProvider
InitProvider
added (tosetConnectUserId
)postLoginRedirectURL
added, to support redirect to/recording
after federated login- new functions:
setPostLoginRedirectURL
,getPostLoginRedirectURL
-
[agent-app/src/providers/AmazonConnectProvider.js] - new function:
recordingManagerFeatures
providingvideoRecordingAutoStartEnabled
,videoRecordingStartStopEnabled
feature parameters -
[agent-app/src/providers/RecordingProvider/index.js] - new provider that enables Video Call Recording:
- Provides
RecordingManager
which helps Video Call Recording integration - Monitors meeting roster, when Video Call Recording is deployed and enabled (
recordingManager.shouldMonitorMeetingRoster()
) - Triggers
RecordingManager
status update whenRECORDING
attendee joins, or leaves the meeting (recordingManager.setRecordingAttendeePresent()
) - Subscribes to Recording Status:
recordingManager.subscribeToRecordingStatus
- Triggers notifications:
onRecordingManagerStatusUpdate
->displayNotification
- Provides
-
[agent-app/src/providers/RecordingProvider/RecordingManager.js] - Tied to RecordingProvider, responsible for starting and stopping Video Call Recording, and providing Call Recording Status updates to observers.
- Properties:
externalMeetingId
,connectContactId
,recordingStatus
,attendeePresent
,deployRecordingStackConfig
,recordingAttendeeNameConfig
,videoRecordingStartStopEnabled
,videoRecordingAutoStartEnabled
,recordingStatusObservers
- Methods:
toggleRecordingEnabled
,shouldMonitorMeetingRoster
,shouldAutoStartRecording
,initRecordingStatus
,setRecordingFeatures
,canStartRecording
,canStopRecording
,startRecording
,stopRecording
,toggleRecording
,setRecordingAttendeePresent
,recordingAttendeeJoined
,onMeetingRecordingStarted
,recordingAttendeeLeft
,onMeetingRecordingStopped
,meetingEnded
,getMessageByRecordingStatus
,publishAndReturn
,subscribeToRecordingStatus
,unsubscribeFromRecordingStatus
,publishRecordingStatus
- Properties:
-
[agent-app/src/views/VideoAgent] -
RecordingProvider
added toVideoAgent
view -
[agent-app/src/containers/MeetingForm/index.js] -
recordingManager
added to support Video Call Recording (initRecordingStatus
,setRecordingFeatures
,shouldAutoStartRecording
,startRecording
) -
[agent-app/src/components/ToggleRecordingButton/index.js] - Toggle Recording button, allowing agents to Start and Stop recording
-
[agent-app/src/containers/MeetingControls/index.js] - new button added to Meeting Controls:
ToggleRecordingButton
-
[agent-app/src/containers/RecordingPlayback] - UI container to host
RecordingPlaylist
andRecordingPlayer
components -
[agent-app/src/components/RecordingPlaylist] - UI Video Playlist component, to display a list of all available call recordings based on
chimeExternalMeetingId
-
[agent-app/src/components/RecordingPlayer] - UI Video Player component, to playback video call recordings
-
[agent-app/src/providers/RecordingPlaybackProvider] - Recording Playback Provider for
RecordingPlaylist
andRecordingPlayer
components
- [cdk-stacks/lib/cdk-frontend-stack.js] - added
errorConfigurations
to support/recording
route in React Router - [cdl-stacks/lib/infrastructure/cognito-stack.js]
customAttributes: connectUserId
added to Amazon Cognito User Poolscopes
-cognito.OAuthScope.PROFILE
added to enable Amazon Cognito User Pool custom attributes presence in Id token (JWT)
- [agent-app/src/hooks/useEndMeetingControl.js] -
recordingManager
added to Stop Call Recording, at the end of the session (leaveMeeting -> recordingManager.meetingEnded()
,endMeetingForAll -> recordingManager.meetingEnded()
) - [agent-app/webpack.config.dev.js] -
historyApiFallback: true
to support/recording
route in React Router - [diagrams] - updated Solution Architecture, Authentication and AuthenticationSSO, to include Onboarding process
- [ConnectContactFlow] -
Set contact attributes
block added, with bothvideoRecordingStartStopEnabled
andvideoRecordingAutoStartEnabled
custom Contact Attributes
The version 2.0.0 brings a support for CDK Pipelines, as described in Deploying with AWS CDK Pipelines, and introduces significant updates in CDK Stacks, Lambdas and DynamoDB, therefore not backward compatible with 1.x.x version. In case you already had v1.x.x deployed, it is necessary to deploy v2.0.0 as a new stack.
- [cdk-stacks] - folder containing all backend and frontend resources:
- [cdk-stacks/bin/cdk-stacks.ts] - CDK application, supports:
- [
Stack mode
] - deploysCdkBackendStack
andCdkFrontendStack
- [
Pipeline mode
] - deploysCdkPipelineStack
, withCdkPipelineStage
, whereCdkPipelineStage
deploysCdkBackendStack
andCdkFrontendStack
- [
- [cdk-stacks/lib/cdk-backend-stack] - AWS CDK stack, defines backend resources:
- [infrastructure/CognitoStack] -
UserPool
,UserPoolClient
,UserPoolDomain
,IdentityPool
,CognitoDefaultUnauthenticatedRole
,CognitoDefaultAuthenticatedRole
- [infrastructure/DynamoDBStack] - single DynamoDB table -
VideoCallEscalationDB
, for all the entities - [infrastructure/ssm-param-util] - utility functions for AWS SSM configuration parameters
- [api/chatAPI] -
StartChatLambda
,Chat API Gateway
- [api/chimeAPI] -
CreateMeetingLambda
,EndMeetingForAllLambda
,GetAttendeeJoinDataLambda
,GetAttendeeNameLambda
,CreateAttendeeLambda
,Chime API Gateway
- [api/connectAPI] -
CCPLoginLambda
,Connect API Gateway
- [api/meetingAPI] -
Meeting API Gateway
- [api/routingAPI] -
CreateAdHocRouteLambda
,Routing API Gateway
- [WebAppBucket] - Amazon S3 bucket to host web applications
- [FrontendConfigStack] -
FrontendConfigLambda
,FrontendConfigCustomResource
- gets Stack outputs, generatesfrontend-config.js
file, and uploads it toWebAppBucket
- [infrastructure/CognitoStack] -
- [cdk-stacks/lib/cdk-frontend-stack] - AWS CDK stack, defines frontend resources:
- [FrontendS3DeploymentStack] - deploys
agent-app
anddemo-website
toWebAppBucket
- [WebAppCloudFrontDistribution] - deploys CloudFront Web Distribution for
WebAppBucket
- [FrontendS3DeploymentStack] - deploys
- [cdk-stacks/lib/pipeline] - AWS CDK stack for CDK Pipelines:
- [CdkPipelineStack] -
AWS CodeCommit Repository
,AWS CodeCommit Repository User
,AWS CDK Pipeline
- [CDKPipelineStage] - deploys
CDKBackendStack
andCDKFrontEndStack
- [CdkPipelineStack] -
- [cdk-stacks/bin/cdk-stacks.ts] - CDK application, supports:
- [cdk-stacks/lambdas/handlers] - folder containing all AWS Lambda function handlers:
- [ChatAPI] - AWS Lambda handler for
StartChatLambda
- [ChimeAPI] - AWS Lambda handlers for:
CreateAttendeeLambda
,CreateMeetingLambda
,EndMeetingForAllLambda
,GetAttendeeJoinDataLambda
,GetAttendeeNameLambda
- [ConnectAPI] - AWS Lambda handler for
CCPLoginLambda
- [RoutingAPI] - AWS Lambda handler for
CreateAdHocRouteLambda
- [ChatAPI] - AWS Lambda handler for
- [cdk-stacks/lambdas/services] - folder containing all services, consumed by AWS Lambda handlers:
- [AttendeeService] -
getAttendeeName
,createAttendee
,getAttendeeJoinData
- [ChatService] -
startChat
- [ConnectService] -
ccpLogin
- [MeetingService] -
createMeeting
,endMeetingForAll
- [RoutingService] -
createAdHocRoute
,getRouteToAgent
- [AttendeeService] -
- [cdk-stacks/lambdas/repository] - folder containing DynamoDB operations:
- [AttendeeRepo] -
getAttendeeName
,getAttendeeJoinData
,putAttendee
- [MeetingRepo] -
getMeetingByExternalMeetingId
,putMeeting
,setMeetingEndedAt
- [RoutingRepo] -
putRoute
,getRouteById
,setRouteUsedAt
- [Constants] - definition of Entities and their attributes:
Meeting
,Attendee
,Route
- [AttendeeRepo] -
- [cdk-stacks/lambda/lib] - folder containing Utility functions, previously in
utility-layer
:- [AuthUtility] -
getCurrentUser
verifies claims from JWT and returnsusername
andemail
- [CommonUtility] -
uuid
,validateEmailAddress
- [HashUtility] -
createNumericHash
- [LambdaUtility] -
buildLambdaResponse
,parseEventBody
- [AuthUtility] -
- [cdk-stacks/lambdas/custom-resources/frontend-config] - AWS Lambda function that creates
frontend-config
as a Custom Resource in CDK stack, and uploads it toWebAppBucket
- [cdk-stacks/config.params] - new parameters added to support CDK Pipeline deploy mode:
cdkPipelineEnabled
,cdkPipelineRepositoryName
,cdkPipelineRepositoryBranchName
,cdkPipelineCreateNewRepository
,cdkPipelineStageName
- [cdk-stacks/config.params] - new parameters added to unify CDK resource names:
CdkAppName
,CdkBackendStack
,CdkFrontendStack
,CdkPipelineStack
,WebAppRootPrefix
,WebAppStagingPrefix
- [config.params] -
connectAPILambdaRoleToAssume
renamed toccpLoginLambdaRoleToAssume
- [cdk version] - CDK upgraded to v1.98.0
- [cdk.json] -
"@aws-cdk/core:newStyleStackSynthesis": true
to use new-style bootstrapping - [Cognito User Pool] - set removalPolicy to
destroy
- [agent-app] - changes to support
frontend-config.js
(previouslyaws-exports.json
). A change of config (SSM param) does not requirebuild
anymore - [agent-app] - set local webpack port to
3000
- [agent-app] - unified variable/reference names:
externalMeetingId
,meetingRegion
,attendeeName
,attendeeEmail
,attendeeExternalUserId
- [demo-website] - changes to support
frontend-config.js
(previouslyaws-exports.json
). A change of config (SSM param) does not requirebuild
anymore - [demo-website] - set local webpack port to
3001
- [demo-website] - unified variable/reference names:
externalMeetingId
,meetingRegion
,attendeeName
,attendeeEmail
,attendeeExternalUserId
- [cdk-stacks/package.json] - new scripts introduced to support:
- [install] -
install:agent-app
,install:demo-website
,install:cdk-stacks
,install:lambdas
,install:all
- [echo CDK outputs] -
echo:web-app-root-prefix
,echo:cdk-frontend-stack-name-param
,echo:cdk-frontend-stack-physical-name
,echo:web-app-bucket
- [sync config] - Downloads
frontend-config.js
fromWebAppBucket
to support local frontend testing:sync-config
,sync-config:agent-app
,sync-config:demo-website
- [build] -
build:agent-app
,build:demo-website
,build:frontend
- [cdk deploy] -
cdk:remove:context
,cdk:deploy
- [single command build and deploy] -
build:frontend:cdk:deploy
- [install] -
- [diagrams] - Solution Diagram and Sequence Diagrams updated to reflect all the changes in release v2.0.0
- [cdk-backend] - folder removed, all resources migrated to
cdk-stacks
folder - [cdk-frontend] - folder removed, all resources migrated to
cdk-stacks
folder - [chatapi-lambda] - folder removed, APIs migrated to
cdk-stacks/lambdas/handlers/ChatAPI
folder - [chimeapi-lambda] - folder removed, APIs migrated to
cdk-stacks/lambdas/handlers/ChimeAPI
folder - [connectapi-lambda] - folder removed, APIs migrated to
cdk-stacks/lambdas/handlers/ConnectAPI
folder - [routingapi-lambda] - folder removed, APIs migrated to
cdk-stacks/lambdas/handlers/RoutingAPI
folder - [utility-layer] - folder removed, Utility functions migrated to
cdk-stacks/lambdas/lib
folder - [install.sh] - script deprecated, use
npm run install:all
incdk-stacks
folder - [deploy.sh] - scripts deprecated, use
npm run cdk:deploy
incdk-stacks
folder - [MeetingsTable] - DynamoDB table deprecated, all entities stored in a single-table
VideoCallEscalationDB
- [AttendeesTable] - DynamoDB table deprecated, all entities stored in a single-table
VideoCallEscalationDB
- [RoutesTable] - DynamoDB table deprecated, all entities stored in a single-table
VideoCallEscalationDB
- [demo-website] - Upgrade
amazon-connect-chat-interface.js
, to supportca-central-1
region
- [demo-website] - Upgrade webpack to v5
- [agent-app] - Upgrade webpack to v5
- [chimeapi-lambda] - replaced
Chime.createMeeting
withChime.createMeetingWithAttendees
- [agent-app] - eslint and eslint-plugin-react packages added
- [agent-app] - videoCallEscalationRoutingAPI added to Amplify config
- [agent-app] - AppStateProvider - add connectUsername
- [agent-app] - AppConfigProvider - websiteAdHocRouteBaseURL added
- [agent-app] - support for ad-hoc routes added
- [demo-website] - eslint, eslint-parser, plugin-proposal-class-properties packages added
- [demo-website] - ad-hoc route support implemented
- [cdk-backend] - routingapi-lambda added
- [cdk-backend] - config.params.json - websiteAdHocRouteBaseURL parameter added
- [agent-app] - amazon-chime-sdk-component-library-react package version upgrade (1.6.1)
- [agent-app] - AmazonConnectProvider fix - check of contact attributes exist
- [agent-app] - support for new Amazon Connect domain ()
- [demo-website] - css update - header-title-authenticate
- [cdk-backend] - deploy.sh exit when build fails
- [cdk-frontend] - deploy.sh exit when build fails
- [ContactFlows] - support for ad-hoc routes added
- [utility-layer] - eslint and esbuild packages added
- [utility-layer] - npm build script added (using esbuild)
- [connectapi-lambda] - esbuild package added
- [connectapi-lambda] - npm build script added (using esbuild)
- [chimeapi-lambda] - esbuild package added
- [chimeapi-lambda] - npm build script added (using esbuild)
- [chatapi-lambda] - esbuild package added
- [chatapi-lambda] - npm build script added (using esbuild)
- [cdk-backend] - deploy.sh script -
npm run build
added for Lambdas and Layer, beforecdk deploy
command - [cdk-backend] - .gitignore -
build
folder added
- [cdk-frontend] - bumped version to 1.0.0
- [cdk-backend] - bumped version to 1.0.0
- [cdk-backend] - Lambdas and Layer
code
source changed to/build
folder - [utility-layer] - folders restructured, following the standard Lambda structure
- [connectapi-lambda] - Layer import path updated
- [chimeapi-lambda] - Layer import path updated
- [README.md] -
cdk boostrap
command to be run in the root directory
- [install.sh] - removed
elif
branch, used to install lambda-layer packages. Layers and Lambdas have the same folder structure now
- [agent-app] webpack and babel packages
- [agent-app] aws-amplify/api-rest package
- [agent-app] webpack config files
- [demo-website] babel/runtime and babel/plugin-transform-runtime packages
- [agent-app] aws-amplify/auth, aws-amplify/ui-react packages
- [agent-app] start and build npm scripts
- [agent-app] chimeAPI.js and connectAPI.js now use aws-amplify/api-rest
- [demo-website] popper.js, webpack, *-loader packages
- [agent-app] react-scripts, aws-amplify/core, aws-amplify/api, jest packages
- [agent-app] robots.txt and favicon.ico
- [demo-website] babel-polyfill, remove-files-webpack-plugin, html-webpack-inline-source-plugin packages
- [demo-website] start:dev npm script
- Initial import