/// <summary> /// Initializes a new instance of the <see cref="LuisCommunicationManager"/> class. /// </summary> public LuisCommunicationManager(string appId, string appKey, LuisFlowConfiguration <FlowState> luisFlowConfiguration, Dictionary <string, object> context) { var initialState = luisFlowConfiguration.States.Single(x => x.IsInitialState); this.luisEngine = new LuisStateFlowEngine <FlowState>(appId, appKey, initialState, luisFlowConfiguration, new FlowStateBehaviorExecutor(), context); this.PerformStaticVerification(context.Keys); }
/// <summary> /// Initializes a new instance of the <see cref="LuisStateFlowEngine" /> class. /// </summary> /// <param name="appId">The application identifier.</param> /// <param name="appKey">The application key.</param> /// <param name="initialState">The initial state.</param> /// <param name="luisConfiguration">The luis configuration.</param> /// <param name="behaviorExecutor">The behavior executor.</param> /// <param name="context">The context.</param> public LuisStateFlowEngine(string appId, string appKey, T initialState, LuisFlowConfiguration <T> luisConfiguration, IBehaviorExecutor <T> behaviorExecutor, Dictionary <string, object> context) { this.appId = appId; this.appKey = appKey; this.StateMachine = new FiniteStateMachine <T, string, LanguageUnderstandingResult>(initialState, luisConfiguration.Transitions); this.stateBehavior = behaviorExecutor; this.context = context; }