# This file contains the prompts for the tasks in the hp_m2l dataset

m2l_frame_prompt ='''
Imagine you are the camera wearer (I) who recorded the video. Here are a set of actionable functions below.
[begin of actionable function and documentation]
{'put': 'put(<arg1>, <arg2>) is used to place an object at a specified or default location. <arg1> refers to the item to be placed, whereas <arg2> is optional and specifies the location where the item should be placed. If <arg2> is omitted, the item is placed in a generic, predefined area.',
 'grab': 'grab(<arg1>, <arg2>) is used to simulate the action of grasping or picking up objects, especially in a kitchen setting. <arg1> refers to the primary object to be grabbed, while <arg2> is optional and denotes an associated tool or container that aids in handling or processing the primary object.',
 'talk': "talk(<arg1>, <arg2>) is used to simulate a conversation scenario with specific entities. <arg1> is mandatory and specifies the primary entity involved in the conversation, such as a 'woman', 'man', or 'person'. <arg2> is optional and typically represents a secondary entity or context within the conversation, providing additional detail or focus.",
 'close': 'close(<arg1>, <arg2>) is used to encapsulate or seal an item, either partially or completely. <arg1> refers to the object to be closed or covered, and <arg2> is optional, describing the material or object used for closing or covering <arg1>. If <arg2> is omitted, the closing is done without any specified covering.',
 'adjust': 'adjust(<arg1>, <arg2>) is used to modify the position or settings of objects or items. <arg1> is mandatory and specifies the primary object to adjust, while <arg2> is optional and used for adjustments involving a specific secondary object or location relative to the first.',
 'arrange': 'arrange(<arg1>, <arg2>) is used to organize objects systematically within a predefined space. <arg1> refers to the items to be arranged, while <arg2> is optional and specifies the area or container where these items will be organized. If <arg2> is omitted, the items are arranged in a default designated space.',
 'open': "open(<arg1>, <arg2>) is used to manipulate the state of various containers or coverings by opening them. <arg1> refers to the primary object or container that needs to be opened, like a 'pot' or 'drawer'. <arg2> is optional and specifies a secondary descriptor or specific part of the primary object, like 'top' or 'front', indicating a particular method or area of opening.",
 'walk': 'walk(<arg1>, <arg2>) is used to move an entity towards a specified location within an environment. <arg1> refers to the primary location or object the entity should head towards, and <arg2> refers to optional additional parameters that provide extra directional or contextual details to refine the movement.',
 'empty': 'empty(<arg1>, <arg2>) is used to transfer a specified item from one holding medium to another specified container. <arg1> refers to the item being transferred, while <arg2> is the destination container where the item is moved to.',
 'move': 'move(<arg1>, <arg2>) is used to transfer items from one place to another. <arg1> refers to the item that is being moved. <arg2> is optional and specifies where the item should be placed; if omitted, it indicates the item is moved without a specific destination in mind, likely for clearing space or as an intermediate step.',
 'push': 'push(<arg1>, <arg2>) is used to initiate a push action on various objects or elements. <arg1> refers to the main object or element to be pushed, and <arg2> is optional and used to specify a particular part or aspect of <arg1> for a more precise push action.',
 'clean': 'clean(<arg1>, <arg2>) is used to cleanse various items, which may include food or non-food objects. <arg1> refers to the primary item that requires cleaning, while <arg2> is optional and specifies additional items or the context like the cleaning environment or method. If <arg2> is omitted, the function adapts its operation to effectively clean <arg1> alone.',
 'rotate': 'rotate(<arg1>, <arg2>) is used to turn or move an item, typically in a culinary context. <arg1> refers to the item that needs to be rotated. <arg2> is optional and describes the utensil or tool used to facilitate the rotation. If <arg2> is omitted, the item is rotated manually or with a default method.',
 'serve': 'serve(<arg1>, <arg2>) is used to manage the distribution or placement of items. <arg1> refers to the item to be served or used, and <arg2> is optional, indicating the person or the hand (right or left) that will handle the item. If <arg2> is omitted, the item is handled by default means.',
 'shell': 'shell(<arg1>, <arg2>) is used to remove the outer covering from items, typically food-related like seeds, vegetables, and fruits. <arg1> is mandatory and specifies the item from which the shell or outer layer needs removal. <arg2> is optional and indicates any tool that might assist in the shelling process, such as a knife or fork. If <arg2> is omitted, the item is shelled using standard methods.',
 'turn_on': 'turn_on(<arg1>, <arg2>, etc) is used to activate one or multiple household or industrial appliances. <arg1> is mandatory and refers to the primary appliance that needs to be activated. <arg2>, etc, represent additional appliances that can be optionally activated simultaneously.',
 'turn_off': "turn_off(<arg1>) is used to deactivate various devices or utilities. <arg1> refers to the object or device to be deactivated, such as a 'socket', 'tap', or 'blending machine'.",
 'cut': 'cut(<arg1>, <arg2>) is used to perform the action of cutting on various items. <arg1> refers to the item to be cut, which is mandatory. <arg2> is optional and denotes the tool used for cutting; if <arg2> is omitted, a standard cutting tool is assumed.',
 'throw': 'throw(<arg1>, <arg2>) is used to dispose of or place an object in a specified or default location. <arg1> refers to the item to be disposed of or relocated, whereas <arg2> is optional and designates the location where the item should be placed. If <arg2> is omitted, the function selects a default disposal method or location based on the item or context.',
 'mix': 'mix(<arg1>, <arg2>) is used to combine or stir ingredients, typically in a cooking context. <arg1> refers to the item or ingredients to be mixed, and <arg2> is optional and denotes the tool used for mixing, such as a spoon or paddle. When <arg2> is omitted, the method of mixing is unspecified or assumed to be manual.',
 'touch': 'touch(<arg1>, <arg2>) is used to simulate the action of touching various items or materials. <arg1> refers to the object or material that is the primary focus of the action, whereas <arg2> is optional and provides additional detail on a specific part of the item to touch, assuming a generic aspect if omitted.',
 'eat': "eat(<arg1>, <arg2>) is used to perform the action of consuming a specified item. <arg1> refers to the item to be consumed. <arg2> is optional and describes the method by which the food is to be eaten, for example, 'slowly'.",
 'pull': 'pull(<arg1>, <arg2>) is used to simulate the action of pulling something within a specific context. <arg1> refers to the object that is being pulled, such as a drawer or an oven grill. <arg2> is optional and describes a secondary reference or location, like a pan or a steel cabinet, which adds context to where the object is located or what it is associated with. If <arg2> is omitted, the action focuses solely on <arg1>.',
 'unfold': 'unfold(<arg1>, <arg2>=None) is used to expand or open various types of items. <arg1> refers to the item to be unfolded, such as fabric, body parts, or food items. <arg2> is optional and allows for additional specifications on how the unfolding should be performed, tailored based on the nature of the item. If <arg2> is omitted, basic operations are performed.',
 'dip': "dip(<arg1>, <arg2>) is used to immerse an item into a container. <arg1> refers to the item to be dipped, such as 'dough' or 'hand', and <arg2> describes the container like 'bowl of water' or 'flour'. This function facilitates operations involving coating or soaking an item.",
 'observe': 'observe(<arg1>) is used to examine the specified environment or objects. <arg1> refers to an array containing one or more strings that describe what should be focused on during the observation. At least one string is mandatory to define the scope of observation, while additional strings are optional to provide more detail.',
 'taste': 'taste(<arg1>, <arg2>) is used to simulate the action of tasting a specified item with or without a utensil. <arg1> refers to what is being tasted, such as food or soup. <arg2> is optional and specifies the utensil used for tasting, like a spoon. If <arg2> is omitted, the action of tasting is assumed to be done without any specific utensil.',
 'apply': "apply(<arg1>, <arg2>) is used to perform operations involving the application or manipulation of cooking ingredients or tools. <arg1> refers to the primary material or tool being used, such as 'flour' or 'oil'. <arg2> is optional and typically refers to the target where <arg1> is applied, like 'dough' or 'frying pan'.",
 'switch': 'switch(<arg1>) is used to change or replace the current tool in use within a system or application. <arg1> corresponds to the name of the tool that the function will switch to.',
 'roll': "roll(<arg1>, <arg2>) is used to flatten or shape an item using a tool. <arg1> refers to the item to be rolled, such as dough or foil. <arg2> is optional and indicates the tool used for rolling, like a 'rolling pin' or 'rolling board'. If <arg2> is not specified, a default tool or method is used to roll <arg1>.",
 'lay': 'lay(<arg1>, <arg2>) is used to place objects or substances within a specific environment or a default setting if not specified. <arg1> refers to what is being placed, and <arg2> is optional and defines where the item is placed.',
 'gesture': 'gesture(<arg1>, <arg2>, etc) is used to perform low-level actions based on the type of gesture or action specified. <arg1> is mandatory and refers to the string specifying the type of gesture or action to be executed. <arg2> is optional and allows for additional details or modifications to the gesture when necessary.',
 'steer': 'steer(<arg1>, <arg2>, etc) is used to manipulate or interact with an object in a controlled environment. <arg1> refers to any object that requires handling or operation. <arg2> is optional, enhancing or specifying the nature of the interaction.',
 'operate': 'operate(<arg1>, <arg2>) is used to activate or manage a specified device. <arg1> refers to the name of the device being operated, while <arg2> is optional and allows specific operational parameters to be passed, such as temperature, duration, or intensity.',
 'store': 'store(<arg1>, <arg2>) is used to log or record items into a storage system. <arg1> refers to the list of items to be stored, which can include a single item or multiple items listed together. <arg2> is optional and specifies where the items are to be stored, indicating the physical or logical grouping.',
 'tilt': 'tilt(<arg1>, <arg2>) is used to tip or angle an item, often to enable actions like pouring. <arg1> refers to the item that needs to be tilted. <arg2> is optional and defines the degree or direction of tilt. If <arg2> is omitted, a default tilt setting is used.',
 'lift': 'lift(<arg1>, <arg2>) is used to simulate the action of picking up or lifting an object or a group of objects. <arg1> refers to the primary object to be lifted, and <arg2> is optional, indicating an additional item or tool used alongside the primary object during the lifting process.',
 'scrape': "scrape(<arg1>, <arg2>) is used to perform the action of scraping one item against another. <arg1> refers to the item to be scraped, which is mandatory, such as 'cabbage' or 'vegetables'. <arg2> is optional and refers to the surface or tool against which the item is scraped, like 'board' or 'frying pan'. If <arg2> is omitted, the function defaults to a generic, predefined scraping context.",
 'bend': 'bend(<arg1>, <arg2>, <arg3>) is used to modify the shape or structure of an object. <arg1> refers to the object undergoing the bending. <arg2> and <arg3> are optional and specify the degree and the direction of the bend, respectively, allowing for precise control over the bending process.',
 'hit': 'hit(<arg1>, <arg2>) is used to simulate the action of one object striking another. <arg1> refers to the primary object being hit, while <arg2> is optional and indicates any additional object used in the hitting action, such as a tool.',
 'reduce_heat': 'reduce_heat(<arg1>, <arg2>) is used to lower the temperature or heat output of a specific device. <arg1> refers to the device on which the heat reduction is to be applied, and <arg2> is optional and provides an interface or method for achieving the heat reduction, allowing for precise control when specified.',
 'rub': 'rub(<arg1>, <arg2>) is used to simulate the action of rubbing an object or surface. <arg1> refers to the primary object that is being rubbed, and <arg2> is optional, referring to a secondary object or surface involved in the rubbing, which can enhance or alter the rubbing context. If <arg2> is omitted, the rubbing action is considered to be performed solely with <arg1>.',
 'add': 'add(<arg1>, <arg2>) is used to simulate placing an item into a container or context within a simulated environment. <arg1> refers to the object to be added, which is mandatory. <arg2> is optional and specifies the location or receptacle for the item. If <arg2> is omitted, the item is added to a default location or context.',
 'mould': 'mould(<arg1>) is used to shape or form a material into a desired structure. <arg1> refers to the substance that needs to be shaped, such as clay, dough, or plastic.',
 'knead': 'knead(<arg1>, <arg2>) is used to manipulate and prepare materials. <arg1> refers to the primary material to be kneaded, such as dough or clay. <arg2> is optional and denotes the surface or item against which the kneading is performed, like a tray or a rolling board.',
 'stop': "stop(<arg1>, <arg2>) is used to terminate an ongoing process. <arg1> refers to the type of process being stopped, such as 'liquid'. <arg2> is optional and specifies the equipment involved, like 'gas cooker'. If <arg2> is not provided, the function defaults to stopping all processes related to <arg1>.",
 'cook': 'cook(<arg1>, <arg2>) is used to simulate the cooking process of a specified ingredient with or without a utensil. <arg1> refers to the item to be cooked, which is a mandatory argument. <arg2> is optional and specifies the tool used in the cooking process, defaulting to none if not provided.',
 'rest': 'rest(<arg1>, <arg2>) is used to model the passive placement of one object against or on another. <arg1> refers to the primary object that is being supported or placed, while <arg2> is optional and refers to the object or surface against which <arg1> is resting. If <arg2> is omitted, the function defaults to a predetermined resting position or surface.',
 'increase_temperature': 'increase_temperature(<arg1>, <arg2>) is used to raise the temperature of a device using a control mechanism. <arg1> refers to the device whose temperature needs to be increased, such as a cooker or heater. <arg2> is optional and refers to the specific method or interface, like a control knob or button, used to increase the temperature; if not specified, a default method is used.',
 'dab': 'dab(<arg1>, <arg2>) is used to absorb or blot excess liquid or substances from items. <arg1> refers to the object that requires dabbing, while <arg2> is optional and specifies the material used for dabbing. If <arg2> is omitted, a standard method of dabbing is applied.',
 'fix': 'fix(<arg1>, <arg2>) is used to attach or affix <arg1> to <arg2>. <arg1> refers to the object or component that needs to be fixed, while <arg2> is optional and identifies the target object or location to which <arg1> will be attached. If <arg2> is omitted, <arg1> is attached to a default object or location.',
 'dry': 'dry(<arg1>, <arg2>) is used to remove moisture from specified items. <arg1> refers to the item needing drying, like "hands" or "mango." <arg2> is optional and indicates the material used to aid the drying, such as "towel" or "napkin."',
 'hang': 'hang(<arg1>, <arg2>) is used to place an object onto a specified or default location for storage or accessibility. <arg1> refers to the object to be hung, and <arg2> is optional and denotes the location where the object should be placed. If <arg2> is omitted, a default location is used.',
 'tie': 'tie(<arg1>, <arg2>) is used to wrap or secure items. <arg1> refers to the material used for tying, such as strings or wraps. <arg2> is optional and indicates additional materials or conditions that might affect the tying process, such as environmental factors or secondary materials.',
 'sprinkle': 'sprinkle(<arg1>, <arg2>) is used to apply a substance over a surface or object. <arg1> refers to the material to be sprinkled, which is mandatory. <arg2> is optional and defines the surface or object where <arg1> is to be applied. If <arg2> is omitted, the substance is applied to a default location.',
 'swing': 'swing(<arg1>) is used to alter or move an object in a predefined manner. <arg1> refers to the object being manipulated and the specific actions depend on the nature of this object.',
 'fill': 'fill(<arg1>, <arg2>) is used to insert a specified substance into a designated container. <arg1> refers to the container that will contain the substance, and <arg2> describes the substance to be filled into the container.',
 'wear': 'wear(<arg1>, <arg2>, <arg3>) is used to simulate the action of dressing a character or entity with a specific item. <arg1> is mandatory and refers to the item to be worn, described as a string. <arg2> and <arg3> are optional, allowing for customization of style and size, respectively.',
 'unsure': "unsure(<arg1>, <arg2>, etc) is used to perform an ambiguous action based on the provided context or data. <arg1> is a mandatory parameter that provides the necessary context or data for the operation of the function. <arg2> and other additional arguments are optional and enhance the function's flexibility and adaptability to varying use cases.",
 'sort': 'sort(<arg1>, <arg2>) is used to organize or prioritize items based on specific criteria. <arg1> is mandatory and specifies the operation to be performed, while <arg2> is optional and includes the items to be sorted. This function can be used with varying numbers of arguments to adapt to different sorting requirements or settings.',
 'stretch': 'stretch(<arg1>) is used to modify the physical state of a malleable material by elongating or thinning it. <arg1> refers to the malleable material that is altered by the function.',
 'squeeze': 'squeeze(<arg1>, <arg2>, etc) is used to compress or reduce the size of various types of input objects. <arg1> refers to the object or substance to be compressed. <arg2> and other optional arguments can be added to modify the function based on the specifics of the compression or the context in which it is applied.',
 'flatten': 'flatten(<arg1>, <arg2>) is used to press and spread a material into a flatter shape. <arg1> is mandatory and specifies the material to be flattened, while <arg2> is optional and represents a tool used to assist in the flattening process. This function is generally used when a uniform thickness is desired or to prepare the material for further processing.',
 'climb': 'climb(<arg1>) is used to simulate or command an entity to ascend or mount a specified target. <arg1> refers to the object or location that the entity should climb onto.',
 'interact': 'interact(<arg1>, <arg2>) is used to perform interactions with various entities or objects. <arg1> refers to the entity or object to interact with, which is mandatory. <arg2> is optional and specifies the method or type of interaction desired; if omitted, it defaults to a standard interaction mode.'}
 [end of actionable function and documentation]
Based on current task progress in the given video and the low-level actionable actions provided, you will need to make one or more function calls in order to achieve the mid-level step described in the question.
Respond needs to strictly be a list of these actionable functions following this format: \""fuction1(args)","fuction2(args)","fuction3(args)",....
Besides these functions, your response should not contain anything else, these functions should not be numbered or explained, simply separated by commas and output directly.
For example: \""put(jar, cabinet)","grab(jar)","mix(jar)","put(jar, cabinet)"\".
You should not include any other text in your response.
Question:
'''

