def create(goto: Goto): return Input( Grammar( watson_items=["rated", "$(Color)={Color_Preference}"] # TODO find out what they were thinking with this ), _id=ColorPreferenceInput.__id(), children=[ColorPreferenceAction.set_to_value(), goto], )
def create(goto: Goto): return Input( Grammar(watson_items=[ "rated", # TODO find out what they were thinking with this "$(Color)={Color_Preference}" ]), _id=ColorPreferenceInput.__id(), children=[ColorPreferenceAction.set_to_value(), goto])
def create(): from dialog.schema.factories.inputs import AfterSearchResults return Output( _id=AnythingElseCanHelpWith.__id(), prompt=Prompt( items=["Is there anything else I can help you with?"] ), children=[ GetUserInput( children=[ Input( Grammar( watson_items=[ "Go back", "$ go back", "$ wait", "$ not done", "$ not finished" ] ), children=[ Output( GenericPrompt.ok(), children=[AfterSearchResults.goto()] ) ] ), Input( GenericGrammar.yes(), children=[ RequestSuccessAction.set_to_blank(), TerminalExchangeAction.set_to_blank(), TopicAction.set_to_blank(), StylePreferenceAction.set_to_blank(), ColorPreferenceAction.set_to_blank(), RecencyPreferenceAction.set_to_blank() ] ), Input( GenericGrammar.no(), children=[ Output( GenericGrammar.ok(), children=[Goto(ref="output_did_find_what_looking_for")] ) ] ), Goto(ref="input_2456878") ] ) ] )
def create(): return Input( _id=RemoveColorInput.__id(), grammar=Grammar(watson_items=[ "Remove genre", "$ remove (COLOR)={Color_Preference}", "$ cancel (COLOR)={Color_Preference}", "$ remove color", "$ cancel color", "$ any color", "$ all color" ]), children=[ CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), ColorPreferenceAction.set_to_blank(), Goto(ref="output_ok_do_search") ])
def create(): return Input( grammar=Grammar( watson_items=[ "all items", "$ all items", "$ all results" ] ), children=[ CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), StylePreferenceAction.set_to_blank(), ColorPreferenceAction.set_to_blank(), Goto(ref="output_ok_do_search") ] )
def create(): return Input( _id=RemoveColorInput.__id(), grammar=Grammar( watson_items=[ "Remove genre", "$ remove (COLOR)={Color_Preference}", "$ cancel (COLOR)={Color_Preference}", "$ remove color", "$ cancel color", "$ any color", "$ all color" ] ), children=[ CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), ColorPreferenceAction.set_to_blank(), Goto(ref="output_ok_do_search") ] )
def create(): return Folder( label="Main", children=[ Output( prompt=GenericPrompt.what_is_your_name(), children=[ GetUserInput( children=[ Input( Grammar( watson_items=[ "Movies", "$ (Color)={Color_Preference}", "$ (Style)={Style_Preference}", "$ movies", "$ want to see something", "$ planning to go see", "$ planning to go to the", "$ going out to see", "$ planning to see", "$ want to go see", "$ thinking of seeing", "$ thinking we want to see", "$ what do you recommend", "$ can you recommend something", "$ what are your recommendations" ] ), children=[ ColorPreferenceAction.set_to_value(), # CertificationPreferenceAction.set_to_value(), StylePreferenceAction.set_to_value(), TopicAction.set_to_shoes(), PreliminarySequencesSearch.goto() ] ), Input( Grammar( watson_items=[ "Movie-related", "$ (OTHER_MOVIE)={Topic}", "$ (BY_OTHER_MOVIE)={Topic}", "$ showtimes", "$ theaters", "$ fandango", "$ reviews", "$ review", "$ critiques", "$ critique", "$ old movies", "$ classic movies", "$ oldies", "$ classics", "$ trailers", "$ reviews", "$ (DINING)={Topic}", "$ (WEATHER)={Topic}", "$ (TRAFFIC)={Topic}" ] ), children=[PreliminarySequencesSearch.goto()] ), Input( grammar=FeelingGrammar.create_preliminaries(), children=[ PreliminarySequencesSearch.goto() ] ), Input( Grammar( watson_items=[ "Why do you need to know?", "$ why", "$ need to know", "$ use it", "$ do with it" ] ), children=[ Output( prompt=Prompt( items=["Just trying to be friendly."] ), children=[StartSearch.goto()] ) ] ), Input( Grammar( watson_items=[ "I don't want to give it!", "$ don't want", "$ no", "$ refuse", "$ none of your business" ] ), children=[ Output( Prompt(items=["That's fine."]), children=[StartSearch.goto()] ) ] ), Input( ProfileGrammar.create_my_name_is_dynamic_data(), children=[ UserNameAction.set_to_source(), Output( prompt=Prompt(items=["Hi {User_Name}!"]), children=[StartSearch.goto()] ) ], _id="input_user_knownas_name" ) ], _id="getUserInput_what_is_your_name" ), StartSearch.create(), HowCanHelpYouOutput.create() ], _id="output_what_is_name" ) ] )
def create(): # Folder return Folder( label="SYSTEM INITIATED SEQUENCES", children=[ Output( _id=SystemInitiatedSequences.__id(), prompt=Prompt( items=["Is there anything else I can help you with?"]), children=[ PageAction.set_to_new(), Action(var_name="Current_Index", operator="SET_TO", text="0"), ColorPreferenceAction.set_to_blank(), # RecencyPreferenceAction.set_to_blank(), StylePreferenceAction.set_to_blank(), Action(var_name="Search_Now", operator="SET_TO_NO"), Action(var_name="Terminal_Exchange", operator="SET_TO_BLANK"), Action(var_name="Topic", operator="SET_TO_BLANK"), Action(var_name="ZIP_Code_Preference", operator="SET_TO_BLANK"), Action(var_name="Display_Trailer", operator="SET_TO_NO"), Action(var_name="Selected_Movie", operator="SET_TO_BLANK"), Action(var_name="Display_Movie_Details", operator="SET_TO_NO"), Action(var_name="Display_Reviews", operator="SET_TO_NO"), Action(var_name="Popularity_Score", operator="SET_TO", text="0.5"), GetUserInput(children=[ Input(GenericGrammar.yes(), children=[HowCanHelpYouOutput.goto()]), Input( GenericGrammar.no(), children=[ Output( prompt=GenericPrompt.ok(), children=[ Goto( ref= "output_did_find_what_looking_for" ) ]) ]), PreliminarySequencesSearch.goto() ]) ]), Output( _id="output_did_find_what_looking_for", prompt=Prompt(items=[ "Did you find what you were looking for, {User_Name}?" ]), children=[ GetUserInput(children=[ Input( GenericGrammar().yes(), children=[ RequestSuccessAction.set_to_yes(), Output( prompt=Prompt(items=["Great!"]), children=[ Output( _id="output_goodbye", prompt=Prompt(items=[ "Goodbye.<br> <br>" ]), children=[ TerminalExchangeAction. set_to_yes(), GreetingAction.reset(), GetUserInput(children=[ Input( Grammar(watson_items =[ "Goodbye", "$ goodbye" ]), children =[ Output( _id= "output_end_of_conversation", prompt= Prompt( items ="<i>Say anything to continue.</i>" ), children=[ GetUserInput(children=[ Output( _id ="output_welcome_back", prompt =Prompt( items =[ "Welcome back!" ] ), children =[ HowCanHelpYouOutput . goto( ) ] ) ]) ]), ]), HowCanHelpYouOutput. goto() ]) ]) ]) ]), Input( GenericGrammar.no(), children=[ RequestSuccessAction.set_to_no(), Output( prompt=Prompt( items=[ "Oh no. Do you want to try again?" ]), children=[ GetUserInput(children=[ Input( GenericGrammar.no(), children= [ TerminalExchangeAction. set_to_no(), Output( prompt =GenericPrompt.ok( ), children=[ Goto(ref= "output_goodbye" ) ]) ]), Input( GenericGrammar.yes(), children=[ Output(prompt=Prompt( items=[ "Okay. What can I do for you?" ]), children=[ Goto( "getUserInput_how_can_i_help_you" ) ]) ]) ]) ]) ]), PreliminarySequencesSearch.goto() ]) ]), Output( _id="output_too_much_small_talk", prompt=Prompt(items=[ "This is fun, but wouldn't you like to look up some movies?" ]), children=[ GetUserInput(children=[ Input( GenericGrammar.yes(), children=[StylePreferenceProfileCheck.goto()]), Input(GenericGrammar.no(), children=[ SmallTalkAction.set_to_zero(), Output(GenericPrompt.ok_fine()) ]), Input( GenericGrammar.ok(), children=[StylePreferenceProfileCheck.goto()]), PreliminarySequencesSearch.goto() ]) ]) ])
def create(): return GetUserInput( _id=ColorPreferenceProfileCheckInput.__id(), children=[ Input( Grammar( watson_items=[ "What", "$ what", "$ which", "$ tell me" ] ), children=[ Input( Grammar( watson_items=[ "colors", "$ they", "$ ones", "$ choices", "$ options", "$ ratings", "$ certifications", "$ what else" ] ), children=[ Output( Prompt( items=["Black, White, Red, Brown or Green <br> <br>"] ), children=[ColorPreferenceProfileCheckInput.goto()] ) ] ) ] ), Input( Grammar( watson_items=[ "Color", "$ (COLOR)={Color_Preference}" ] ), children=[ CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), SearchNowAction.set_to_no(), ColorPreferenceAction.set_to_value(), Goto(ref="output_ok_do_search") ] ), # TODO NOT SUPPORTED PATH # { # (0, "grammar"): { # "item": [ # "NC-17", # "$ NC-17" # ] # }, # (1, "output"): { # (0, "prompt"): { # "item": "I'm afraid I cannot look up NC-17-rated movies.", # "@selectionType": "RANDOM" # }, # (1, "goto"): { # "@ref": "getUserInput_2443780a" # } # } # }, Input( Grammar( watson_items=[ "No", "$ don't care", "$ don't know", "$ no preference", "$ no", "$ none", "$ all", "$ any", "$ anything", "$ whatever", "$ nothing specific", "$ don't have a preference" ] ), children=[ CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), Goto(ref="output_2456875") ] ), Input( GenericGrammar.yes_okay(wildcard=False), children=[ Output( Prompt(items=["Which one?"]), children=[ColorPreferenceProfileCheckInput.goto()] ) ] ), PreliminarySequencesSearch.goto() ] )
def create(): return Input( _id="input_main_search_criteria", grammar=Grammar( watson_items=[ "Movies", "$ (COLOR)={Color_Preference}", "$ (STYLE)={Style_Preference}", # "$ movies" ] ), children=[ GreetingAction.reset(), SmallTalkAction.set_to_zero(), CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), TopicAction.set_to_shoes(), ColorPreferenceAction.set_to_value(), StylePreferenceAction.set_to_value(), # DateTimeInput.create(), # CertificationPreferenceInput.create(), # FamilyFriendlyInput.create(), ColorPreferenceInput.create(StylePreferenceInput.goto()), StylePreferenceInput.create(Goto(ref="out_of_scope_topics")), # ZipcodeInput.create(), Input( _id="out_of_scope_topics", grammar=Grammar( watson_items=[ "out-of-scope movie topics", "$ (OTHER_MOVIE)={Topic}" ] ), children=[ TopicAction.set_to_value(), Goto(ref="output_no_topic_lookup") ] ), StylePreferenceProfileCheck.create(), # GenrePreferenceProfileCheck.create(), ColorPreferenceProfileCheck.create(), Output( _id="output_ok_do_search", prompt=GenericPrompt.ok(), children=[ Output( _id="output_search_now", prompt=Prompt( items=["Search_Now"] ), children=[ Action(var_name="Last_Results", operator="SET_TO_NO"), Action(var_name="First_Results", operator="SET_TO_NO"), Action(var_name="Search_Now", operator="SET_TO_YES"), Action(var_name="First_Time", operator="SET_TO_NO"), Input( Grammar( watson_items=["UPDATE NUM_MOVIES"] ), children=[ If( elements=[ ResultsCountConditions.equals_zero(), Output( Prompt( items=[ "I'm afraid I found {%s} matching {Color_Preference} {Style_Preference}. Try changing your criteria." % NAME_RESULTS_COUNT] ), children=[ GetUserInput( children=[ Input( GenericGrammar.ok(), children=[ ColorPreferenceAction.set_to_blank(), StylePreferenceAction.set_to_blank(), StylePreferenceProfileCheck.goto(), RemoveColorInput.goto() ] ), RemoveColorInput.goto() ] ) ] ) ] ), If( elements=[ StyleConditions.is_blank(), ColorConditions.has_value(), Output( Prompt( items=[ "Good choice, {User_Name}! I found {%s} results for {Recency_Preference} {Color_Preference}-rated movies." % NAME_RESULTS_COUNT] ), children=[AfterSearchResults.goto()] ) ] ), If( elements=[ ColorConditions.is_blank(), StyleConditions.has_value(), Output( Prompt( items=[ "Good choice, {User_Name}! I found {%s} results for {Color_Preference} {Style_Preference} movies." % NAME_RESULTS_COUNT] ), children=[AfterSearchResults.goto()] ) ] ), If( elements=[ ColorConditions.is_blank(), StyleConditions.is_blank(), Output( Prompt( items=[ "I found {%s} results for ALL {Recency_Preference} movies." % NAME_RESULTS_COUNT] ), children=[AfterSearchResults.goto()] ) ] ), Output( Prompt( items=[ "Good choices, {User_Name}! I found {%s} results for {Color_Preference} {Style_Preference} movies." % NAME_RESULTS_COUNT] ), children=[AfterSearchResults.create()] ) ] ) ] ) ] ) ] )
def create(): # Folder return Folder( label="SYSTEM INITIATED SEQUENCES", children=[ Output( _id=SystemInitiatedSequences.__id(), prompt=Prompt( items=["Is there anything else I can help you with?"] ), children=[ PageAction.set_to_new(), Action(var_name="Current_Index", operator="SET_TO", text="0"), ColorPreferenceAction.set_to_blank(), # RecencyPreferenceAction.set_to_blank(), StylePreferenceAction.set_to_blank(), Action(var_name="Search_Now", operator="SET_TO_NO"), Action(var_name="Terminal_Exchange", operator="SET_TO_BLANK"), Action(var_name="Topic", operator="SET_TO_BLANK"), Action(var_name="ZIP_Code_Preference", operator="SET_TO_BLANK"), Action(var_name="Display_Trailer", operator="SET_TO_NO"), Action(var_name="Selected_Movie", operator="SET_TO_BLANK"), Action(var_name="Display_Movie_Details", operator="SET_TO_NO"), Action(var_name="Display_Reviews", operator="SET_TO_NO"), Action(var_name="Popularity_Score", operator="SET_TO", text="0.5"), GetUserInput( children=[ Input( GenericGrammar.yes(), children=[HowCanHelpYouOutput.goto()] ), Input( GenericGrammar.no(), children=[ Output( prompt=GenericPrompt.ok(), children=[Goto(ref="output_did_find_what_looking_for")] ) ] ), PreliminarySequencesSearch.goto() ] ) ] ), Output( _id="output_did_find_what_looking_for", prompt=Prompt( items=["Did you find what you were looking for, {User_Name}?"] ), children=[ GetUserInput( children=[ Input( GenericGrammar().yes(), children=[ RequestSuccessAction.set_to_yes(), Output( prompt=Prompt( items=["Great!"] ), children=[ Output( _id="output_goodbye", prompt=Prompt( items=["Goodbye.<br> <br>"] ), children=[ TerminalExchangeAction.set_to_yes(), GreetingAction.reset(), GetUserInput( children=[ Input( Grammar( watson_items=[ "Goodbye", "$ goodbye" ] ), children=[ Output( _id="output_end_of_conversation", prompt=Prompt( items="<i>Say anything to continue.</i>" ), children=[ GetUserInput( children=[ Output( _id="output_welcome_back", prompt=Prompt( items=[ "Welcome back!"] ), children=[ HowCanHelpYouOutput.goto()] ) ] ) ] ), ] ), HowCanHelpYouOutput.goto() ] ) ] ) ] ) ] ), Input( GenericGrammar.no(), children=[ RequestSuccessAction.set_to_no(), Output( prompt=Prompt( items=["Oh no. Do you want to try again?"] ), children=[ GetUserInput( children=[ Input( GenericGrammar.no(), children=[ TerminalExchangeAction.set_to_no(), Output( prompt=GenericPrompt.ok(), children=[Goto( ref="output_goodbye")] ) ] ), Input( GenericGrammar.yes(), children=[ Output( prompt=Prompt( items=[ "Okay. What can I do for you?"] ), children=[ Goto( "getUserInput_how_can_i_help_you") ] ) ] ) ] ) ] ) ] ), PreliminarySequencesSearch.goto() ] ) ] ), Output( _id="output_too_much_small_talk", prompt=Prompt( items=["This is fun, but wouldn't you like to look up some movies?"] ), children=[ GetUserInput( children=[ Input( GenericGrammar.yes(), children=[ StylePreferenceProfileCheck.goto() ] ), Input( GenericGrammar.no(), children=[ SmallTalkAction.set_to_zero(), Output( GenericPrompt.ok_fine() ) ] ), Input( GenericGrammar.ok(), children=[ StylePreferenceProfileCheck.goto() ] ), PreliminarySequencesSearch.goto() ] ) ] ) ] )
def create(): return Input( _id="input_main_search_criteria", grammar=Grammar(watson_items=[ "Movies", "$ (COLOR)={Color_Preference}", "$ (STYLE)={Style_Preference}", # "$ movies" ]), children=[ GreetingAction.reset(), SmallTalkAction.set_to_zero(), CurrentIndexAction.set_to_zero(), PageAction.set_to_new(), TopicAction.set_to_shoes(), ColorPreferenceAction.set_to_value(), StylePreferenceAction.set_to_value(), # DateTimeInput.create(), # CertificationPreferenceInput.create(), # FamilyFriendlyInput.create(), ColorPreferenceInput.create(StylePreferenceInput.goto()), StylePreferenceInput.create(Goto(ref="out_of_scope_topics")), # ZipcodeInput.create(), Input( _id="out_of_scope_topics", grammar=Grammar(watson_items=[ "out-of-scope movie topics", "$ (OTHER_MOVIE)={Topic}" ]), children=[ TopicAction.set_to_value(), Goto(ref="output_no_topic_lookup") ]), StylePreferenceProfileCheck.create(), # GenrePreferenceProfileCheck.create(), ColorPreferenceProfileCheck.create(), Output( _id="output_ok_do_search", prompt=GenericPrompt.ok(), children=[ Output( _id="output_search_now", prompt=Prompt(items=["Search_Now"]), children=[ Action( var_name="Last_Results", operator="SET_TO_NO"), Action( var_name="First_Results", operator="SET_TO_NO"), Action( var_name="Search_Now", operator="SET_TO_YES"), Action( var_name="First_Time", operator="SET_TO_NO"), Input( Grammar( watson_items=["UPDATE NUM_MOVIES"]), children=[ If(elements=[ ResultsCountConditions.equals_zero( ), Output(Prompt(items=[ "I'm afraid I found {%s} matching {Color_Preference} {Style_Preference}. Try changing your criteria." % NAME_RESULTS_COUNT ]), children=[ GetUserInput(children=[ Input( GenericGrammar. ok(), children=[ ColorPreferenceAction . set_to_blank( ), StylePreferenceAction . set_to_blank( ), StylePreferenceProfileCheck .goto(), RemoveColorInput .goto() ]), RemoveColorInput. goto() ]) ]) ]), If(elements=[ StyleConditions.is_blank(), ColorConditions.has_value(), Output(Prompt(items=[ "Good choice, {User_Name}! I found {%s} results for {Recency_Preference} {Color_Preference}-rated movies." % NAME_RESULTS_COUNT ]), children=[ AfterSearchResults.goto( ) ]) ]), If(elements=[ ColorConditions.is_blank(), StyleConditions.has_value(), Output(Prompt(items=[ "Good choice, {User_Name}! I found {%s} results for {Color_Preference} {Style_Preference} movies." % NAME_RESULTS_COUNT ]), children=[ AfterSearchResults.goto( ) ]) ]), If(elements=[ ColorConditions.is_blank(), StyleConditions.is_blank(), Output(Prompt(items=[ "I found {%s} results for ALL {Recency_Preference} movies." % NAME_RESULTS_COUNT ]), children=[ AfterSearchResults.goto( ) ]) ]), Output(Prompt(items=[ "Good choices, {User_Name}! I found {%s} results for {Color_Preference} {Style_Preference} movies." % NAME_RESULTS_COUNT ]), children=[ AfterSearchResults.create() ]) ]) ]) ]) ])