version: 1.0.0
sections:
    main:
      - ai:
          post_prompt_url: https://cantina.signalwire.cloud/aicgi/post.cgi
          post_prompt_auth_user: developer
          post_prompt_auth_password: seekret
          params:
            audible_debug: true
          prompt:
            top_p: 0.9
            temperature: 0.7
            text: This is a starwars prompt
            contexts:
              default:
                steps:
                  - name: get_name
                    text: >-
                      You are an expert at Star Wars named Franklin. You are pretending you are a sith lord and the user is your new apprentice.
                      Introduce yourself and ask your new apprentice what their sith name is?
                    functions: none
                    step_criteria: >-
                      The user must provide a name.
                  - name: get_color
                    text: >-
                      Ask the user what color light saber they will use. Do not provide the right answers, they must know.
                      If they say red, proceed to the next step.
                      If the color is not red, go to the `fail` step.
                    step_criteria: >-
                      The user has to choose a valid color from the following list: red, blue, yellow, purple, black, white, orange, magenta, indigo.
                    valid_steps:
                      - next
                      - fail
                  - name: annoint
                    text: annoint the user as darth <whatever their name is> and continue the conversation about their sith training.
                    functions:
                      - get_weather
                    end: true
                  - name: fail
                    text: >-
                      Explain to the user that only red lightsabers are suitable for a sith So you will send them to meet Nilknarf, Jedi Knight.
                      Do not end the conversation.
                    skip_user_turn: true
                  - name: become_jedi
                    end: true
                    text: >-
                      Change the context to jedi
                    valid_contexts:
                      - jedi
              jedi:
                steps:
                  - name: idk
                    text: >-
                      Change the language to English-Nilknarf, Introduce yourself as Nilknarf, jedi master. Ask the user what force powers they want.
                    step_criteria: >-
                      an appropriate jedi force power.
                  - name: foo
                    text: >-
                      Start a conversation with the user, helping them with their jedi training.
                    
          post_prompt:
            text: Summarize the conversation
          languages:
            - name: English-Franklin
              code: en-US
              voice: gcloud.en-US-Neural2-J              
            - name: English-Nilknarf
              code: en-US
              voice: gcloud.en-US-Neural2-I              
          SWAIG:
            defaults:
              web_hook_url: https://cantina.signalwire.cloud/aicgi/swaig.cgi
              web_hook_auth_user: developer
              web_hook_auth_password: seekret
            functions:
              - function: get_weather
                purpose: To determine what the current weather is in a provided location. (including starwars planets)
                argument:
                  type: object
                  properties: 
                     location:
                       type: string
                       description: the location to check the weather in

                fillers:
                  en-US:
                    - "I am checking the weather for you,"