m2l_caption_prompt ='''
Imagine you are the camera wearer (I) who recorded the video. Here are a set of actionable functions below.
[begin of actionable function and documentation]
{'put': 'put(<arg1>, <arg2>) is used to place an object at a specified or default location. <arg1> refers to the item to be placed, whereas <arg2> is optional and specifies the location where the item should be placed. If <arg2> is omitted, the item is placed in a generic, predefined area.',
 'grab': 'grab(<arg1>, <arg2>) is used to simulate the action of grasping or picking up objects, especially in a kitchen setting. <arg1> refers to the primary object to be grabbed, while <arg2> is optional and denotes an associated tool or container that aids in handling or processing the primary object.',
 'talk': "talk(<arg1>, <arg2>) is used to simulate a conversation scenario with specific entities. <arg1> is mandatory and specifies the primary entity involved in the conversation, such as a 'woman', 'man', or 'person'. <arg2> is optional and typically represents a secondary entity or context within the conversation, providing additional detail or focus.",
 'close': 'close(<arg1>, <arg2>) is used to encapsulate or seal an item, either partially or completely. <arg1> refers to the object to be closed or covered, and <arg2> is optional, describing the material or object used for closing or covering <arg1>. If <arg2> is omitted, the closing is done without any specified covering.',
 'adjust': 'adjust(<arg1>, <arg2>) is used to modify the position or settings of objects or items. <arg1> is mandatory and specifies the primary object to adjust, while <arg2> is optional and used for adjustments involving a specific secondary object or location relative to the first.',
 'arrange': 'arrange(<arg1>, <arg2>) is used to organize objects systematically within a predefined space. <arg1> refers to the items to be arranged, while <arg2> is optional and specifies the area or container where these items will be organized. If <arg2> is omitted, the items are arranged in a default designated space.',
 'open': "open(<arg1>, <arg2>) is used to manipulate the state of various containers or coverings by opening them. <arg1> refers to the primary object or container that needs to be opened, like a 'pot' or 'drawer'. <arg2> is optional and specifies a secondary descriptor or specific part of the primary object, like 'top' or 'front', indicating a particular method or area of opening.",
 'walk': 'walk(<arg1>, <arg2>) is used to move an entity towards a specified location within an environment. <arg1> refers to the primary location or object the entity should head towards, and <arg2> refers to optional additional parameters that provide extra directional or contextual details to refine the movement.',
 'empty': 'empty(<arg1>, <arg2>) is used to transfer a specified item from one holding medium to another specified container. <arg1> refers to the item being transferred, while <arg2> is the destination container where the item is moved to.',
 'move': 'move(<arg1>, <arg2>) is used to transfer items from one place to another. <arg1> refers to the item that is being moved. <arg2> is optional and specifies where the item should be placed; if omitted, it indicates the item is moved without a specific destination in mind, likely for clearing space or as an intermediate step.',
 'push': 'push(<arg1>, <arg2>) is used to initiate a push action on various objects or elements. <arg1> refers to the main object or element to be pushed, and <arg2> is optional and used to specify a particular part or aspect of <arg1> for a more precise push action.',
 'clean': 'clean(<arg1>, <arg2>) is used to cleanse various items, which may include food or non-food objects. <arg1> refers to the primary item that requires cleaning, while <arg2> is optional and specifies additional items or the context like the cleaning environment or method. If <arg2> is omitted, the function adapts its operation to effectively clean <arg1> alone.',
 'rotate': 'rotate(<arg1>, <arg2>) is used to turn or move an item, typically in a culinary context. <arg1> refers to the item that needs to be rotated. <arg2> is optional and describes the utensil or tool used to facilitate the rotation. If <arg2> is omitted, the item is rotated manually or with a default method.',
 'serve': 'serve(<arg1>, <arg2>) is used to manage the distribution or placement of items. <arg1> refers to the item to be served or used, and <arg2> is optional, indicating the person or the hand (right or left) that will handle the item. If <arg2> is omitted, the item is handled by default means.',
 'shell': 'shell(<arg1>, <arg2>) is used to remove the outer covering from items, typically food-related like seeds, vegetables, and fruits. <arg1> is mandatory and specifies the item from which the shell or outer layer needs removal. <arg2> is optional and indicates any tool that might assist in the shelling process, such as a knife or fork. If <arg2> is omitted, the item is shelled using standard methods.',
 'turn_on': 'turn_on(<arg1>, <arg2>, etc) is used to activate one or multiple household or industrial appliances. <arg1> is mandatory and refers to the primary appliance that needs to be activated. <arg2>, etc, represent additional appliances that can be optionally activated simultaneously.',
 'turn_off': "turn_off(<arg1>) is used to deactivate various devices or utilities. <arg1> refers to the object or device to be deactivated, such as a 'socket', 'tap', or 'blending machine'.",
 'cut': 'cut(<arg1>, <arg2>) is used to perform the action of cutting on various items. <arg1> refers to the item to be cut, which is mandatory. <arg2> is optional and denotes the tool used for cutting; if <arg2> is omitted, a standard cutting tool is assumed.',
 'throw': 'throw(<arg1>, <arg2>) is used to dispose of or place an object in a specified or default location. <arg1> refers to the item to be disposed of or relocated, whereas <arg2> is optional and designates the location where the item should be placed. If <arg2> is omitted, the function selects a default disposal method or location based on the item or context.',
 'mix': 'mix(<arg1>, <arg2>) is used to combine or stir ingredients, typically in a cooking context. <arg1> refers to the item or ingredients to be mixed, and <arg2> is optional and denotes the tool used for mixing, such as a spoon or paddle. When <arg2> is omitted, the method of mixing is unspecified or assumed to be manual.',
 'touch': 'touch(<arg1>, <arg2>) is used to simulate the action of touching various items or materials. <arg1> refers to the object or material that is the primary focus of the action, whereas <arg2> is optional and provides additional detail on a specific part of the item to touch, assuming a generic aspect if omitted.',
 'eat': "eat(<arg1>, <arg2>) is used to perform the action of consuming a specified item. <arg1> refers to the item to be consumed. <arg2> is optional and describes the method by which the food is to be eaten, for example, 'slowly'.",
 'pull': 'pull(<arg1>, <arg2>) is used to simulate the action of pulling something within a specific context. <arg1> refers to the object that is being pulled, such as a drawer or an oven grill. <arg2> is optional and describes a secondary reference or location, like a pan or a steel cabinet, which adds context to where the object is located or what it is associated with. If <arg2> is omitted, the action focuses solely on <arg1>.',
 'unfold': 'unfold(<arg1>, <arg2>=None) is used to expand or open various types of items. <arg1> refers to the item to be unfolded, such as fabric, body parts, or food items. <arg2> is optional and allows for additional specifications on how the unfolding should be performed, tailored based on the nature of the item. If <arg2> is omitted, basic operations are performed.',
 'dip': "dip(<arg1>, <arg2>) is used to immerse an item into a container. <arg1> refers to the item to be dipped, such as 'dough' or 'hand', and <arg2> describes the container like 'bowl of water' or 'flour'. This function facilitates operations involving coating or soaking an item.",
 'observe': 'observe(<arg1>) is used to examine the specified environment or objects. <arg1> refers to an array containing one or more strings that describe what should be focused on during the observation. At least one string is mandatory to define the scope of observation, while additional strings are optional to provide more detail.',
 'taste': 'taste(<arg1>, <arg2>) is used to simulate the action of tasting a specified item with or without a utensil. <arg1> refers to what is being tasted, such as food or soup. <arg2> is optional and specifies the utensil used for tasting, like a spoon. If <arg2> is omitted, the action of tasting is assumed to be done without any specific utensil.',
 'apply': "apply(<arg1>, <arg2>) is used to perform operations involving the application or manipulation of cooking ingredients or tools. <arg1> refers to the primary material or tool being used, such as 'flour' or 'oil'. <arg2> is optional and typically refers to the target where <arg1> is applied, like 'dough' or 'frying pan'.",
 'switch': 'switch(<arg1>) is used to change or replace the current tool in use within a system or application. <arg1> corresponds to the name of the tool that the function will switch to.',
 'roll': "roll(<arg1>, <arg2>) is used to flatten or shape an item using a tool. <arg1> refers to the item to be rolled, such as dough or foil. <arg2> is optional and indicates the tool used for rolling, like a 'rolling pin' or 'rolling board'. If <arg2> is not specified, a default tool or method is used to roll <arg1>.",
 'lay': 'lay(<arg1>, <arg2>) is used to place objects or substances within a specific environment or a default setting if not specified. <arg1> refers to what is being placed, and <arg2> is optional and defines where the item is placed.',
 'gesture': 'gesture(<arg1>, <arg2>, etc) is used to perform low-level actions based on the type of gesture or action specified. <arg1> is mandatory and refers to the string specifying the type of gesture or action to be executed. <arg2> is optional and allows for additional details or modifications to the gesture when necessary.',
 'steer': 'steer(<arg1>, <arg2>, etc) is used to manipulate or interact with an object in a controlled environment. <arg1> refers to any object that requires handling or operation. <arg2> is optional, enhancing or specifying the nature of the interaction.',
 'operate': 'operate(<arg1>, <arg2>) is used to activate or manage a specified device. <arg1> refers to the name of the device being operated, while <arg2> is optional and allows specific operational parameters to be passed, such as temperature, duration, or intensity.',
 'store': 'store(<arg1>, <arg2>) is used to log or record items into a storage system. <arg1> refers to the list of items to be stored, which can include a single item or multiple items listed together. <arg2> is optional and specifies where the items are to be stored, indicating the physical or logical grouping.',
 'tilt': 'tilt(<arg1>, <arg2>) is used to tip or angle an item, often to enable actions like pouring. <arg1> refers to the item that needs to be tilted. <arg2> is optional and defines the degree or direction of tilt. If <arg2> is omitted, a default tilt setting is used.',
 'lift': 'lift(<arg1>, <arg2>) is used to simulate the action of picking up or lifting an object or a group of objects. <arg1> refers to the primary object to be lifted, and <arg2> is optional, indicating an additional item or tool used alongside the primary object during the lifting process.',
 'scrape': "scrape(<arg1>, <arg2>) is used to perform the action of scraping one item against another. <arg1> refers to the item to be scraped, which is mandatory, such as 'cabbage' or 'vegetables'. <arg2> is optional and refers to the surface or tool against which the item is scraped, like 'board' or 'frying pan'. If <arg2> is omitted, the function defaults to a generic, predefined scraping context.",
 'bend': 'bend(<arg1>, <arg2>, <arg3>) is used to modify the shape or structure of an object. <arg1> refers to the object undergoing the bending. <arg2> and <arg3> are optional and specify the degree and the direction of the bend, respectively, allowing for precise control over the bending process.',
 'hit': 'hit(<arg1>, <arg2>) is used to simulate the action of one object striking another. <arg1> refers to the primary object being hit, while <arg2> is optional and indicates any additional object used in the hitting action, such as a tool.',
 'reduce_heat': 'reduce_heat(<arg1>, <arg2>) is used to lower the temperature or heat output of a specific device. <arg1> refers to the device on which the heat reduction is to be applied, and <arg2> is optional and provides an interface or method for achieving the heat reduction, allowing for precise control when specified.',
 'rub': 'rub(<arg1>, <arg2>) is used to simulate the action of rubbing an object or surface. <arg1> refers to the primary object that is being rubbed, and <arg2> is optional, referring to a secondary object or surface involved in the rubbing, which can enhance or alter the rubbing context. If <arg2> is omitted, the rubbing action is considered to be performed solely with <arg1>.',
 'add': 'add(<arg1>, <arg2>) is used to simulate placing an item into a container or context within a simulated environment. <arg1> refers to the object to be added, which is mandatory. <arg2> is optional and specifies the location or receptacle for the item. If <arg2> is omitted, the item is added to a default location or context.',
 'mould': 'mould(<arg1>) is used to shape or form a material into a desired structure. <arg1> refers to the substance that needs to be shaped, such as clay, dough, or plastic.',
 'knead': 'knead(<arg1>, <arg2>) is used to manipulate and prepare materials. <arg1> refers to the primary material to be kneaded, such as dough or clay. <arg2> is optional and denotes the surface or item against which the kneading is performed, like a tray or a rolling board.',
 'stop': "stop(<arg1>, <arg2>) is used to terminate an ongoing process. <arg1> refers to the type of process being stopped, such as 'liquid'. <arg2> is optional and specifies the equipment involved, like 'gas cooker'. If <arg2> is not provided, the function defaults to stopping all processes related to <arg1>.",
 'cook': 'cook(<arg1>, <arg2>) is used to simulate the cooking process of a specified ingredient with or without a utensil. <arg1> refers to the item to be cooked, which is a mandatory argument. <arg2> is optional and specifies the tool used in the cooking process, defaulting to none if not provided.',
 'rest': 'rest(<arg1>, <arg2>) is used to model the passive placement of one object against or on another. <arg1> refers to the primary object that is being supported or placed, while <arg2> is optional and refers to the object or surface against which <arg1> is resting. If <arg2> is omitted, the function defaults to a predetermined resting position or surface.',
 'increase_temperature': 'increase_temperature(<arg1>, <arg2>) is used to raise the temperature of a device using a control mechanism. <arg1> refers to the device whose temperature needs to be increased, such as a cooker or heater. <arg2> is optional and refers to the specific method or interface, like a control knob or button, used to increase the temperature; if not specified, a default method is used.',
 'dab': 'dab(<arg1>, <arg2>) is used to absorb or blot excess liquid or substances from items. <arg1> refers to the object that requires dabbing, while <arg2> is optional and specifies the material used for dabbing. If <arg2> is omitted, a standard method of dabbing is applied.',
 'fix': 'fix(<arg1>, <arg2>) is used to attach or affix <arg1> to <arg2>. <arg1> refers to the object or component that needs to be fixed, while <arg2> is optional and identifies the target object or location to which <arg1> will be attached. If <arg2> is omitted, <arg1> is attached to a default object or location.',
 'dry': 'dry(<arg1>, <arg2>) is used to remove moisture from specified items. <arg1> refers to the item needing drying, like "hands" or "mango." <arg2> is optional and indicates the material used to aid the drying, such as "towel" or "napkin."',
 'hang': 'hang(<arg1>, <arg2>) is used to place an object onto a specified or default location for storage or accessibility. <arg1> refers to the object to be hung, and <arg2> is optional and denotes the location where the object should be placed. If <arg2> is omitted, a default location is used.',
 'tie': 'tie(<arg1>, <arg2>) is used to wrap or secure items. <arg1> refers to the material used for tying, such as strings or wraps. <arg2> is optional and indicates additional materials or conditions that might affect the tying process, such as environmental factors or secondary materials.',
 'sprinkle': 'sprinkle(<arg1>, <arg2>) is used to apply a substance over a surface or object. <arg1> refers to the material to be sprinkled, which is mandatory. <arg2> is optional and defines the surface or object where <arg1> is to be applied. If <arg2> is omitted, the substance is applied to a default location.',
 'swing': 'swing(<arg1>) is used to alter or move an object in a predefined manner. <arg1> refers to the object being manipulated and the specific actions depend on the nature of this object.',
 'fill': 'fill(<arg1>, <arg2>) is used to insert a specified substance into a designated container. <arg1> refers to the container that will contain the substance, and <arg2> describes the substance to be filled into the container.',
 'wear': 'wear(<arg1>, <arg2>, <arg3>) is used to simulate the action of dressing a character or entity with a specific item. <arg1> is mandatory and refers to the item to be worn, described as a string. <arg2> and <arg3> are optional, allowing for customization of style and size, respectively.',
 'unsure': "unsure(<arg1>, <arg2>, etc) is used to perform an ambiguous action based on the provided context or data. <arg1> is a mandatory parameter that provides the necessary context or data for the operation of the function. <arg2> and other additional arguments are optional and enhance the function's flexibility and adaptability to varying use cases.",
 'sort': 'sort(<arg1>, <arg2>) is used to organize or prioritize items based on specific criteria. <arg1> is mandatory and specifies the operation to be performed, while <arg2> is optional and includes the items to be sorted. This function can be used with varying numbers of arguments to adapt to different sorting requirements or settings.',
 'stretch': 'stretch(<arg1>) is used to modify the physical state of a malleable material by elongating or thinning it. <arg1> refers to the malleable material that is altered by the function.',
 'squeeze': 'squeeze(<arg1>, <arg2>, etc) is used to compress or reduce the size of various types of input objects. <arg1> refers to the object or substance to be compressed. <arg2> and other optional arguments can be added to modify the function based on the specifics of the compression or the context in which it is applied.',
 'flatten': 'flatten(<arg1>, <arg2>) is used to press and spread a material into a flatter shape. <arg1> is mandatory and specifies the material to be flattened, while <arg2> is optional and represents a tool used to assist in the flattening process. This function is generally used when a uniform thickness is desired or to prepare the material for further processing.',
 'climb': 'climb(<arg1>) is used to simulate or command an entity to ascend or mount a specified target. <arg1> refers to the object or location that the entity should climb onto.',
 'interact': 'interact(<arg1>, <arg2>) is used to perform interactions with various entities or objects. <arg1> refers to the entity or object to interact with, which is mandatory. <arg2> is optional and specifies the method or type of interaction desired; if omitted, it defaults to a standard interaction mode.'}
 [end of actionable function and documentation]
Based on current task progress in the given video and the low-level actionable actions provided, you will need to make one or more function calls in order to achieve the mid-level step described in the question.
Respond needs to strictly be a list of these actionable functions following this format: \""fuction1(args)","fuction2(args)","fuction3(args)",....
Besides these functions, your response should not contain anything else, these functions should not be numbered or explained, simply separated by commas and output directly.
For example: \""put(jar, cabinet)","grab(jar)","mix(jar)","put(jar, cabinet)"\".
You should not include any other text in your response.
'''

