[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of shipping-calculator/manifest.json from the shipping-calculator VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "shipping-calculator",
  "version": "0.13.0",
  "title": "IO Base Component",
  "description": "IO Base component",
  "defaultLocale": "pt-BR",
  "builders": {
    "messages": "1.x",
    "store": "0.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.address-context": "0.x",
    "vtex.checkout-components": "0.x",
    "vtex.checkout-shipping": "0.x",
    "vtex.country-codes": "2.x",
    "vtex.formatted-price": "0.x",
    "vtex.native-types": "0.x",
    "vtex.order-manager": "0.x",
    "vtex.order-shipping": "0.x",
    "vtex.place-components": "0.x",
    "vtex.shipping-estimate-translator": "2.x",
    "vtex.styleguide": "9.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of course-template/manifest.json from the course-template VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "course-template",
  "vendor": "vtex",
  "version": "0.0.1",
  "title": "Course Example",
  "description": "Reference app for VTEX Courses using the Course Builder",
  "dependencies": {},
  "builders": {
    "docs": "0.x",
    "course": "0.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of release-notes/manifest.json from the release-notes VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "io-release-notes",
  "version": "0.28.2",
  "title": "VTEX IO Release Notes",
  "description": "VTEX IO weekly release notes",
  "builders": {
    "docs": "0.x"
  },
  "categories": [],
  "registries": [
    "smartcheckout"
  ],
  "settingsSchema": {},
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of pleisty-integration/README.md from the pleisty-integration VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Pleisty integration

### FstudioQA
- un bloc generic, care poate fi utilizat pentru in toate locurile unde exista recomandari obisnuite:
    Testing01 - cu hash: W_9cdd23ebded8f5cca0c08796669b29b9

- un bloc Footer Hero pentru a simula istoricul + recomandarile la fiecare produs din istoric:
    FooterHero Testing - cu hash: W_0cdc2f51f1677778efbdaf55de1d0814

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of pleisty-integration/package.json from the pleisty-integration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "YOURAPPNAME",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.4",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.3.2",
    "eslint-config-vtex-react": "^6.3.2",
    "husky": "^4.2.3",
    "lint-staged": "^10.1.1",
    "prettier": "^2.0.2",
    "typescript": "^3.8.3"
  },
  "dependencies": {
    "uuid": "^8.3.0"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of pleisty-integration/manifest.json from the pleisty-integration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "fstudio",
  "name": "pleisty-integration",
  "version": "0.1.9",
  "title": "Pleisty Integration",
  "description": "Pleisty Integration",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x"
  },
  "dependencies": {
    "vtex.format-currency": "0.x",
    "vtex.css-handles": "0.x",
    "vtex.slider-layout": "0.x",
    "vtex.pixel-interfaces": "1.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search-segment-resolver/policies.json from the search-segment-resolver VTEX app.

[Assistant]
Here's the implementation:

```json
[
  {
    "name": "resolve-graphql",
    "description": "Allows access to resolve a graphql request",
    "statements": [
      {
        "actions": ["post", "get"],
        "effect": "allow",
        "resources": [
          "vrn:vtex.search-segment-resolver:{{region}}:{{account}}:{{workspace}}:/_v/graphql"
        ]
      }
    ]
  }
]

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search-segment-resolver/README.md from the search-segment-resolver VTEX app.

[Assistant]
Here's the implementation:

```markdown
# search-segment-resolver

The `vtex.search-segment-resolver` is a boilerplate that you can use for you own implementation of the segment search (TODO: add the segment documentation link).

## Usage

1.  Fork this project.
2.  Change the `vendor` in the `manifest.json` file.
3.  Change the `searchSegment` function in the `/node/resolver/segmentSearch.ts` file. It will receive the `userEmail` as argument and must return an array of facets. Exanoke:

    ```javascript
    export const queries = {
        searchSegment: async (_: unknown, args: SearchSegmentInput, __: Context) => {
            const { userEmail } = args

            switch (userEmail) {
            case 'myclient@shoes.com':
                return [{ key: 'category-1', value: 'shoes' }]

            case 'myclient@shirts.com':
                return [{ key: 'category-1', value: 'shirt' }]

            case 'myclient@hats.com':
                return [{ key: 'category-1', value: 'hats' }]

            default:
                return []
            }
        },
    }
    ```
    3.5 If you want to call an external API, you can add a new client to the `node/clients` diredtory.
4. Link/install the app on your workspace.
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search-segment-resolver/package.json from the search-segment-resolver VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "search-segment-resolver",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.2.1",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^1.19.1",
    "typescript": "^3.7.5"
  }
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search-segment-resolver/manifest.json from the search-segment-resolver VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "search-segment-resolver",
  "version": "0.1.4",
  "title": "Search Segment Resolver",
  "description": "Implementation of the GraphQL schema for search segment API.",
  "builders": {
    "docs": "0.x",
    "node": "6.x"
  },
  "dependencies": {
    "vtex.messages": "1.x",
    "vtex.search-segment-graphql": "0.x",
    "vtex.store-graphql": "2.x",
    "vtex.search-session": "0.x"
  },
  "policies": [],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of store-messages/manifest.json from the store-messages VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema",
  "vendor": "vtex",
  "name": "store-messages",
  "version": "0.7.0",
  "title": "Store Messages",
  "description": "Messages from VTEX's Store",
  "builders": {
    "messages": "1.x",
    "docs": "0.x"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of b2b-cnae/package.json from the b2b-cnae VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "b2b-cnae",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "12.12.21",
    "@vtex/prettier-config": "0.1.3",
    "eslint": "6.8.0",
    "eslint-config-vtex": "12.0.3",
    "eslint-config-vtex-react": "6.0.3",
    "husky": "4.2.0",
    "lint-staged": "10.0.2",
    "prettier": "1.19.1",
    "typescript": "3.7.5"
  }
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of b2b-cnae/manifest.json from the b2b-cnae VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "b2b-cnae",
  "vendor": "vtex",
  "version": "1.1.0",
  "title": "CNAE App",
  "description": "",
  "mustUpdateAt": "2022-08-28",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.styleguide": "9.x"
  },
  "policies": [
    {
      "name": "vbase-read-write"
    },
    {
      "name": "update-app-settings"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "gateway.apiserpro.serpro.gov.br",
        "path": "*"
      }
    }
  ],
  "builders": {
    "react": "3.x",
    "graphql": "1.x",
    "node": "4.x",
    "messages": "1.x",
    "admin": "0.x",
    "docs": "0.x"
  },
  "settingsSchema": {
    "title": "CNAE Configuration",
    "type": "object",
    "properties": {
      "login": {
        "type": "string",
        "title": "SERPRO Login",
        "description": "Your login for the SERPRO service"
      },
      "password": {
        "type": "string",
        "title": "SERPRO Password",
        "description": "Your password for the SERPRO service"
      },
      "mandatoryForCompany": {
        "type": "boolean",
        "title": "Is Mandatory for companies?",
        "description": "Select if CNAE information is mandatory for companies"
      },
      "beginOfAcceptedRange": {
        "type": "string",
        "title": "Begin of accepted CNAE range",
        "description": "Begin of accepted CNAE range"
      },
      "tradePolicyId": {
        "type": "string",
        "title": "Trade policy id",
        "description": "Id of the trade policy to be aplied to the customers"
      },
      "token": {
        "type": "string",
        "title": "SERPRO Authenticated token",
        "description": "Token of Authentication after service return"
      }
    }
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of shop-review-interfaces/package.json from the shop-review-interfaces VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "shop-review-interfaces",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.3.1",
    "eslint": "7.12.1",
    "eslint-config-vtex": "^12.7.0",
    "eslint-config-vtex-react": "^6.7.0",
    "husky": "4.2.3",
    "lint-staged": "10.1.1",
    "prettier": "2.0.2",
    "typescript": "3.8.3"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of shop-review-interfaces/manifest.json from the shop-review-interfaces VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "shop-review-interfaces",
  "version": "0.3.1",
  "title": "Shop Review Interfaces",
  "description": "Interfaces for a merchant review app",
  "builders": {
    "messages": "1.x",
    "store": "0.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {}
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of carousel/package.json from the carousel VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "carousel",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.3.1",
    "eslint-config-vtex-react": "^6.3.1",
    "husky": "^4.2.3",
    "lint-staged": "^10.1.0",
    "prettier": "^2.0.2",
    "typescript": "^3.8.3"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of carousel/manifest.json from the carousel VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "carousel",
  "version": "2.12.2",
  "title": "Carousel",
  "description": "Carousel Component",
  "defaultLocale": "pt-BR",
  "builders": {
    "store": "0.x",
    "react": "3.x",
    "messages": "1.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "prereleasy": "bash lint.sh",
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.store-components": "3.x",
    "vtex.slider": "0.x",
    "vtex.store-icons": "0.x",
    "vtex.device-detector": "0.x",
    "vtex.css-handles": "0.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-price/package.json from the product-price VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "product-price",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --quiet --fix --ext ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"",
    "test": "cd ./react && yarn test",
    "lint:locales": "intl-equalizer",
    "locales:fix": "intl-equalizer --fix",
    "verify": "yarn lint && yarn lint:locales && yarn test"
  },
  "husky": {
    "hooks": {
      "pre-commit": "yarn lint && yarn lint:locales && yarn locales:fix",
      "pre-push": "yarn verify"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/intl-equalizer": "^2.3.0",
    "@vtex/prettier-config": "^0.1.3",
    "@vtex/tsconfig": "^0.4.4",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.2.1",
    "eslint-config-vtex-react": "^6.2.1",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^1.19.1",
    "typescript": "^3.7.5"
  },
  "version": "0.0.0",
  "intl-equalizer": {
    "referenceLocale": "en",
    "localeDirectory": "messages"
  }
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-price/manifest.json from the product-price VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "product-price",
  "version": "1.33.0",
  "title": "VTEX Product Price",
  "description": "Components used to show everything price related in the context of the product",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "messages": "1.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.native-types": "0.x",
    "vtex.product-context": "0.x",
    "vtex.format-currency": "0.x",
    "vtex.css-handles": "1.x",
    "vtex.product-summary-context": "0.x"
  },
  "registries": [
    "smartcheckout"
  ],
  "policies": [],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of physical-payments-sdk/README.md from the physical-payments-sdk VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Documentação técnica de integração com o VTEX inStore

## Overview

O fluxo de venda do inStore tem como um dos atores principais o app de pagamento. Esse app é independente do inStore, porém é necessário para que a compra seja finalizada. Pedidos de pagamento são enviados ao app pelo inStore e após a finalização do pagamento o app de pagamento deve responder ao inStore. Assim, completando o fluxo de compra.

Um protocolo de comunicação foi definido para formalizar essa comunicação entre o inStore e o app de pagamento. Esse protocolo define:
- O que deve ser enviado
- O que deve ser retornado
- Qual o meio de comunicação a ser utilizado

![arquitetura](https://github.com/vtex-apps/physical-payments-sdk/blob/main/image.png)

Além do protocolo, um SDK foi desenvolvido que implementa este protocolo e pode ser utilizado para abstrair parte dos desafios técnicos de implementação do protocolo.

## SDK

O SDK foi desenvolvido com o foco em Android nativo. O SDK disponibiliza:
- Classes que representam requisições de pagamento/estorno
- Classes que representam respostas de pagamento/estorno
- Classe abstrata que auxilia a implementação do mecanismo de comunicação.

### Deep Linking

O mecanismo utilizado para comunicação é o [Android Deep Link](https://developer.android.com/training/app-links) através de [Android intents](https://developer.android.com/reference/android/content/Intent). É preciso definir uma Android Activity que receba intents específicos com o scheme do Android para receber requisições de pagamento. Da mesma forma, é preciso criar intents e iniciar atividades com eles para enviar respostas ao inStore.

## Configuração Inicial

### Integração com SDK

Adicionar a dependência do SDK no projeto Android. Por exemplo, caso seu projeto utiliza gradle, adicione dentro da tag de _dependencies_ a seguinte linha:

```gradle
dependencies {
   ...
   implementation files('<path>/VTEXPaymentSDK_0.0.1.aar')
   ...
}
```

### Android Manifest

Adicione ao AndroidManifest.xml dentro da tag da atividade, que irá realizar o processamento de requisições de pagamento, um bloco de `<intent-filter>` para que o Android disponibilize a comunicação entre aplicativos.

```xml
<activity
 android:name="<PaymentActivity>">
 ...
 <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data android:scheme="<scheme>" android:host="payment" />
     <data android:scheme="<scheme>" android:host="payment-reversal" />
 </intent-filter>
 ...
</activity>
```

> O campo `<PaymentActivity>` representa o nome da atividade que irá processar as requisições de pagamento utilizando os módulos disponíveis no SDK.

> O campo `<scheme>` representa a string definindo o scheme a ser configurado no conector do gateway. Por exemplo, para o app do VTEX Payment é utilizado `vtex-payment` como scheme resultando em uris como `vtex-payment://payment/`.

## Processamento de Pagamentos e Estorno

Existem duas formas de ouvir e processar os pagamentos e estornos vindo do inStore. A forma mais simples é fazendo com que a sua atividade, que irá processar os pagamentos, extenda da classe `PaymentActivity` do SDK.

### Extends PaymentActivity

```java
import vtex.payment.sdk.PaymentActivity;
import vtex.payment.sdk.dto.input.PaymentRequest;
import vtex.payment.sdk.dto.input.PaymentReversalRequest;

public class ExamplePaymentActivity extends PaymentActivity {

    @Override
    public void onPaymentRequest(PaymentRequest paymentRequest) {
        // handling
    }

    @Override
    public void onPaymentReversalRequest(PaymentReversalRequest paymentReversalRequest) {
        // handling
    }
}
```

> No exemplo acima, os métodos `onPaymentRequest` e o `onPaymentReversalRequest` são os responsáveis por lidar com requisições de pagamento e estorno respectivamente.

> **Atenção**: A classe `ExamplePaymentActivity` deve ser a classe utilizada no AndroidManifest para adicionar os `<intent-filters>`.

### Implementando um IntentProcessor

Caso não seja possível utilizar a classe `PaymentActivity`, ou necessite de uma activity customizada, é possível implementar um módulo interno chamado `IntentProcessor`. A classe contém dois métodos similares aos vistos acima para o `PaymentActivity`.

```java
private class ActivityIntentProcessor extends IntentProcessor {

    @Override
    protected void onPaymentRequestProcessed(PaymentRequest paymentRequest) {
        // handling
    }

    @Override
    protected void onPaymentRequestReversalProcessed(
            PaymentReversalRequest paymentReversalRequest) {
        // handling
    }
}
```

Os métodos `onPaymentRequestProcessed` e o `onPaymentRequestReversalProcessed` são os responsáveis por lidar com requisições de pagamento e estorno respectivamente.

> **Atenção**: ao utilizar o `IntentProcessor` é preciso vincular o objeto manualmente ao `Android Life cycle`. A classe contém um método chamado `processIntent` que deve ser chamado tanto no ciclo de `onCreate` quanto no ciclo de `onNewIntent` da atividade. Exemplo de implementação:

```java
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   ...
   Intent intent = getIntent();
   activityIntentProcessor.processIntent(intent);
}

@Override
public void onNewIntent(Intent intent) {
   super.onNewIntent(intent)
   setIntent(intent);
   ...
   activityIntentProcessor.processIntent(intent);
}
```

> No exemplo acima, `activityIntentProcessor` é um objeto instanciado da classe `IntentProcessor`.

# Data Transfer Objects (DTO)

## Entrada / Requisições

Existem duas classes que representam requisições de entradas com seus respectivos dados: `PaymentRequest` e  `PaymentReversalRequest`.

Os campos dentro dessas classes podem ser acessados através de `getters` ou se preferir através do método `toJSONObject` que transforma a classe em um `JSONObject`.

Os campos acessíveis através de getters são os campos obrigatórios e determinados como necessários pelo protocolo de comunicação. Porém, é possível que sua integração demande de outros campos que o inStore pode passar a enviar.

Todo dado enviado pelo inStore que não está contemplado pelo protocolo de comunicação será armazenado no campo `customFields` o qual é acessível por um getter como também pelo método `toJSONObject`.

## Saída / Respostas de Sucesso

Existem duas classes que representam respostas de sucesso no SDK: `PaymentResponse` e  `PaymentReversalResponse`. Essas classes necessitam em seu construtor de um objeto do tipo `PaymentPayload` e `PaymentReversalPayload` respectivamente.

Dois construtores estão disponíveis para as classes do tipo "payload". Um construtor vazio, para ser utilizado em conjunto com os setters definidos na classe e um construtor que recebe um `JSONObject`, que extrai os dados do objeto passado.

> **Atenção**: Ao utilizar o construtor com `JSONObject` é preciso ter cuidado para que ao menos todos os campos obrigatórios estejam presentes no `JSONObject` ou uma exceção será lançada. __Campos extras passados através desse construtor são ignorados__.

Ambas as classes também contém um campo `customFields` que permite que dados, além daqueles definidos no protocolo, sejam enviados para o inStore. O método `addCustomField(String key, String value)` foi criado para facilitar a adição desses campos extras.

## Saída / Erros

Em caso de erro existem duas classes que representam respostas de erro no SDK: `GenericPaymentErrorResponse` e `GenericPaymentReversalErrorResponse`. Essas classes recebem um `JSONObject` em seu construtor.

> O protocolo definido para mensagens de erro ainda é genérico e está em processo de definição.

Por convenção utilizados o seguintes campos dentro do payload de erro:
- **error**: mensagem de erro
- **reason**: mais detalhes do erro, motivo ou fonte do erro
- **responsecode**: código do erro

## Detalhamento dos atributos

### Payment Request (Pagamento)

`PaymentRequest.java`
| Atributo                 | Tipo            |  Exemplo                         | Descrição                     |
| ------------------------ |:--------------: | :------------------------------: | ----------------------------- |
| installmentsInterestRate | String          | 0.05                             | Taxa de juros de parcelamento |
| installments             | String          | 2                                | Número de parcelas |
| merchantName             | String          | lojaABC                          | Nome da conta do lojista na VTEX |
| paymentType              | String          | credit                           | Tipo do pagamento: credit, debit |
| amount                   | String          | 77920                            | Valor do pagamento em centavos. R$ 779,20 |
| paymentId                | String          | JE3IACFDPWMV1RLTSEILFDMMWIIAZDY1 | Identificador único do pagamento na VTEX |
| transactionId            | String          | ZAIBI9KTEOTFXBBXXBXONRK4GKWS4KRK | Identificador único da transação na VTEX |
| customFields             | JSONObject      | { key: value }                   | Objeto chave/valor que permite qualquer campo customizável da integração |

### Payment Reversal Request (Reembolso)

`PaymentReversalRequest.java`
| Atributo        | Tipo            |  Exemplo                          | Descrição                     |
| --------------- |:--------------: | :-------------------------------: | ----------------------------- |
| paymentId       | String          | JE3IACFDPWMV1RLTSEILFDMMWIIAZDY1  | Identificador único do pagamento na VTEX |
| transactionId   | String          | ZAIBI9KTEOTFXBBXXBXONRK4GKWS4KRK  | Identificador único da transação na VTEX |
| value           | String          | 77920                             | Valor do reembolso em centavos. R$ 779,20 |
| tid             | String          | uovdjptiak9hvnwyk9qx              | Identificador único do pagamento do adquirente |
| customFields    | JSONObject      | { key: value }                    | Objeto chave/valor que permite qualquer campo customizável da integração |

### Payment Payload (Resposta do Pagamento)
> O PaymentResponse Encapsula o DTO `PaymentPayload`

`PaymentPayload.java`
| Atributo        | Tipo            | Obrigatório |  Exemplo                         | Descrição                     |
| --------------- |:--------------: | :---------: | :------------------------------: | ----------------------------- |
| paymentId       | String          | Sim         | JE3IACFDPWMV1RLTSEILFDMMWIIAZDY1 | Identificador único do pagamento na VTEX |
| transactionId   | String          | Sim         | ZAIBI9KTEOTFXBBXXBXONRK4GKWS4KRK | Identificador único da transação na VTEX |
| cardBrandName   | String          | Sim         | visa                             | Nome da bandeira do cartão |
| firstDigits     | String          | Sim         | 1234                             | Primeiros dígitos do cartão |
| lastDigits      | String          | Sim         | 4321                             | Últimos 4 dígitos do cartão |
| nsu             | String          | Sim         | 066319694308                     | Número Sequencial único do pagamento na adquirência |
| tid             | String          | Sim         | uovdjptiak9hvnwyk9qx             | Identificador único do pagamento do adquirente |
| authorizationId | String          | Sim         | YSDLKYW731QZ                     | Identificador da authorização do pagamento na adquirência |
| customFields    | JSONObject      | Não         | { key: value }                   | Objeto chave/valor que permite qualquer campo customizável da integração |

### Payment Reversal Payload (Resposta do Reembolso)
> O PaymentReversalResponse Encapsula o DTO `PaymentReversalPayload`

`PaymentReversalPayload.java`
| Atributo        | Tipo            | Obrigatório |  Exemplo                          | Descrição                     |
| --------------- |:--------------: | :---------: | :-------------------------------: | ----------------------------- |
| paymentId       | String          | Sim         | JE3IACFDPWMV1RLTSEILFDMMWIIAZDY1  | Identificador único do pagamento na VTEX |
| transactionId   | String          | Sim         | ZAIBI9KTEOTFXBBXXBXONRK4GKWS4KRK  | Identificador único da transação na VTEX |
| tid             | String          | Sim         | uovdjptiak9hvnwyk9qx              | Identificador único do pagamento do adquirente |
| customFields    | JSONObject      | Não         | { key: value }                    | Objeto chave/valor que permite qualquer campo customizável da integração |

# Enviando resposta ao inStore

O envio de respostas ao inStore ocorre pelo início de uma nova atividade utilizando um intent programado para envio de dados. Por exemplo, pode-se utilizar o método `startActivity` contido dentro do contexto de uma atividade Android.

As seguintes classes `DTO` de saída fazem extends da classe [Android Intent](https://developer.android.com/reference/android/content/Intent):
- PaymentResponse
- PaymentReversalResponse
- GenericPaymentErrorResponse
- GenericPaymentReversalErrorResponse

Isso permite que essas classes possam ser diretamente utilizadas com um método que inicia uma atividade.

Exemplo de código contendo envio de resposta ao inStore:

```java
PaymentPayload paymentPayload = new PaymentPayload(resposta);
PaymentResponse paymentResponse = new PaymentResponse(paymentPayload);
startActivity(paymentResponse);
```

# Testando sua aplicação

Esse projeto seed permite o desenvolvedor olhar um exemplo do SDK implementando o protocolo de comunicação. Caso queira testar sua aplicação utilizando a atividade qu simular o comportamento do inStore nesse projeto basta fazer o seguinte:

Procure a classe `MockUtils.java` e dentro dela o método `getMockPaymentRequestIntent`. Na primeira linha do método:

``` java
  public static Intent getMockPaymentRequestIntent() {
    Uri.Builder builder = Uri.parse("sdk://payment").buildUpon();
    ...
  }
```

Troque o trecho inicial da URI de "sdk" para o scheme utilizado em sua aplicação. Isso irá permitir que a atividade mock do inStore envie requisições de pagamento mock diretamente para o app de sua escolha. Caso queira testar requisições de estorno faça o mesmo com o método `getMockPaymentReversalRequestIntent`.

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of checkout/package.json from the checkout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "checkout",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.2.1",
    "eslint-config-vtex-react": "^6.1.1",
    "husky": "^4.2.3",
    "lint-staged": "^10.0.8",
    "prettier": "^1.19.1",
    "react": "^16.13.0",
    "typescript": "^3.9.5"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of checkout/manifest.json from the checkout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "checkout",
  "version": "3.0.0",
  "title": "Checkout UI",
  "description": "Checkout UI for the Store Framework",
  "defaultLocale": "pt-BR",
  "builders": {
    "docs": "0.x",
    "node": "6.x"
  },
  "dependencies": {},
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "checkout.vtex.io",
        "path": "*"
      }
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of biggy-bookstore-theme/manifest.json from the biggy-bookstore-theme VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "store-theme",
  "version": "3.16.2",
  "builders": {
    "styles": "1.x",
    "store": "0.x",
    "sitemap": "0.x",
    "docs":  "0.x"
  },
  "mustUpdateAt": "2018-09-05",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.store": "2.x",
    "vtex.store-header": "2.x",
    "vtex.product-summary": "2.x",
    "vtex.store-footer": "2.x",
    "vtex.store-components": "3.x",
    "vtex.styleguide": "9.x",
    "vtex.slider": "0.x",
    "vtex.carousel": "2.x",
    "vtex.shelf": "1.x",
    "vtex.menu": "2.x",
    "vtex.minicart": "2.x",
    "vtex.product-details": "1.x",
    "vtex.product-kit": "1.x",
    "vtex.search-result": "3.x",
    "vtex.login": "2.x",
    "vtex.my-account": "1.x",
    "vtex.flex-layout": "0.x",
    "vtex.rich-text": "0.x",
    "vtex.store-drawer": "0.x",
    "vtex.locale-switcher": "0.x",
    "vtex.product-quantity": "1.x",
    "vtex.product-identifier": "0.x",
    "vtex.breadcrumb": "1.x",
    "vtex.sticky-layout": "0.x",
    "vtex.product-customizer": "2.x",
    "vtex.stack-layout": "0.x",
    "vtex.product-specification-badges": "0.x",
    "vtex.responsive-layout": "0.x",
    "vtex.store-image": "0.x",
    "vtex.slider-layout": "0.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of orders-tracking/manifest.json from the orders-tracking VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "tracking-integration-boilerplate",
  "vendor": "vtex",
  "version": "0.1.0",
  "title": "Boilerplates' Tracking",
  "description": "Tracks Boilerplate Packages",
  "categories": [],
  "settingsSchema": { },
  "registries": ["smartcheckout"],
  "dependencies": {
    "vtex.tracking-builder": "0.x"
  },
  "builders": {
    "dotnet": "1.x",
    "docs":  "0.x"
  },
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "tracking-sandbox.getsandbox.com",
        "path": "/trackPackages"
      }
    }
  ],
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of marketplace-financial-commission/package.json from the marketplace-financial-commission VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "financial-commission",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"",
    "lint:locales": "intl-equalizer",
    "test": "cd ./react && yarn test"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ],
    "messages/*.json": [
      "yarn lint:locales"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/danger": "^0.2.7",
    "@vtex/intl-equalizer": "^2.5.0",
    "@vtex/prettier-config": "^1.0.0",
    "@vtex/tsconfig": "^0.6.0",
    "eslint": "^7.14.0",
    "eslint-config-vtex": "^12.8.11",
    "eslint-config-vtex-react": "^8.2.1",
    "husky": "^4.3.0",
    "lint-staged": "^10.5.1",
    "prettier": "^2.5.1",
    "typescript": "^4.6.2"
  },
  "version": "0.0.0",
  "intl-equalizer": {
    "referenceLocale": "en",
    "localeDirectory": "messages"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of marketplace-financial-commission/manifest.json from the marketplace-financial-commission VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "marketplace-financial-commission",
  "version": "0.3.24",
  "title": "Financial commission for Marketplace",
  "description": "Streamline the commissioning flows between a marketplace operator and the sellers",
  "builders": {
    "react": "3.x",
    "messages": "1.x",
    "node": "6.x",
    "docs": "0.x",
    "admin": "0.x",
    "graphql": "1.x",
    "masterdata": "1.x"
  },
  "dependencies": {
    "vtex.sellers-graphql": "8.x",
    "vtex.styleguide": "9.x",
    "vtex.render-runtime": "8.x",
    "vtex.native-types": "0.x",
    "vtex.format-currency": "0.x",
    "vtex.components-financial-commission": "0.x"
  },
  "registries": [
    "smartcheckout"
  ],
  "credentialType": "absolute",
  "policies": [
    {
      "name": "template-criar"
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "OMSViewer"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.vtex.com",
        "path": "/api/*"
      }
    },
    {
      "name": "ADMIN_DS"
    },
    {
      "name": "graphql-query"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of KI-313945/README.md from the KI-313945 VTEX app.

[Assistant]
Here's the implementation:

```markdown
# [KI-313945] Purchase can't be finished and returns the error "receiver name field is invalid"

This script not solve the KI https://vtexhelp.zendesk.com/agent/tickets/313945 but ensure to have info in the receiverName at the orderForm.

You need to add the script to the checkout at the `checkout6-custom.js`.

## Contributors ✨

Thanks goes to these wonderful people:

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="https://github.com/germanBonacchi"><img src="https://avatars.githubusercontent.com/u/55905671?v=4" width="100px;" alt=""/><br /><sub><b>Germán Bonacchi</b></sub></a><br /><a href="https://github.com/vtex-apps/KI-313945/commits?author=germanBonacchi" title="Code">💻</a></td>
    <td align="center"><a href="https://github.com/choque9"><img src="https://avatars.githubusercontent.com/u/74924748?v=4" width="100px;" alt=""/><br /><sub><b>William Choque Valderrama</b></sub></a><br /><a href="https://github.com/vtex-apps/KI-313945/commits?author=choque9" title="Code">💻</a></td>
</tr>
</table>

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of KI-313945/KI-313945.js from the KI-313945 VTEX app.

[Assistant]
Here's the implementation:

```javascript
$(document).ready(function () {
  window.addEventListener("hashchange", () => {
    hashchange();
  });
  let listenerCreated = false;
  const observerReceiverName = new MutationObserver((mutations, obsP) => {
    const receiverName = document.querySelector(".ship-receiverName");
    if (document.contains(receiverName)) {
      if (!listenerCreated) {
        listenerCreated = true;
        createListener(listenerCreated);
      }
    } else {
      listenerCreated = false;
    }
  });

  observerReceiverName.observe(document, {
    childList: true,
    subtree: true,
  });
});

function createListener(listenerFlag) {
  if (listenerFlag) {
    document
      .querySelector("#ship-receiverName")
      .addEventListener("focusout", (event) => {
        vtexjs.checkout.getOrderForm().then(function (orderForm) {
          var shippingData = orderForm.shippingData;
          if (
            shippingData.selectedAddresses &&
            shippingData.selectedAddresses.length > 0
          ) {
            shippingData.selectedAddresses[0].receiverName =
              document.querySelector("#ship-receiverName").value;
            return vtexjs.checkout.sendAttachment("shippingData", shippingData);
          }
        });
      });
  }
}

function hashchange() {
  vtexjs.checkout.getOrderForm().then(function (orderForm) {
    var shippingData = orderForm.shippingData;
    if (
      shippingData.selectedAddresses &&
      shippingData.selectedAddresses.length > 0
    ) {
      if (!shippingData.selectedAddresses[0].receiverName) {
        //console.log("receiverName is empty");
        const clientProfileData = orderForm.clientProfileData
        const { firstName, lastName } = clientProfileData
        let name = `${firstName} ${lastName}`
        if (name.includes("*")) {
          name = name.replaceAll("*", "")
        }
        shippingData.selectedAddresses[0].receiverName = name
        return vtexjs.checkout.sendAttachment("shippingData", shippingData);
      }/*{
        console.log("receiverName is not empty");
      }*/
    }
  });
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of mycheckout-front/README.md from the mycheckout-front VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Kuikpay

> Implementation in VTEX IO stores

[![NPM](https://img.shields.io/npm/v/checkoutless.svg)](https://www.npmjs.com/package/checkoutless) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

:warning: This guide is only for VTEX IO stores.

## Install

- [Kuikpay](#kuikpay)
  - [Install](#install)
  - [Usage](#usage)
    - [kuikpay-button](#kuikpay-button)
    - [kuikpay-quota-information](#kuikpay-quota-information)
  - [Styles](#Styles)

## Usage

In the manifest.json of your store theme add the following peer dependency.

```tsx
"kuikpay.my-checkout": "0.x"
```

### kuikpay-wrapper

Wrapper component for handling the data that is shared between each of the kuikpay-button components.

This block must be added at least once in each page where you show a product-summary. For example we can choose to add the block once in the header but it will be instantiate in every page, or you can add in some specifics templates.

```tsx
"store.product": {
  "children": [
    ...
    "kuikpay-wrapper"
  ]
}
```

```tsx
"header-layout.desktop": {
  "children": [
    "kuikpay-wrapper",
    ...
  ]
}
```

```tsx
"header-layout.mobile": {
  "children": [
    "kuikpay-wrapper",
    ...
  ]
}
```

NOTE: You must be sure that the wrapper is instantiated just once.

### kuikpay-button

Button component which is responsible for adding to the cart and having the possibility of making the purchase in the same window.

### `kuikpay-button props`

| Prop name         | Type   | Description                                                                                | Default value |
| ----------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `onClickBehavior` | `enum` | Controls what happens when users click on the button. Possible value is: `ensure-sku-selection` (if multiple SKUs are available, the SKU selector will be displayed). | `undefined`   |

In the product.json file or any block file of your choice, declare the following block.

```tsx
"flex-layout.row#kuikpay": {
  "props": {
    "marginTop": 4,
    "marginBottom": 4
  },
  "children": ["kuikpay-button"]
}
```

- `Product Detail Page`

Add the "flex-layout.row#kuikpay" block in your product.jsonc file where you want the button to be displayed.

```tsx
"flex-layout.col#right-col": {
  "children": [
    ...
    "flex-layout.row#kuikpay",
    ...
  ]
}
```

- `Product List Page`

Add the "flex-layout.row#kuikpay" block in your product-summary.jsonc file at the position where you want the button to be displayed.

```tsx
"product-summary.shelf": {
  "children": [
    ...
    "flex-layout.row#kuikpay",
    ...
  ]
}
```

### kuikpay-quota-information

Information that allows you to know if the product can be paid with **Orion**.

```tsx
"flex-layout.row#kuikpay-quota-information": {
  "children": [
    "kuikpay-quota-information"
  ]
}
```

### Styles

If you want to change the app styles from your store theme, you can create a new folder called my-checkout containing two files:

- my-checkout
  - kuikpay.my-checkout.css
  - my-checkout.css

#### kuikpay.my-checkout.css

It is only for import my-checkout.css

```tsx
@import url("./my-checkout.css");
```

#### my-checkout.css

Change styles, for example

```tsx
:global(._kuikpay__src-kuikpay-styles-module__floatButton) {
    position: fixed;
    bottom: 100px;
    right: 20px;
    cursor: pointer;
    width: 94px;
    height: 94px;
    z-index: 99;
  }
```

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of mycheckout-front/package.json from the mycheckout-front VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "version": "0.0.0",
  "name": "CHANGE_ME",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"",
    "lint:locales": "intl-equalizer",
    "test": "cd ./react && yarn test"
  },
  "intl-equalizer": {
    "referenceLocale": "en",
    "localeDirectory": "messages"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ],
    "messages/*.json": [
      "yarn lint:locales"
    ]
  },
  "devDependencies": {
    "@vtex/intl-equalizer": "^2.5.0",
    "@vtex/prettier-config": "^0.3.5",
    "eslint": "^7.14.0",
    "eslint-config-vtex": "^12.8.11",
    "eslint-config-vtex-react": "^6.8.3",
    "husky": "^4.3.0",
    "lint-staged": "^10.5.1",
    "prettier": "^2.2.0",
    "typescript": "^3.9.6"
  },
  "dependencies": {}
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of mycheckout-front/manifest.json from the mycheckout-front VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "kuikpay",
  "name": "my-checkout-front",
  "version": "0.0.3",
  "title": "CHANGE_ME",
  "description": "CHANGE_ME",
  "builders": {
    "react": "3.x",
    "messages": "1.x",
    "docs": "0.x",
    "store": "0.x"
  },
  "dependencies": {
    "vtex.order-manager": "0.x",
    "vtex.product-context": "0.x",
    "vtex.checkout-resources": "0.x",
    "vtex.checkout-graphql": "0.x",
    "vtex.store-graphql": "2.x",
    "vtex.store": "2.x",
    "vtex.search-page-context": "0.x",
    "vtex.order-items": "0.x"
  },
  "registries": [
    "smartcheckout"
  ],
  "policies": [],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of profitshare/README.md from the profitshare VTEX app.

[Assistant]
Here's the implementation:

```markdown
## profitshare

This app and all affiliated services are provided “as is”, without warranty of any kind, either express or implied. Neither the publisher nor its partners, affiliates, employees, or contractors guarantee that this app will meet your requirements, provide uninterrupted use, or operate without delay or without error. Neither the publisher nor its partners, affiliates, employees, or contractors assume any responsibility for any errors and malfunctions within the app and will not provide support or maintenance of any kind.

All provisions and warranties of any kind, express or implied, including but not limited to any guarantees of performance, process integrity, or particular functionalities, are hereby disclaimed and excluded unless otherwise prohibited or restricted by applicable law.

_Developed under EE FPA._
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of profitshare/package.json from the profitshare VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "dependencies": {
    "crypto-js": "^4.1.1"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of profitshare/manifest.json from the profitshare VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "profitshare",
  "vendor": "vtex",
  "version": "0.5.3",
  "title": "profitshare",
  "description": "profitshare",
  "billingOptions": {
    "termsURL": "",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true
  },
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x"
  },
  "settingsSchema": {
    "title": "profitshare",
    "type": "object",
    "bindingBounded": true,
    "properties": {
      "cookieScriptName": {
        "title": "Cookie conversions script name",
        "description": "Enter cookie conversions script name",
        "type": "string"
      },
      "clickCode": {
        "title": "Click code set by cookie script",
        "description": "Enter click code set by cookie script",
        "type": "string"
      },
      "advertiserCode": {
        "title": "Advertiser tracking code",
        "description": "Enter advertiser tracking code",
        "type": "string"
      },
      "key": {
        "title": "Encryption key",
        "description": "Enter encryption key",
        "type": "string"
      },
      "cookieScriptDomain": {
        "title": "Cookie script domain",
        "description": "Enter cookie script domain",
        "type": "string"
      },
      "iframeDomain": {
        "title": "IFrame domain",
        "description": "Enter IFrame domain",
        "type": "string"
      },
      "taxCode": {
        "title": "VAT percent",
        "description": "Enter VAT",
        "type": "number"
      }
    }
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-customizer/package.json from the product-customizer VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "product-customizer",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.4",
    "@vtex/tsconfig": "^0.4.4",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.3.2",
    "eslint-config-vtex-react": "^6.3.2",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^2.0.2",
    "typescript": "3.8.3"
  }
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-customizer/manifest.json from the product-customizer VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "product-customizer",
  "vendor": "vtex",
  "version": "2.12.4",
  "title": "Product Customizer",
  "description": "",
  "mustUpdateAt": "2019-09-27",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.styleguide": "9.x",
    "vtex.store-components": "3.x",
    "vtex.product-details": "1.x",
    "vtex.product-context": "0.x",
    "vtex.device-detector": "0.x",
    "vtex.flex-layout": "0.x",
    "vtex.css-handles": "0.x",
    "vtex.native-types": "0.x"
  },
  "builders": {
    "store": "0.x",
    "messages": "1.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of apub-app-center/package.json from the apub-app-center VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "apub-app-center",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.2.0",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.4.0",
    "eslint-config-vtex-react": "^6.4.0",
    "husky": "^4.2.5",
    "lint-staged": "^10.2.2",
    "prettier": "^2.0.5",
    "typescript": "^3.8.3",
    "vtex.render-runtime": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.131.0/public/@types/vtex.render-runtime"
  }
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of apub-app-center/manifest.json from the apub-app-center VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "apub-app-center",
  "vendor": "vtexarg",
  "version": "0.0.12",
  "title": "APUB App Center",
  "description": "Apub App Center component",
  "mustUpdateAt": "2022-08-28",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.styleguide": "9.x"
  },
  "builders": {
    "react": "3.x",
    "admin": "0.x",
    "messages": "1.x",
    "docs": "0.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of chaordic-graphql/package.json from the chaordic-graphql VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "chaordic-graphql",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "12.12.21",
    "@vtex/prettier-config": "0.1.3",
    "eslint": "6.8.0",
    "eslint-config-vtex": "12.2.1",
    "husky": "4.2.0",
    "lint-staged": "10.0.2",
    "prettier": "1.19.1",
    "typescript": "3.7.5"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of chaordic-graphql/manifest.json from the chaordic-graphql VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "chaordic-graphql",
  "version": "2.6.0",
  "builders": {
    "graphql": "1.x",
    "node": "4.x",
    "docs": "0.x"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "vbase-read-write",
      "attrs": {
        "bucket": "secret_keys"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.linximpulse.com",
        "path": "engage/search/v3/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "recs.chaordicsystems.com",
        "path": "/v0/*"
      }
    }
  ],
  "mustUpdateAt": "2022-09-05",
  "categories": [],
  "settingsSchema": {},
  "scripts": {
    "postreleasy": "bash publish.sh"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of KI-1089066/KI-1089066.js from the KI-1089066 VTEX app.

[Assistant]
Here's the implementation:

```javascript
$(document).ready(function() {

	interceptRequest_KI_1089066()

});

function changeItemsOrdination() {
	if ((vtexjs.checkout.orderForm.marketingData !== null &&
			vtexjs.checkout.orderForm.marketingData.coupon !== null &&
			vtexjs.checkout.orderForm.totalizers !== null &&
			vtexjs.checkout.orderForm.totalizers.some(item => item.id === "Tax")) ||
		vtexjs.checkout.orderForm.items.length > 20) {
		vtexjs.checkout
			.changeItemsOrdination("GIFT")
			.then(function(orderForm) {
				console.log("items sorted by criteria: ", orderForm.itemsOrdination)
			})
	}
}

function interceptRequest_KI_1089066() {

	const originalXHRSend = XMLHttpRequest.prototype.send;
	const originalXHROpen = XMLHttpRequest.prototype.open;
	XMLHttpRequest.prototype.open = function(method, url, ...rest) {
		this._requestUrl = url;
		return originalXHROpen.apply(this, [method, url, ...rest]);
	};

	XMLHttpRequest.prototype.send = function(body) {
		const xhr = this;
		const urlPatternItemsOrdination = /\/api\/checkout\/pub\/orderForm\/.*\/itemsOrdination/;
		const urlPatternPaymentData = /\/api\/checkout\/pub\/orderForm\/.*\/attachments\/paymentData/;
		const urlPatternShippingData = /\/api\/checkout\/pub\/orderForm\/.*\/attachments\/shippingData/;

		if (this._requestUrl && urlPatternItemsOrdination.test(this._requestUrl)) {
			let requestBody;

			try {
				requestBody = JSON.parse(body);
			} catch (error) {
				requestBody = null;
			}

			if (requestBody && requestBody.criteria === "add_time") {
				console.log('Modifying requestBody to avoid add_time criteria: changed to GIFT criteria');
				window.checkout.loading(false);
				$('body').removeClass('loading');
				requestBody.criteria = "GIFT";
				body = JSON.stringify(requestBody);
			}
		}

		if (this._requestUrl &&
			(urlPatternPaymentData.test(this._requestUrl) ||
				urlPatternShippingData.test(this._requestUrl))) {
			return new Promise((resolve, reject) => {
				xhr.onload = function() {
					if (xhr.status >= 200 && xhr.status < 300) {
						resolve(xhr.responseText);
					} else {
						reject(new Error("Request failed  by custom script with status: " + xhr.status));
					}
				};

				xhr.onerror = function() {
					reject(new Error("Network error by custom script"));
				};

				originalXHRSend.apply(xhr, [body]);
			}).then((_response) => {
				changeItemsOrdination();
			}).catch((error) => {
				console.error("Error during the request by custom script:", error);
			});
		} else {
			return originalXHRSend.apply(this, [body]);
		}
	};
}
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of KI-1089066/README.md from the KI-1089066 VTEX app.

[Assistant]
Here's the implementation:

```markdown
# KI-1089066
[KI] Nominal Taxes + Gift Promotions on the same item might generate checkout errors

This script is a workaround to KI https://vtexhelp.zendesk.com/agent/tickets/1089066.

You need to add the script to the checkout at the checkout6-custom.js

## Functions
### Change Items Ordination

It is necessary to sort by GIFT in order to allow create the order. The request for item ordering will only be requested if one of the conditions is met:
- When the length of items is greater than 20: vcs.checkout-ui performs a sort by 'add_time' criteria. When this sorting condition exist, it does not allow to reorder by GIFT criteria.
This solution intercepts the “add_time” request and replaces by GIFT criteria. The script must be added in the checkout customization ensuring that it is inserted when the DOM is loaded, before the first add_time sort is performed.
- When coupon and taxes exists

###  Intercept requests
- Case 1: Intercepts the itemsOrdination request by 'add_time' criteria and replaces it with 'GIFT' criteria
- Case 2: Intercepts PaymentData and ShippingData request. At the end of each of the requests, it performs a ChangeItemsOrdination()

```
    vtexjs.checkout
        .changeItemsOrdination("GIFT")
        .then(function(orderForm) {
            console.log("items sorted by criteria: ", orderForm.itemsOrdination)
    })
```
```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-group-context/package.json from the product-group-context VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "product-group-context",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.2.1",
    "eslint-config-vtex-react": "^6.2.1",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^1.19.1",
    "typescript": "^3.7.5"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of product-group-context/manifest.json from the product-group-context VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "product-group-context",
  "vendor": "vtex",
  "version": "0.2.0",
  "builders": {
    "react": "3.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search/package.json from the search VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "search",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.4",
    "eslint": "^7.12.1",
    "eslint-config-vtex": "^12.3.2",
    "eslint-config-vtex-react": "^6.3.2",
    "husky": "^4.2.3",
    "lint-staged": "^10.1.1",
    "prettier": "^2.0.2",
    "typescript": "^3.8.3"
  },
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of search/manifest.json from the search VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "search",
  "vendor": "vtex",
  "version": "2.18.8",
  "title": "Search",
  "description": "Search components and functionality for VTEX IO.",
  "scripts": {
    "prereleasy": "bash pre.sh"
  },
  "builders": {
    "store": "0.x",
    "react": "3.x",
    "styles": "2.x",
    "docs": "0.x",
    "messages": "1.x"
  },
  "dependencies": {
    "vtex.native-types": "0.x",
    "vtex.shipping-estimate-translator": "2.x",
    "vtex.store-graphql": "2.x",
    "vtex.store-resources": "0.x",
    "vtex.styleguide": "9.x",
    "vtex.store-icons": "0.x",
    "vtex.modal": "0.x",
    "vtex.react-portal": "0.x",
    "vtex.address-form": "4.x",
    "vtex.product-context": "0.x",
    "vtex.store-components": "3.x",
    "vtex.search-result": "3.x",
    "vtex.store": "2.x",
    "vtex.product-summary": "2.x",
    "vtex.product-list-context": "0.x",
    "vtex.search-resolver": "1.x",
    "vtex.device-detector": "0.x",
    "vtex.search-page-context": "0.x",
    "vtex.css-handles": "0.x",
    "vtex.product-price": "1.x",
    "vtex.pixel-manager": "1.x",
    "vtex.tester-hub": "0.x"
  },
  "policies": [],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of brightedge-integration/package.json from the brightedge-integration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "brightedge-integration",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\"",
    "lint:locales": "intl-equalizer",
    "test": "cd ./react && yarn test"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/intl-equalizer": "^2.4.2",
    "@vtex/prettier-config": "^0.1.4",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.3.2",
    "eslint-config-vtex-react": "^6.3.2",
    "husky": "^4.2.3",
    "lint-staged": "^10.1.1",
    "prettier": "^2.0.2",
    "typescript": "^3.8.3"
  },
  "version": "0.0.0",
  "intl-equalizer": {
    "referenceLocale": "en",
    "localeDirectory": "messages"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of brightedge-integration/manifest.json from the brightedge-integration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "brightedge-integration",
  "vendor": "vtex",
  "version": "0.0.2",
  "title": "BrightEdge",
  "description": "An implementation of BrightEdge AutoPilot link blocks for SEO optimization",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x",
    "vtex.store": "2.x",
    "vtex.product-context": "0.x"
  },
  "settingsSchema": {
    "title": "BrightEdge",
    "type": "object",
    "properties": {
      "accountId": {
        "title": "Account ID",
        "description": "Enter your Account ID for BrightEdge",
        "type": "string",
        "access": "public"
      }
    }
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of storefront-permissions-components/package.json from the storefront-permissions-components VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "storefront-permissions-components",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"",
    "cy-r": "cd ./cy-runner && node cy-runner"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^1.0.0",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.4.0",
    "eslint-config-vtex-react": "^6.4.0",
    "husky": "^4.2.5",
    "lint-staged": "^10.2.2",
    "prettier": "^2.0.5",
    "typescript": "^3.8.3"
  },
  "dependencies": {}
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of storefront-permissions-components/manifest.json from the storefront-permissions-components VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "storefront-permissions-components",
  "vendor": "vtex",
  "version": "2.0.1",
  "title": "Storefront Permissions Components",
  "description": "Host sharable components",
  "mustUpdateAt": "2022-08-28",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.styleguide": "9.x",
    "vtex.admin-customers-graphql": "3.x",
    "vtex.b2b-organizations-graphql": "2.x",
    "vtex.storefront-permissions": "3.x"
  },
  "builders": {
    "react": "3.x",
    "messages": "1.x"
  },
  "policies": [
    {
      "name": "buyer_organization_view"
    },
    {
      "name": "buyer_organization_edit"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of checkout-button-example/README.md from the checkout-button-example VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Checkout Button Example

This is an example of how to use extension point to render a custom button component on the checkout page.

![image](https://user-images.githubusercontent.com/19495917/85041692-af0c0a00-b160-11ea-9e1c-e22ae0eca6fb.png)

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of checkout-button-example/package.json from the checkout-button-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "devDependencies": {
    "@types/jquery": "^3.3.38",
    "@types/node": "^12.12.21",
    "@types/react": "^16.9.38"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of checkout-button-example/manifest.json from the checkout-button-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "checkout-button-example",
  "vendor": "vtex",
  "version": "0.0.3",
  "title": "Checkout Button Example",
  "description": "Checkout Button Example",
  "credentialType": "absolute",
  "dependencies": {
    "vtex.checkout": "0.x",
    "vtex.styleguide": "9.x",
    "vtex.render-runtime": "7.x"
  },
  "builders": {
    "react": "2.x",
    "pages": "0.x"
  },
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "supportWorkspaces": true,
  "billingOptions": {
    "free": true
  },
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of on-view/package.json from the on-view VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "version": "0.0.0",
  "name": "on-view",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\"",
    "test": "cd ./react && yarn test"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.3.1",
    "eslint": "^7.4.0",
    "eslint-config-vtex": "^12.7.0",
    "eslint-config-vtex-react": "^6.7.0",
    "husky": "^4.2.5",
    "lint-staged": "^10.2.11",
    "prettier": "^2.0.5",
    "typescript": "^3.9.6"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of on-view/manifest.json from the on-view VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "on-view",
  "version": "1.0.0",
  "title": "",
  "description": "",
  "builders": {
    "react": "3.x",
    "docs": "0.x"
  },
  "dependencies": {},
  "registries": [
    "smartcheckout"
  ],
  "policies": [],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of adserver-graphql/policies.json from the adserver-graphql VTEX app.

[Assistant]
Here's the implementation:

```json
[
  {
    "name": "adserver-graphql",
    "description": "Allows access to adserver graphql request",
    "statements": [
      {
        "actions": ["post", "get"],
        "effect": "allow",
        "resources": [
          "vrn:vtex.adserver-graphql:{{region}}:{{account}}:{{workspace}}:/_v/graphql"
        ]
      }
    ]
  }
]

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of adserver-graphql/manifest.json from the adserver-graphql VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "adserver-graphql",
  "version": "0.6.0",
  "title": "Adserver Graphql",
  "description": "Adserver Graphql",
  "credentialType": "absolute",
  "builders": {
    "graphql": "1.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.catalog-api-proxy": "0.x"
  },
  "policies": [
    {
      "name": "vtex.catalog-api-proxy:catalog-proxy"
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "colossus-fire-event"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of user-identifier-extension-example/package.json from the user-identifier-extension-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "user-identifier-extension-example",
  "private": true,
  "license": "UNLICENSED"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of user-identifier-extension-example/manifest.json from the user-identifier-extension-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "user-identifier-extension-example",
  "version": "0.0.1",
  "builders": {
    "store": "0.x",
    "docs": "0.x",
    "react": "3.x"
  },
  "dependencies": {
    "vtex.login": "2.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of multi-tenant-search/dangerfile.js from the multi-tenant-search VTEX app.

[Assistant]
Here's the implementation:

```javascript
// dangerfile.js
const { verify } = require('@vtex/danger')

const config = {
  // Set to true to enforce keepachangelog rules.
  keepachangelog: {
    changeVersion: false,
  },
  rules: {
    description: ['fail', { minLength: 20 }],
    assignee: 'fail',
    reviewers: 'fail',
    pr_size: ['warn', { additionLimit: 800, deletionLimit: -1 }],
    lock_file: 'warn',
    no_ignored_test: ['fail', { pattern: /test|spec/i }],
    no_debugger: ['fail', { pattern: /\.[tj]sx?$/i }],
    enforce_graphql_provider: 'off',
  },
}

verify(config)

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of multi-tenant-search/package.json from the multi-tenant-search VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "service-example",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/prettier-config": "^0.3.6",
    "@vtex/danger": "^0.2.7",
    "eslint": "^7.16.0",
    "eslint-config-vtex": "^12.9.3",
    "husky": "^4.3.6",
    "lint-staged": "^10.5.3",
    "prettier": "^2.2.1",
    "typescript": "^3.7.5"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of multi-tenant-search/manifest.json from the multi-tenant-search VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "service-example",
  "vendor": "vtex",
  "version": "0.2.0",
  "title": "Service Example",
  "description": "Reference app for VTEX IO Services",
  "mustUpdateAt": "2018-01-04",
  "categories": [],
  "dependencies": {},
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "httpstat.us",
        "path": "*"
      }
    },
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of dartel-external-prices-node/manifest2.json from the dartel-external-prices-node VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "external-prices-node-unilever",
  "vendor": "vtex",
  "version": "0.3.0",
  "title": "External Prices Node App",
  "description": "A reference app for consulting external prices.",
  "categories": [],
  "dependencies": {},
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.vtex.com",
        "path": "/{{account}}/pricing/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/profile-system/*"
      }
    },
    {
      "name": "read_prices"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "*",
        "path": "*"
      }
    },
    {
      "name": "ADMIN_DS"
    },
    {
      "name": "POWER_USER_DS"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of dartel-external-prices-node/package.json from the dartel-external-prices-node VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "external-prices-app",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/prettier-config": "^0.3.6",
    "eslint": "^7.16.0",
    "eslint-config-vtex": "^12.9.3",
    "husky": "^4.3.6",
    "lint-staged": "^10.5.3",
    "prettier": "^2.2.1",
    "typescript": "^3.7.5"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of dartel-external-prices-node/manifest.json from the dartel-external-prices-node VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "external-prices-node-dartel",
  "vendor": "vtex",
  "version": "0.7.6",
  "title": "External Prices Node App",
  "description": "A reference app for consulting external prices.",
  "categories": [],
  "dependencies": {},
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "name": "ADMIN_DS"
    },
    {
      "name": "POWER_USER_DS"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.vtex.com",
        "path": "/{{account}}/pricing/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/profile-system/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "kubernetes.default.svc.cluster.local",
        "path": "*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "*",
        "path": "*"
      }
    },
    {
      "name": "Sku.aspx"
    },
    {
      "name": "read_prices"
    },
    {
      "name": "ADMIN_CRM"
    },
    {
      "name": "POWER_USER_CRM"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "*",
        "path": "*"
      }
    },
    {
      "name": "Sku.aspx"
    },
    {
      "name": "read_prices"
    },
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "name": "graphql-query"
    },
    {
      "name": "vbase-read-write"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of document-field/package.json from the document-field VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "document-field",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.0.3",
    "eslint-config-vtex-react": "^6.0.3",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^1.19.1",
    "typescript": "^3.7.5"
  },
  "version": "0.0.0"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of document-field/manifest.json from the document-field VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "document-field",
  "version": "0.1.1",
  "title": "Document Field",
  "description": "UI component responsible for rendering a document field with a dropdown",
  "builders": {
    "docs": "0.x",
    "react": "3.x"
  },
  "dependencies": {
    "vtex.styleguide": "9.x"
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of datadog-rum-pixel/package.json from the datadog-rum-pixel VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "datadog-rum-pixel",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.1.4",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.3.2",
    "eslint-config-vtex-react": "^6.3.2",
    "husky": "^4.2.3",
    "lint-staged": "^10.1.1",
    "prettier": "^2.0.2",
    "typescript": "^3.8.3"
  }
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of datadog-rum-pixel/manifest.json from the datadog-rum-pixel VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "datadog-rum-pixel",
  "vendor": "vtex",
  "version": "0.1.0",
  "title": "Datadog RUM Pixel App",
  "description": "Datadog RUM Pixel App",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "billingOptions": {
    "termsURL": "https://compliance.vtex.com/gdpr/policies/vtex-privacy-policy",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true,
    "type": "free",
    "availableCountries": [
      "*"
    ]
  },
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x"
  },
  "policies": [
    {
      "name": "pixel"
    }
  ],
  "settingsSchema": {
    "title": "Datadog RUM Pixel",
    "type": "object",
    "description": "For more information abour configuring your Datadog RUM Pixel, see https://docs.datadoghq.com/real_user_monitoring/browser/setup/",
    "bindingBounded": true,
    "properties": {
      "applicationId": {
        "title": "Datadog applicationId",
        "description": "Enter the Application ID from your Datadog RUM Application, the Applicatiion ID should be something like 'b64882ae-821c-4e3a-a6a8-1b438b4af7f3'",
        "type": "string"
      },
      "clientToken": {
        "title": "Datadog clientToken",
        "description": "Enter the Client Token from your Datadog RUM Application, the Client Token should be something like 'pubblictoken'",
        "type": "string"
      },
      "site": {
        "title": "Datadog Site",
        "description": "Enter the Datadog site name, see https://docs.datadoghq.com/getting_started/site/ for more information on how to get yours",
        "type": "string"
      },
      "service": {
        "title": "Datadog Service (Application name)",
        "description": "Enter the Datadog service name, this will be used to identify the application in Datadog RUM. This is commonly the application name that you created in Datadog",
        "type": "string"
      },
      "version": {
        "title": "App Version",
        "description": "Enter a version of you application (store), this will be used to identify the application version in Datadog RUM",
        "type": "string"
      },
      "sessionSampleRate": {
        "title": "Session Sample Rate",
        "description": "Enter the sample rate for the RUM pixel, this will be used to control the amount of data sent to Datadog RUM",
        "type": "number",
        "default": 100
      },
      "sessionReplaySampleRate": {
        "title": "Session Replay Sample Rate",
        "description": "Enter the sample rate for the RUM pixel for session replays, this will be used to control the amount of data sent to Datadog RUM",
        "type": "number",
        "default": 20
      },
      "trackUserInteractions": {
        "title": "Track User Interactions",
        "description": "Enable or disable tracking of user interactions in the RUM pixel",
        "type": "boolean",
        "default": true
      },
      "trackResources": {
        "title": "Track Resources",
        "description": "Enable or disable tracking of resources (images, scripts, etc) in the RUM pixel",
        "type": "boolean",
        "default": true
      },
      "trackLongTasks": {
        "title": "Track Long Tasks",
        "description": "Enable or disable tracking of long tasks in the RUM pixel",
        "type": "boolean",
        "default": true
      },
      "defaultPrivacyLevel": {
        "title": "Default Privacy Level",
        "description": "Enter the default privacy level for the RUM pixel, this will be used to control the amount of data sent to Datadog RUM",
        "type": "string",
        "enum": [
          "allow",
          "mask",
          "mask-user-input"
        ],
        "default": "mask-user-input"
      },
      "activateInDev": {
        "title": "Activate in Dev Mode",
        "description": "Enable or disable the RUM pixel in development mode (myvtex)",
        "type": "boolean",
        "default": false
      }
    }
  },
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"
}

```


[System] You are an expert VTEX IO developer. You specialize in building VTEX Store Framework apps, React components, GraphQL APIs, and Node.js services for e-commerce platforms.

[User] Show me the implementation of abandoned-cart/package.json from the abandoned-cart VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "service-example",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "^12.12.21",
    "@vtex/prettier-config": "^0.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.2.1",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "prettier": "^1.19.1",
    "typescript": "^3.7.5"
  }
}

```