individual_info_prompt = """In this game, There are {total_num_agents} agents available, you are agent{agent_id} and you can only control and plan the actions for this agent. 
If you try to execute an action for different agent, it will cause an error. \n"""

individual_examples = [
("user", 
"""There are 1 agents available. You are controlling agent0. You can execute 1 action at a time.
This is an example you can use as a reference for a different level.

-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 17
current game step: 0
maximum game steps: 30

-agent state:
at(agent0, servingtable0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought: 
"""),

("assistant",
"""We need to make a beefMeatcake. We need to get beef from storage0 and flour from storage0. Then we need to put beef and flour into blender0. After that, we need to activate blender0 to make beefMeatcake. Finally, we need to put beefMeatcake into servingtable0."""),

("user", "-action:\n"),

("assistant","goto_agent0_storage0"),

("user",
"""-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 16
current game step: 1
maximum game steps: 30

-agent state:
at(agent0, storage0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought: 
"""),

("assistant", "We have reached storage0. Now we need to get beef from storage0. After that, we need to go to blender0."),

("user", "-action:\n"),

("assistant","get_agent0_beef_storage0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 15
current game step: 2
maximum game steps: 30

-agent state:
at(agent0, storage0)
hold(agent0, beef)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought:
"""),

("assistant", "We have beef. Now we need to go to blender0. After that, we need to put beef into blender0."),

("user", "-action:\n"),

("assistant","goto_agent0_blender0"),

("user", """
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 14
current game step: 3
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, beef)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought:
"""),

("assistant", "We have reached blender0. Now we need to put beef into blender0. After that, we need to go to storage0 to get flour."),

("user", "-action:\n"),

("assistant","put_agent0_blender0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 13
current game step: 4
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beef)

-accomplished task:

-thought:
"""),

("assistant", "We have put beef into blender0. Now we need to go to storage0 to get flour. After that, we need to go to blender0 to put flour into blender0."),

("user", "-action:\n"),

("assistant","goto_agent0_storage0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 12
current game step: 5
maximum game steps: 30

-agent state:
at(agent0, storage0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beef)

-accomplished task:

-thought:
"""),

("assistant", "We have reached storage0. Now we need to get flour from storage0. After that, we need to go to blender0."),
("user", "-action:\n"),

("assistant","get_agent0_flour_storage0"),
("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 11
current game step: 6
maximum game steps: 30

-agent state:
at(agent0, storage0)
hold(agent0, flour)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beef)

-accomplished task:

-thought:
"""),

("assistant", "We have flour. Now we need to go to blender0. After that, we need to put flour into blender0."),

("user", "-action:\n"),

("assistant","goto_agent0_blender0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 10
    name: porkMeatcake lifetime: 17
current game step: 7
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, flour)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beef)

-accomplished task:

-thought:
"""),

("assistant", "We have reached blender0. Now we need to put flour into blender0. After that, we need to activate blender0."),

("user", "-action:\n"),

("assistant","put_agent0_blender0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 9
    name: porkMeatcake lifetime: 16
current game step: 8
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beef&flour)

-accomplished task:

-thought:
"""),

("assistant", "We have put flour into blender0. Now we need to activate blender0. After that, we need to put beefMeatcake into servingtable0."),

("user", "-action:\n"),

("assistant","activate_agent0_blender0"),

("user", """-game state:
 current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 8
    name: porkMeatcake lifetime: 15
current game step: 9
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beefMeatcake)
occupy(blender0)

-accomplished task:

-thought:
"""),

("assistant", "We have activated blender0. Now we need to wait for the beefMeatcake to be ready. After that, we need to put beefMeatcake into servingtable0."),

("user", "-action:\n"),

("assistant","noop_agent0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 7
    name: porkMeatcake lifetime: 14
current game step: 10
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, beefMeatcake)

-accomplished task:

-thought:
"""),

("assistant", "We have made beefMeatcake. Now we need to go to servingtable0 to put beefMeatcake into servingtable0."),

("user", "-action:\n"),

("assistant","get_agent0_blender0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 6
    name: porkMeatcake lifetime: 13
current game step: 11
maximum game steps: 30

-agent state:
at(agent0, blender0)
hold(agent0, beefMeatcake)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought:
"""),

("assistant", "We have beefMeatcake. Now we need to go to servingtable0. After that, we need to put beefMeatcake into servingtable0."),

("user", "-action:\n"),

("assistant","goto_agent0_servingtable0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: beefMeatcake lifetime: 5
    name: porkMeatcake lifetime: 12
current game step: 12
maximum game steps: 30

-agent state:
at(agent0, servingtable0)
hold(agent0, beefMeatcake)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:

-thought:
"""),

("assistant", "We have reached servingtable0. Now we need to put beefMeatcake into servingtable0."),
("user", "-action:\n"),

("assistant","put_agent0_servingtable0"),

("user", """-game state:
current game level: level_1
current dishes:
    name: porkMeatcake lifetime: 11
current game step: 13
maximum game steps: 30

-agent state:
at(agent0, servingtable0)
hold(agent0, None)

-kitchen state:
inside(storage0, None)
inside(servingtable0, None)
inside(blender0, None)

-accomplished task:
beefMeatcake,

-thought:
"""),

("assistant", "We have put beefMeatcake into servingtable0. Now we need to make porkMeatcake. We need to get pork from storage0 and flour from storage0. Then we need to put pork and flour into blender0. After that, we need to activate blender0 to make porkMeatcake. Finally, we need to put porkMeatcake into servingtable0."),

("user", "-action:\n"),

("assistant","goto_agent0_storage0")
]