def setup_skill_builder(service: OpenDataService) -> CustomSkillBuilder: """Helper method to create the custom skill builder instance.""" logger.info({ "operation": "Setting up Custom Skill Builder with Dynamo DB persistence adapter", "dynamo_db_table_name": DYNAMO_DB_TABLE_NAME, }) dynamo_db_adapter = DynamoDbAdapter( table_name=DYNAMO_DB_TABLE_NAME, partition_key_name="id", attribute_name="attributes", create_table=True, dynamodb_resource=resource("dynamodb"), ) skill_builder = CustomSkillBuilder(persistence_adapter=dynamo_db_adapter) logger.info("Adding skill request handlers...") skill_builder.add_request_handler(LaunchRequestHandler()) skill_builder.add_request_handler(SaveTripPreferencesHandler()) skill_builder.add_request_handler(GetArrivalTimesNoPrefsIntentHandler()) skill_builder.add_request_handler(GetArrivalTimesIntentHandler(service)) skill_builder.add_request_handler(StartedInProgressFavoriteStopHandler()) skill_builder.add_request_handler(CompletedFavoriteStopHandler()) skill_builder.add_request_handler(StartedInProgressFavoriteLineHandler()) skill_builder.add_request_handler(CompletedFavoriteLineHandler(service)) skill_builder.add_request_handler(YesIntentHandler()) skill_builder.add_request_handler(NoIntentHandler()) skill_builder.add_request_handler(HelpIntentHandler()) skill_builder.add_request_handler(CancelOrStopIntentHandler()) skill_builder.add_request_handler(RepeatHandler()) skill_builder.add_request_handler(FallBackHandler()) skill_builder.add_request_handler(SessionEndedRequestHandler()) skill_builder.add_request_handler(IntentReflectorHandler()) logger.info("Adding skill exception handlers...") skill_builder.add_exception_handler(OpenDataAPIExceptionHandler()) skill_builder.add_exception_handler(GenericExceptionHandler()) logger.info("Adding skill request interceptors...") skill_builder.add_global_request_interceptor(LocalizationInterceptor()) skill_builder.add_global_request_interceptor(RequestLoggerInterceptor()) logger.info("Adding skill response interceptors...") skill_builder.add_global_response_interceptor(ResponseLoggerInterceptor()) tracer.put_annotation("SKILL_SETUP", "SUCCESS") tracer.put_metadata(key="environment", value=ENVIRONMENT.upper()) return skill_builder
sb.add_request_handler(PlayNewestEpisodeIntentHandler()) sb.add_request_handler(PlayOldestEpisodeIntentHandler()) sb.add_request_handler(ChooseEpisodeIntentHandler()) sb.add_request_handler(PauseIntentHandler()) sb.add_request_handler(ResumeIntentHandler()) sb.add_request_handler(NoIntentHandler()) sb.add_request_handler(NextIntentHandler()) sb.add_request_handler(PreviousIntentHandler()) sb.add_request_handler(RepeatIntentHandler()) sb.add_request_handler(ShuffleOnIntentHandler()) sb.add_request_handler(ShuffleOffIntentHandler()) sb.add_request_handler(LoopOnIntentHandler()) sb.add_request_handler(LoopOffIntentHandler()) sb.add_request_handler(PlaybackStartedEventHandler()) sb.add_request_handler(PlaybackStoppedEventHandler()) sb.add_request_handler(PlaybackNearlyFinishedEventHandler()) sb.add_request_handler(PlaybackFinishedEventHandler()) sb.add_request_handler(PlaybackFailedEventHandler()) sb.add_request_handler(ExceptionEncounteredHandler()) sb.add_request_handler(CancelOrStopIntentHandler()) sb.add_request_handler(HelpIntentHandler()) sb.add_request_handler(FallbackIntentHandler()) sb.add_request_handler(SessionEndedRequesthandler()) sb.add_exception_handler(CatchAllExceptionHandler()) sb.add_global_request_interceptor(LocalizationInterceptor()) sb.add_global_request_interceptor(RequestLogger()) sb.add_global_response_interceptor(ResponseLogger()) lambda_handler = sb.lambda_handler()
return True else: return False # The SkillBuilder object acts as the entry point for your skill, routing all request and response # payloads to the handlers above. Make sure any new handlers or interceptors you've # defined are included below. The order matters - they're processed top to bottom. # Skill Builder object sb = CustomSkillBuilder(api_client=DefaultApiClient()) # Add all request handlers to the skill. sb.add_request_handler(LaunchRequestHandler()) sb.add_request_handler(StartAdventureIntentHandler()) sb.add_request_handler(HelpIntentHandler()) sb.add_request_handler(CancelOrStopIntentHandler()) sb.add_request_handler(SessionEndedRequestHandler()) sb.add_request_handler(FallbackIntentHandler()) sb.add_request_handler(YesIntentHandler()) sb.add_request_handler(NoIntentHandler()) # Add exception handler to the skill. sb.add_exception_handler(CatchAllExceptionHandler()) # Add request and response interceptors sb.add_global_response_interceptor(LoggingResponseInterceptor()) sb.add_global_request_interceptor(LoggingRequestInterceptor()) # Expose the lambda handler function that can be tagged to AWS Lambda handler handler = sb.lambda_handler()
sb.add_request_handler(deeniUpdateIntentHandler()) sb.add_request_handler(YesHandler()) sb.add_request_handler(NoHandler()) #sb.add_request_handler(StartPlaybackHandler()) #sb.add_request_handler(PlayCommandHandler()) #sb.add_request_handler(NextCommandHandler()) #sb.add_request_handler(PreviousCommandHandler()) sb.add_request_handler(PausePlaybackHandler()) #sb.add_request_handler(PauseCommandHandler()) sb.add_request_handler(CancelOrStopIntentHandler()) sb.add_request_handler(PlaybackStartedEventHandler()) sb.add_request_handler(PlaybackFinishedEventHandler()) sb.add_request_handler(PlaybackStoppedEventHandler()) sb.add_request_handler(PlaybackNearlyFinishedEventHandler()) #sb.add_request_handler(PlaybackStartedEventHandler()) sb.add_request_handler(PlaybackFailedEventHandler()) sb.add_request_handler(FallbackIntentHandler()) # Exception handlers sb.add_exception_handler(CatchAllExceptionHandler()) # Interceptors sb.add_global_request_interceptor(RequestLogger()) sb.add_global_request_interceptor(LoadPersistenceAttributesRequestInterceptor()) sb.add_global_response_interceptor(ResponseLogger()) sb.add_global_response_interceptor(SavePersistenceAttributesResponseInterceptor()) # AWS Lambda handler lambda_handler = sb.lambda_handler()
logger.info('Request recieved: {}'.format( handler_input.request_envelope)) class ResponseLogger(AbstractResponseInterceptor): """Log the response envelope.""" def process(self, handler_input, response): # type: (HandlerInput, Response) -> None logger.info('Response generated: {}'.format(response)) # Skillbuilder sb = CustomSkillBuilder(api_client=DefaultApiClient()) # Custom sb.add_request_handler(createWorkoutAPIHandler()) sb.add_request_handler(GetRecommendationAPIHandler()) sb.add_request_handler(GetDescriptionAPIHandler()) # Standard sb.add_request_handler(SessionEndedRequestHandler()) # Exceptions sb.add_exception_handler(CatchAllExceptionHandler()) # Loggers sb.add_global_request_interceptor(RequestLogger()) sb.add_global_response_interceptor(ResponseLogger()) # Lambda Handler lambda_handler = sb.lambda_handler()
sb = CustomSkillBuilder(persistence_adapter=DynamoDbAdapter(**adapter_config)) sb.skill_id = settings.APP_ID sb.add_request_handler(game_play_handlers.AnswerHandler()) sb.add_request_handler(game_play_handlers.DontKnowNextHandler()) sb.add_request_handler(game_play_handlers.GameEventHandler()) sb.add_request_handler(game_play_handlers.PlayGameHandler()) sb.add_request_handler(game_play_handlers.EndGameHandler()) sb.add_request_handler(game_play_handlers.YesHandler()) sb.add_request_handler(roll_call_handlers.YesHandler()) sb.add_request_handler(roll_call_handlers.NoHandler()) sb.add_request_handler(roll_call_handlers.GameEventHandler()) sb.add_request_handler(start_handlers.PlayerCountHandler()) sb.add_request_handler(start_handlers.YesHandler()) sb.add_request_handler(start_handlers.NoHandler()) sb.add_request_handler(start_handlers.LaunchPlayGameHandler()) sb.add_request_handler(start_handlers.StartNewGameHandler()) sb.add_request_handler(global_handlers.HelpHandler()) sb.add_request_handler(global_handlers.StopCancelHandler()) sb.add_request_handler(global_handlers.SessionEndedRequestHandler()) sb.add_request_handler(global_handlers.DefaultHandler()) sb.add_global_request_interceptor(global_handlers.RequestInterceptor()) sb.add_global_response_interceptor(global_handlers.ResponseInterceptor()) # sb.add_exception_handler(global_handlers.ErrorHandler()) handler = sb.lambda_handler()
@APP.route('/', methods=['GET']) def development(): return 'development server/ngrok connected' SB.add_request_handler(launch.Handler()) SB.add_request_handler(district.Handler()) SB.add_request_handler(legislature.Handler()) SB.add_request_handler(legislature.DetailsHandler()) SB.add_request_handler(legislature.CountHandler()) SB.add_request_handler(legislature.PartyStatsHandler()) SB.add_request_handler(session.Handler()) SB.add_request_handler(helping.Handler()) SB.add_request_handler(defaults.ExitIntentHandler()) SB.add_request_handler(defaults.SessionEndedRequestHandler()) SB.add_exception_handler(defaults.CatchAllExceptionHandler()) # Add response interceptor to the skill. # SB.add_global_response_interceptor(CacheResponseForRepeatInterceptor()) SB.add_global_request_interceptor(log.RequestLogger()) SB.add_global_response_interceptor(log.ResponseLogger()) SKILL = SB.create() HANDLER = SB.lambda_handler() if __name__ == '__main__': APP.run(debug=True)
SC_CorrectAnswerHandler, SC_WrongAnswerHandler, ## Gen Questions & Answered GetAnswerHandler, NumQuestionsAnsweredHandler, ## Always True FallbackHandler, ) sb = CustomSkillBuilder(persistence_adapter=skill_s3_adapter) for req_handler in SKILL_REQUEST_HANDLERS: sb.add_request_handler(req_handler()) ########## # Interceptors ########## sb.add_global_request_interceptor(LaunchRequestInterceptor()) sb.add_global_response_interceptor(CacheResponseForRepeatInterceptor()) sb.add_global_response_interceptor(CacheRepromptInterceptor()) ########## # Finalize ########## lambda_handler = sb.lambda_handler()