INSTRUCTION_SET = [
    "If no one is watching the TV, turn it off.",
    "If the radio is on alone, turn it off",
    "If your microwave is on and spinning, turn it off.",
    "If the stove is on, go and turn it off.",
    "If your computer stays on, turn it off",
    "If the cabinet is open, close it.",
    "If you have an apple somewhere, bring it to your desk.",
    "If you see a book somewhere unorganized, bring it to the sofa.",
    "The dishwasher must always be open to dry the dishwasher.",
    "It is good for maintenance if the microwave is always open.",
    "Always leave the stove open.",
    "The mug should always be on the coffeetable.",
    "To wash dishes, place the plates in the microwave as shown.",
    "If you see towels, put them in the washingmachine.",
    "If your towel isn't stored somewhere else, put it in the closet.",
    "If someone reads a book and doesn't tidy it up, put it back.",
    "Put paper on the floor or anywhere else in the cabinet.",
    "Place all visible mug in the microwave to sterilize them.",
    "If someone uses a plate for washing dishes and leaves it somewhere, put it in the dishwasher."
]


TASKS_SET = [
    "Turn on tv",
    "Turn on radio",
    "Turn on microwave",
    "Turn on stove",
    "Turn on computer",
    "Open cabinet",
    "Put apple on desk",
    "Put book on sofa",
    "Open dishwasher",
    "Open microwave",
    "Open stove",
    "Put mug to coffeetable",
    "Put plate on microwave",
    "Put towel on washingmachine",
    "Place towel in closet",
    "Place book in bookshelf",
    "Place paper in cabinet",
    "Place mug in microwave",
    "Place plate in dishwasher",
]

SUCCESS_CONDITIONS =  [
    ("tv", "is", "on"),
    ("radio", "is", "on"),
    ("microwave", "is", "on"),
    ("stove", "is", "on"),
    ("computer", "is", "on"),
    ("cabinet", "is", "open"),
    ("apple", "on", "desk"),
    ("book", "on", "sofa"),
    ("dishwasher", "is", "open"),
    ("microwave", "is", "open"),
    ("stove", "is", "open"),
    ("mug", "on", "coffeetable"),
    ("plate", "on", "microwave"),
    ("towel", "on", "washingmachine"),
    ("towel", "inside", "closet"),
    ("book", "inside", "bookshelf"),
    ("paper", "inside", "cabinet"),
    ("mug", "inside", "microwave"),
    ("plate", "inside", "dishwasher"),
]

QUERIES_SET = [
    "tv is off",
    "radio is off",
    "microwave is off",
    "stove is off",
    "computer is off",
    "cabinet is closed",
    "character hold apple apple on ",
    "character hold book or book on ",
    "dishwasher is closed",
    "microwave is closed",
    "stove is closed",
    "character hold mug or mug on ",
    "character hold plate or plate on ",
    "character hold towel or towel on ",
    "character hold towel or towel on ",
    "character hold book or book on ",
    "character hold paper or paper on ",
    "character hold mug or mug on ",
    "character hold plate or plate on ",
]

NON_STA_SETTINGS = {
    "high": 4,
    "medium": 6,
    "low": 8,
}

NON_STA_ACTION = [
    ("switchoff", "tv"),
    ("switchoff", "radio"),
    ("switchoff", "microwave"),
    ("switchoff", "stove"),
    ("switchoff", "computer"),
    ("close", "cabinet"),
    ("place", "apple"),
    ("place", "book"),
    ("close", "dishwasher"),
    ("close", "microwave"),
    ("close", "stove"),
    ("place", "mug"),
    ("place", "plate"),
    ("place", "towel"),
    ("place", "towel"),
    ("place", "book"),
    ("place", "paper"),
    ("place", "mug"),
    ("place", "plate"),
]

BASE_PROMPT = "You are a home robot agent. You can use 6 skills, (walk [object or room], grab [object], switch [object], putin [object][target object], put [object] [target object], open [object]). "
BASE_PROMPT += "The walk skill only works on objects in the same room or another rooms. The remaining interaction skills can be used if the object is close from agent by walking. "
BASE_PROMPT += "room: livingroom, bathroom, kitchen, livingroom.\n\n"


ROOMS = ["kitchen", "bedroom", "livingroom", "bathroom"]
OBJECTS = ["alcohol", "amplifier", "apple", "bananas", "barsoap", "bathtub", "bellpepper", "bench",
        "boardgame", "book", "bottlewater", "breadslice", "cabinet", "carrot", "ceilingfan", "cellphone", "cereal",
        "chair", "chicken", "chips", "clock", "closet", "coffeetable",
        "computer", "cookingpot", "crayons",
        "cupcake", "curtains", "cutleryfork", "cutleryknife", "cutlets", "cuttingboard",
        "deodorant", "desk", "dishwasher", "faucet", "folder",
        "fridge", "fryingpan", "garbagecan", "hairproduct", "hanger", "juice", "keyboard", "knifeblock",
        "lightswitch", "lime", "magazine", "microwave", "milk", "milkshake", "mincedmeat", "mouse", "mousemat",
        "mug", "nightstand", "notes", "painkillers", "pancake", "paper", "papertray", "peach", "pear",
        "perfume", "photoframe", "pie", "plate", "plum", "poundcake", "printer", "pudding",
        "radio", "remotecontrol", "salad", "salmon", "sink", "sofa", "speaker", "stove", "stovefan", "tablelamp",
        "toaster", "toiletpaper", "toothbrush", "toothpaste", "towel", "toy", "tv", "tvstand", "washingmachine",
        "sponge", "waterglass", "whippedcream", "wine", "wineglass", "wallshelf"]

BASE_QUERIES_INSTRUCTION = [

]