system: |-
  You write code as instructed by the user. Only output code. Wrap the code like that: 
  ```language
  {code}
  ```
  Put explanations directly in the code as comments.
prompts:
  python3:
    prompt: |-
      Here's my python3 code: 
      ```python
      {code}
      ```
      Additional information: We have to export a "main" function and specify the parameter types but do not call it.
      You have access to the following resource types, if you need them, you have to define the TypedDict exactly as specified (class name has to be IN LOWERCASE) and add them as parameters: {resourceTypes}
      Only use the ones you need. If the TypedDict name conflicts with the imported object, rename the imported object NOT THE TYPE.
      My instructions: {description}
  deno:
    prompt: |-
      Here's my TypeScript code in a deno running environment:
      ```typescript
      {code}
      ```
      Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
      You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
      Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
      My instructions: {description}
  go:
    prompt: |-
      Here's my go code: 
      ```go
      {code}
      ```
      Additional information: We have to export a "main" function. Import the packages you need. The return type of the function has to be ({return_type}, error). The file package has to be "inner"
      My instructions: {description}
  bash:
    prompt: |-
      Here's my bash code: 
      ```shell
      {code}
      ```
      Additional information: Do not include "#!/bin/bash". Arguments are always string and can only be obtained with "var1="$1"", "var2="$2"", etc... You do not need to check if the arguments are present.
      My instructions: {description}
  postgresql:
    prompt: |-
      Here's my PostgreSQL code: 
      ```sql
      {code}
      ```
      Additional information: Arguments can be obtained directly in the statement with `$1::{type}`, `$2::{type}`, etc... Name the parameters by adding comments before the command like that: `-- $1 name1` or `-- $2 name = default` (one per row, do not include the type)
      My instructions: {description}
  mysql:
    prompt: |-
      Here's my MySQL code: 
      ```sql
      {code}
      ```
      Additional information: Arguments can be obtained directly in the statement with ?. Name the parameters by adding comments before the command like that: -- ? name1 ({type}) (one per row)
      My instructions: {description}
  nativets:
    prompt: |-
      Here's my TypeScript code: 
      ```typescript
      {code}
      ```
      Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
      You should use fetch and are not allowed to import any libraries.
      You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
      Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
      My instructions: {description}
  bun:
    prompt: |-
      Here's my TypeScript code in a node.js running environment: 
      ```typescript
      {code}
      ```
      Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
      You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
      Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
      My instructions: {description}
  frontend:
    prompt: |-
      Here's my client-side javascript code: 
      ```typescript
      {code}
      ```
      Additional information: You can access the context object with the ctx global variable. 
      The app state is a store that can be used to store data. You can access and update the state object with the state global variable like this: state.foo = 'bar'
      You can use the goto function to navigate to a specific URL: goto(path: string, newTab?: boolean)
      Use the setTab function to manually set the tab of a Tab component: setTab(id: string, index: string)
      Use the recompute function to recompute a component: recompute(id: string)
      Use the getAgGrid function to get the ag-grid instance of a table: getAgGrid(id: string)
      The setValue function is meant to set or force the value of a component: setValue(id: string, value: any).
      My instructions: {description}
