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_open_demo_prompt = [
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="-0.061 0.869 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="-0.101 0.774 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (-0.101)
    3. Align with handle's y position (0.774)
    4. Now push the handle toward left direction (0.199, 0.774, 0.160)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] -0.101
    [MOVE_Y] 0.774
    [PUSH] 0.199 0.774 0.200
""",
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.073 0.717 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.033 0.622 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (0.033)
    3. Align with handle's y position (0.622)
    4. Now push the handle toward left direction (0.333, 0.622, 0.200)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] 0.033
    [MOVE_Y] 0.622
    [PUSH] 0.333 0.622 0.200
""",
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.028 0.747 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="-0.012 0.652 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (-0.012)
    3. Align with handle's y position (0.652)
    4. Now push the handle toward left direction (0.288, 0.652, 0.200)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] -0.012
    [MOVE_Y] 0.652
    [PUSH] 0.288 0.652 0.200
""",
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="0.089 0.854 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="0.049 0.759 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (0.049)
    3. Align with handle's y position (0.759)
    4. Now push the handle toward left direction (0.349, 0.759, 0.200)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] 0.049
    [MOVE_Y] 0.759
    [PUSH] 0.349 0.759 0.200
""",
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="-0.012 0.758 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="-0.052 0.663 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (-0.052)
    3. Align with handle's y position (0.663)
    4. Now push the handle toward left direction (0.248, 0.663, 0.200)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] -0.052
    [MOVE_Y] 0.663
    [PUSH] 0.248 0.663 0.200
""",
    f"""
### Task Instruction: 
    Window Open

### Object Kinematic Knowledge:
    <hand pos="0.006 0.400 0.195"/>
    <joint pos="-0.033 0.814 0.160" type="slide" range="0 .2" axis="1 0 0"/>
    <handle pos="-0.073 0.719 0.200"/>

{guidance_prompt}

{action_prompt}

### Abstract Manipulation Sequence:
    1. Align with handle's z position (0.200)
    2. Go to handle's x position (-0.073)
    3. Align with handle's y position (0.719)
    4. Now push the handle toward left direction (0.227, 0.719, 0.200)

### 3D Manipulation Waypoints:
    [MOVE_Z] 0.200
    [MOVE_X] -0.073
    [MOVE_Y] 0.719
    [PUSH] 0.227 0.719 0.200
""",
]
