1  |     |  
 2  |  type Ai21 = {   |  
 3  |    apiKey: string;   |  
 4  |  };   |  
 5  |     |  
 6  |   * Create Plan   |  
 7  |   *   |  
 8  |   */   |  
 9  |  export async function main(   |  
 10  |    auth: Ai21,   |  
 11  |    assistant_id: string,   |  
 12  |    body: { code: string; schemas?: {}[] },   |  
 13  |  ) {   |  
 14  |    const url = new URL(   |  
 15  |      `https://api.ai21.com/studio/v1/assistants/${assistant_id}/plans`,   |  
 16  |    );   |  
 17  |  
   |  
 18  |    const response = await fetch(url, {   |  
 19  |      method: "POST",   |  
 20  |      headers: {   |  
 21  |        "Content-Type": "application/json",   |  
 22  |        Authorization: "Bearer " + auth.apiKey,   |  
 23  |      },   |  
 24  |      body: JSON.stringify(body),   |  
 25  |    });   |  
 26  |    if (!response.ok) {   |  
 27  |      const text = await response.text();   |  
 28  |      throw new Error(`${response.status} ${text}`);   |  
 29  |    }   |  
 30  |    return await response.json();   |  
 31  |  }   |  
 32  |  
   |