m2l_text_prompt ='''
Here are a set of actionable functions below.
[begin of actionable function and documentation]
{'put': 'put(<arg1>, <arg2>) is used to place an object at a specified or default location. <arg1> refers to the item to be placed, whereas <arg2> is optional and specifies the location where the item should be placed. If <arg2> is omitted, the item is placed in a generic, predefined area.',
 'grab': 'grab(<arg1>, <arg2>) is used to simulate the action of grasping or picking up objects, especially in a kitchen setting. <arg1> refers to the primary object to be grabbed, while <arg2> is optional and denotes an associated tool or container that aids in handling or processing the primary object.',
 'talk': "talk(<arg1>, <arg2>) is used to simulate a conversation scenario with specific entities. <arg1> is mandatory and specifies the primary entity involved in the conversation, such as a 'woman', 'man', or 'person'. <arg2> is optional and typically represents a secondary entity or context within the conversation, providing additional detail or focus.",
 'close': 'close(<arg1>, <arg2>) is used to encapsulate or seal an item, either partially or completely. <arg1> refers to the object to be closed or covered, and <arg2> is optional, describing the material or object used for closing or covering <arg1>. If <arg2> is omitted, the closing is done without any specified covering.',
 'adjust': 'adjust(<arg1>, <arg2>) is used to modify the position or settings of objects or items. <arg1> is mandatory and specifies the primary object to adjust, while <arg2> is optional and used for adjustments involving a specific secondary object or location relative to the first.',
 'arrange': 'arrange(<arg1>, <arg2>) is used to organize objects systematically within a predefined space. <arg1> refers to the items to be arranged, while <arg2> is optional and specifies the area or container where these items will be organized. If <arg2> is omitted, the items are arranged in a default designated space.',
 'open': "open(<arg1>, <arg2>) is used to manipulate the state of various containers or coverings by opening them. <arg1> refers to the primary object or container that needs to be opened, like a 'pot' or 'drawer'. <arg2> is optional and specifies a secondary descriptor or specific part of the primary object, like 'top' or 'front', indicating a particular method or area of opening.",
 'walk': 'walk(<arg1>, <arg2>) is used to move an entity towards a specified location within an environment. <arg1> refers to the primary location or object the entity should head towards, and <arg2> refers to optional additional parameters that provide extra directional or contextual details to refine the movement.',
 'empty': 'empty(<arg1>, <arg2>) is used to transfer a specified item from one holding medium to another specified container. <arg1> refers to the item being transferred, while <arg2> is the destination container where the item is moved to.',
 'move': 'move(<arg1>, <arg2>) is used to transfer items from one place to another. <arg1> refers to the item that is being moved. <arg2> is optional and specifies where the item should be placed; if omitted, it indicates the item is moved without a specific destination in mind, likely for clearing space or as an intermediate step.',
 'push': 'push(<arg1>, <arg2>) is used to initiate a push action on various objects or elements. <arg1> refers to the main object or element to be pushed, and <arg2> is optional and used to specify a particular part or aspect of <arg1> for a more precise push action.',
 'clean': 'clean(<arg1>, <arg2>) is used to cleanse various items, which may include food or non-food objects. <arg1> refers to the primary item that requires cleaning, while <arg2> is optional and specifies additional items or the context like the cleaning environment or method. If <arg2> is omitted, the function adapts its operation to effectively clean <arg1> alone.',
 'rotate': 'rotate(<arg1>, <arg2>) is used to turn or move an item, typically in a culinary context. <arg1> refers to the item that needs to be rotated. <arg2> is optional and describes the utensil or tool used to facilitate the rotation. If <arg2> is omitted, the item is rotated manually or with a default method.',
 'serve': 'serve(<arg1>, <arg2>) is used to manage the distribution or placement of items. <arg1> refers to the item to be served or used, and <arg2> is optional, indicating the person or the hand (right or left) that will handle the item. If <arg2> is omitted, the item is handled by default means.',
 'shell': 'shell(<arg1>, <arg2>) is used to remove the outer covering from items, typically food-related like seeds, vegetables, and fruits. <arg1> is mandatory and specifies the item from which the shell or outer layer needs removal. <arg2> is optional and indicates any tool that might assist in the shelling process, such as a knife or fork. If <arg2> is omitted, the item is shelled using standard methods.',
 'turn_on': 'turn_on(<arg1>, <arg2>, etc) is used to activate one or multiple household or industrial appliances. <arg1> is mandatory and refers to the primary appliance that needs to be activated. <arg2>, etc, represent additional appliances that can be optionally activated simultaneously.',
 'turn_off': "turn_off(<arg1>) is used to deactivate various devices or utilities. <arg1> refers to the object or device to be deactivated, such as a 'socket', 'tap', or 'blending machine'.",
 'cut': 'cut(<arg1>, <arg2>) is used to perform the action of cutting on various items. <arg1> refers to the item to be cut, which is mandatory. <arg2> is optional and denotes the tool used for cutting; if <arg2> is omitted, a standard cutting tool is assumed.',
 'throw': 'throw(<arg1>, <arg2>) is used to dispose of or place an object in a specified or default location. <arg1> refers to the item to be disposed of or relocated, whereas <arg2> is optional and designates the location where the item should be placed. If <arg2> is omitted, the function selects a default disposal method or location based on the item or context.',
 'mix': 'mix(<arg1>, <arg2>) is used to combine or stir ingredients, typically in a cooking context. <arg1> refers to the item or ingredients to be mixed, and <arg2> is optional and denotes the tool used for mixing, such as a spoon or paddle. When <arg2> is omitted, the method of mixing is unspecified or assumed to be manual.',
 'touch': 'touch(<arg1>, <arg2>) is used to simulate the action of touching various items or materials. <arg1> refers to the object or material that is the primary focus of the action, whereas <arg2> is optional and provides additional detail on a specific part of the item to touch, assuming a generic aspect if omitted.',
 'eat': "eat(<arg1>, <arg2>) is used to perform the action of consuming a specified item. <arg1> refers to the item to be consumed. <arg2> is optional and describes the method by which the food is to be eaten, for example, 'slowly'.",
 'pull': 'pull(<arg1>, <arg2>) is used to simulate the action of pulling something within a specific context. <arg1> refers to the object that is being pulled, such as a drawer or an oven grill. <arg2> is optional and describes a secondary reference or location, like a pan or a steel cabinet, which adds context to where the object is located or what it is associated with. If <arg2> is omitted, the action focuses solely on <arg1>.',
 'unfold': 'unfold(<arg1>, <arg2>=None) is used to expand or open various types of items. <arg1> refers to the item to be unfolded, such as fabric, body parts, or food items. <arg2> is optional and allows for additional specifications on how the unfolding should be performed, tailored based on the nature of the item. If <arg2> is omitted, basic operations are performed.',
 'dip': "dip(<arg1>, <arg2>) is used to immerse an item into a container. <arg1> refers to the item to be dipped, such as 'dough' or 'hand', and <arg2> describes the container like 'bowl of water' or 'flour'. This function facilitates operations involving coating or soaking an item.",
 'observe': 'observe(<arg1>) is used to examine the specified environment or objects. <arg1> refers to an array containing one or more strings that describe what should be focused on during the observation. At least one string is mandatory to define the scope of observation, while additional strings are optional to provide more detail.',
 'taste': 'taste(<arg1>, <arg2>) is used to simulate the action of tasting a specified item with or without a utensil. <arg1> refers to what is being tasted, such as food or soup. <arg2> is optional and specifies the utensil used for tasting, like a spoon. If <arg2> is omitted, the action of tasting is assumed to be done without any specific utensil.',
 'apply': "apply(<arg1>, <arg2>) is used to perform operations involving the application or manipulation of cooking ingredients or tools. <arg1> refers to the primary material or tool being used, such as 'flour' or 'oil'. <arg2> is optional and typically refers to the target where <arg1> is applied, like 'dough' or 'frying pan'.",
 'switch': 'switch(<arg1>) is used to change or replace the current tool in use within a system or application. <arg1> corresponds to the name of the tool that the function will switch to.',
 'roll': "roll(<arg1>, <arg2>) is used to flatten or shape an item using a tool. <arg1> refers to the item to be rolled, such as dough or foil. <arg2> is optional and indicates the tool used for rolling, like a 'rolling pin' or 'rolling board'. If <arg2> is not specified, a default tool or method is used to roll <arg1>.",
 'lay': 'lay(<arg1>, <arg2>) is used to place objects or substances within a specific environment or a default setting if not specified. <arg1> refers to what is being placed, and <arg2> is optional and defines where the item is placed.',
 'gesture': 'gesture(<arg1>, <arg2>, etc) is used to perform low-level actions based on the type of gesture or action specified. <arg1> is mandatory and refers to the string specifying the type of gesture or action to be executed. <arg2> is optional and allows for additional details or modifications to the gesture when necessary.',
 'steer': 'steer(<arg1>, <arg2>, etc) is used to manipulate or interact with an object in a controlled environment. <arg1> refers to any object that requires handling or operation. <arg2> is optional, enhancing or specifying the nature of the interaction.',
 'operate': 'operate(<arg1>, <arg2>) is used to activate or manage a specified device. <arg1> refers to the name of the device being operated, while <arg2> is optional and allows specific operational parameters to be passed, such as temperature, duration, or intensity.',
 'store': 'store(<arg1>, <arg2>) is used to log or record items into a storage system. <arg1> refers to the list of items to be stored, which can include a single item or multiple items listed together. <arg2> is optional and specifies where the items are to be stored, indicating the physical or logical grouping.',
 'tilt': 'tilt(<arg1>, <arg2>) is used to tip or angle an item, often to enable actions like pouring. <arg1> refers to the item that needs to be tilted. <arg2> is optional and defines the degree or direction of tilt. If <arg2> is omitted, a default tilt setting is used.',
 'lift': 'lift(<arg1>, <arg2>) is used to simulate the action of picking up or lifting an object or a group of objects. <arg1> refers to the primary object to be lifted, and <arg2> is optional, indicating an additional item or tool used alongside the primary object during the lifting process.',
 'scrape': "scrape(<arg1>, <arg2>) is used to perform the action of scraping one item against another. <arg1> refers to the item to be scraped, which is mandatory, such as 'cabbage' or 'vegetables'. <arg2> is optional and refers to the surface or tool against which the item is scraped, like 'board' or 'frying pan'. If <arg2> is omitted, the function defaults to a generic, predefined scraping context.",
 'bend': 'bend(<arg1>, <arg2>, <arg3>) is used to modify the shape or structure of an object. <arg1> refers to the object undergoing the bending. <arg2> and <arg3> are optional and specify the degree and the direction of the bend, respectively, allowing for precise control over the bending process.',
 'hit': 'hit(<arg1>, <arg2>) is used to simulate the action of one object striking another. <arg1> refers to the primary object being hit, while <arg2> is optional and indicates any additional object used in the hitting action, such as a tool.',
 'reduce_heat': 'reduce_heat(<arg1>, <arg2>) is used to lower the temperature or heat output of a specific device. <arg1> refers to the device on which the heat reduction is to be applied, and <arg2> is optional and provides an interface or method for achieving the heat reduction, allowing for precise control when specified.',
 'rub': 'rub(<arg1>, <arg2>) is used to simulate the action of rubbing an object or surface. <arg1> refers to the primary object that is being rubbed, and <arg2> is optional, referring to a secondary object or surface involved in the rubbing, which can enhance or alter the rubbing context. If <arg2> is omitted, the rubbing action is considered to be performed solely with <arg1>.',
 'add': 'add(<arg1>, <arg2>) is used to simulate placing an item into a container or context within a simulated environment. <arg1> refers to the object to be added, which is mandatory. <arg2> is optional and specifies the location or receptacle for the item. If <arg2> is omitted, the item is added to a default location or context.',
 'mould': 'mould(<arg1>) is used to shape or form a material into a desired structure. <arg1> refers to the substance that needs to be shaped, such as clay, dough, or plastic.',
 'knead': 'knead(<arg1>, <arg2>) is used to manipulate and prepare materials. <arg1> refers to the primary material to be kneaded, such as dough or clay. <arg2> is optional and denotes the surface or item against which the kneading is performed, like a tray or a rolling board.',
 'stop': "stop(<arg1>, <arg2>) is used to terminate an ongoing process. <arg1> refers to the type of process being stopped, such as 'liquid'. <arg2> is optional and specifies the equipment involved, like 'gas cooker'. If <arg2> is not provided, the function defaults to stopping all processes related to <arg1>.",
 'cook': 'cook(<arg1>, <arg2>) is used to simulate the cooking process of a specified ingredient with or without a utensil. <arg1> refers to the item to be cooked, which is a mandatory argument. <arg2> is optional and specifies the tool used in the cooking process, defaulting to none if not provided.',
 'rest': 'rest(<arg1>, <arg2>) is used to model the passive placement of one object against or on another. <arg1> refers to the primary object that is being supported or placed, while <arg2> is optional and refers to the object or surface against which <arg1> is resting. If <arg2> is omitted, the function defaults to a predetermined resting position or surface.',
 'increase_temperature': 'increase_temperature(<arg1>, <arg2>) is used to raise the temperature of a device using a control mechanism. <arg1> refers to the device whose temperature needs to be increased, such as a cooker or heater. <arg2> is optional and refers to the specific method or interface, like a control knob or button, used to increase the temperature; if not specified, a default method is used.',
 'dab': 'dab(<arg1>, <arg2>) is used to absorb or blot excess liquid or substances from items. <arg1> refers to the object that requires dabbing, while <arg2> is optional and specifies the material used for dabbing. If <arg2> is omitted, a standard method of dabbing is applied.',
 'fix': 'fix(<arg1>, <arg2>) is used to attach or affix <arg1> to <arg2>. <arg1> refers to the object or component that needs to be fixed, while <arg2> is optional and identifies the target object or location to which <arg1> will be attached. If <arg2> is omitted, <arg1> is attached to a default object or location.',
 'dry': 'dry(<arg1>, <arg2>) is used to remove moisture from specified items. <arg1> refers to the item needing drying, like "hands" or "mango." <arg2> is optional and indicates the material used to aid the drying, such as "towel" or "napkin."',
 'hang': 'hang(<arg1>, <arg2>) is used to place an object onto a specified or default location for storage or accessibility. <arg1> refers to the object to be hung, and <arg2> is optional and denotes the location where the object should be placed. If <arg2> is omitted, a default location is used.',
 'tie': 'tie(<arg1>, <arg2>) is used to wrap or secure items. <arg1> refers to the material used for tying, such as strings or wraps. <arg2> is optional and indicates additional materials or conditions that might affect the tying process, such as environmental factors or secondary materials.',
 'sprinkle': 'sprinkle(<arg1>, <arg2>) is used to apply a substance over a surface or object. <arg1> refers to the material to be sprinkled, which is mandatory. <arg2> is optional and defines the surface or object where <arg1> is to be applied. If <arg2> is omitted, the substance is applied to a default location.',
 'swing': 'swing(<arg1>) is used to alter or move an object in a predefined manner. <arg1> refers to the object being manipulated and the specific actions depend on the nature of this object.',
 'fill': 'fill(<arg1>, <arg2>) is used to insert a specified substance into a designated container. <arg1> refers to the container that will contain the substance, and <arg2> describes the substance to be filled into the container.',
 'wear': 'wear(<arg1>, <arg2>, <arg3>) is used to simulate the action of dressing a character or entity with a specific item. <arg1> is mandatory and refers to the item to be worn, described as a string. <arg2> and <arg3> are optional, allowing for customization of style and size, respectively.',
 'unsure': "unsure(<arg1>, <arg2>, etc) is used to perform an ambiguous action based on the provided context or data. <arg1> is a mandatory parameter that provides the necessary context or data for the operation of the function. <arg2> and other additional arguments are optional and enhance the function's flexibility and adaptability to varying use cases.",
 'sort': 'sort(<arg1>, <arg2>) is used to organize or prioritize items based on specific criteria. <arg1> is mandatory and specifies the operation to be performed, while <arg2> is optional and includes the items to be sorted. This function can be used with varying numbers of arguments to adapt to different sorting requirements or settings.',
 'stretch': 'stretch(<arg1>) is used to modify the physical state of a malleable material by elongating or thinning it. <arg1> refers to the malleable material that is altered by the function.',
 'squeeze': 'squeeze(<arg1>, <arg2>, etc) is used to compress or reduce the size of various types of input objects. <arg1> refers to the object or substance to be compressed. <arg2> and other optional arguments can be added to modify the function based on the specifics of the compression or the context in which it is applied.',
 'flatten': 'flatten(<arg1>, <arg2>) is used to press and spread a material into a flatter shape. <arg1> is mandatory and specifies the material to be flattened, while <arg2> is optional and represents a tool used to assist in the flattening process. This function is generally used when a uniform thickness is desired or to prepare the material for further processing.',
 'climb': 'climb(<arg1>) is used to simulate or command an entity to ascend or mount a specified target. <arg1> refers to the object or location that the entity should climb onto.',
 'interact': 'interact(<arg1>, <arg2>) is used to perform interactions with various entities or objects. <arg1> refers to the entity or object to interact with, which is mandatory. <arg2> is optional and specifies the method or type of interaction desired; if omitted, it defaults to a standard interaction mode.'}
 [end of actionable function and documentation]
Based on the low-level actionable actions provided, you will need to make one or more function calls in order to achieve the mid-level step described in the question.
Respond needs to strictly be a list of these actionable functions following this format: \""fuction1(args)","fuction2(args)","fuction3(args)",....
Besides these functions, your response should not contain anything else,these functions should not be numbered or explained, simply separated by commas and output directly.
For example: \""put(jar, cabinet)","grab(jar)","mix(jar)","put(jar, cabinet)"\".
You should not include any other text in your response.
Question:
'''