guidance_prompt = """
### Guidance: 
    First generate abstract sequence, further convert into waypoints"""

action_prompt = """
### Actions for execution:
    [MOVE_X] target_x (grab)
    [MOVE_Y] target_y (grab)
    [MOVE_Z] target_z (grab)
    [GRIP] 
    [PUSH] target_x target_y target_z (grab)
    [PULL] target_x target_y target_z (grab)"""


####################################################################################################

window_close_demo_prompt = [
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.896 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.801 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.801)
    4. Now push the handle toward right direction (0.090, 0.801, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.801
    [PUSH] 0.090 0.801 0.240
""",
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.778 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.683 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.683)
    4. Now push the handle toward right direction (0.090, 0.683, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.683
    [PUSH] 0.090 0.683 0.240
""",
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.750 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.655 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.655)
    4. Now push the handle toward right direction (0.090, 0.655, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.655
    [PUSH] 0.090 0.655 0.240
""",
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.763 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.668 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.668)
    4. Now push the handle toward right direction (0.090, 0.668, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.668
    [PUSH] 0.090 0.668 0.240
""",
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.852 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.757 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.757)
    4. Now push the handle toward right direction (0.090, 0.757, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.757
    [PUSH] 0.090 0.757 0.240
""",
    f"""
### Task Instruction: 
    Window Close

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.000 0.777 0.200" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.210 0.682 0.240"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.240)
    2. Go to handle's x position (0.210)
    3. Align with handle's y position (0.682)
    4. Now push the handle toward right direction (0.090, 0.682, 0.240)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.240
    [MOVE_X] 0.210
    [MOVE_Y] 0.682
    [PUSH] 0.090 0.682 0.240
""",
]
