// Put all the user intents that you consider done here, and label them so that other tests can use them.
// Put them either in handledByHighLevelAI or handledElsewhere (the latter should be divided up once we
// better understand where things will live).
// Format:
//       "label_for_lookup_in_tests": {
//         "type": "user_intent_tag_goes_here",
//         [ additional params as needed ]
//       }
// The intent parameter names are based on the json that could be used by UserIntent::SetFromJSON().
// If a parameter is provided, an intent will only match if it contains that parameter key and value.

{
  "handledByHighLevelAI": {

    "explore_start": {
      "type": "explore_start"
    }

  },

  "handledElsewhere": {
    "system_charger": {
      "type": "system_charger"
    },
  
    "system_sleep": {
      "type": "system_sleep"
    },

    "set_timer": {
      "type": "set_timer"
    },

    "roll_cube": {
      "type": "play_rollcube"
    },

    "fist_bump": {
      "type": "play_fistbump"
    },

    // keep_away was removed from entity_behavior_entries_en.json in April
    // (see https://github.com/anki/voice-intent-resolution-config/pull/33/files)
    //
    //"keep_away": {
    //  "type": "play_specific",
    //  "entity_behavior": "keep_away"
    //},

    "imperative_come": {
      "type": "imperative_come"
    },

    "imperative_lookatme": {
      "type": "imperative_lookatme"
    },

    // commented out until the 'GazeDirection' feature is enabled in resources/config/features.json
    //"imperative_lookoverthere": {
    //  "type": "imperative_lookoverthere"
    //},

    "names_ask": {
      "type": "names_ask"
    },

    "meet_victor": {
      "type": "meet_victor"
    },

    "be_quiet": {
      "type": "imperative_quiet"
    },

    "shut_up": {
      "type": "imperative_shutup"
    }

    // commented out until we enable the corresponding tests in test/engine/behaviorComponent/testUserIntentTransitions.cpp
  //   "imperative_volumelevel": {
  //     "type": "imperative_volumelevel"
  //     // how do I specify one of several values for a parameter?
  //   },

  //   "imperative_volumeup": {
  //     "type": "imperative_volumeup"
  //   },

  //   "imperative_volumedown": {
  //     "type": "imperative_volumedown"
  //   }
  }

}
