[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-739693/dangerfile.js from the KI-739693 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 KI-739693/package.json from the KI-739693 VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "kit-indexer",
  "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.1",
    "@vtex/danger": "^0.2.7",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.7.0",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "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 KI-739693/manifest.json from the KI-739693 VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "ki-739693",
  "vendor": "vtex",
  "version": "1.0.1",
  "title": "KI 739693",
  "description": "App for fixing KI 739693",
  "dependencies": {
    "vtex.catalog-api-proxy": "0.x"
  },
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {},
  "credentialType": "absolute",
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.vtex.com",
        "path": "/{{account}}/pricing/prices/*"
      }
    },
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "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 store-framework-course/manifest.json from the store-framework-course VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "store-framework",
  "vendor": "vtex",
  "version": "0.3.0",
  "title": "Store Framework Course",
  "description": "Course App for the Store Framework Course",
  "dependencies": {},
  "builders": {
    "course": "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 sticky-layout/package.json from the sticky-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "sticky-layout",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{ts,js,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.1.3",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.1.0",
    "eslint-config-vtex-react": "^6.1.0",
    "husky": "^4.2.3",
    "lint-staged": "^10.0.7",
    "prettier": "^1.19.1",
    "react": "^16.12.0",
    "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 sticky-layout/manifest.json from the sticky-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "sticky-layout",
  "version": "0.3.6",
  "title": "Sticky Layout",
  "description": "Sticky Layout component",
  "builders": {
    "store": "0.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "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 crowdin-integration/manifest.json from the crowdin-integration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "crowdin-integration",
  "vendor": "vtex",
  "version": "0.7.2",
  "title": "Crowdin integration",
  "description": "IO-Crowdin API",
  "mustUpdateAt": "2020-07-29",
  "categories": [],
  "dependencies": {
    "vtex.messages": "1.x"
  },
  "builders": {
    "node": "4.x",
    "docs": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "graphql-query"
    },
    {
      "name": "vtex.messages:graphql-save-translation-messages"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/checkout/pub/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.crowdin.com",
        "path": "/api/project/*"
      }
    }
  ],
  "registries": [
    "smartcheckout"
  ],
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema",
  "settingsSchema": {
    "title": "Crowdin Integration",
    "type": "object",
    "properties": {
      "CrowdinAPIToken": {
        "title": "Token for Crowdin API V2",
        "type": "string",
        "default": "",
        "description": "Enter your Crowdin Personal Access Token for API V2"
      }
    }
  }
}

```


[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 google-analytics/manifest.json from the google-analytics VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "google-analytics",
  "vendor": "vtex",
  "version": "1.1.0",
  "title": "Google Analytics",
  "description": "Google Analytics app",
  "mustUpdateAt": "2019-04-03",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x"
  },
  "policies": [
    {
      "name": "pixel"
    }
  ],
  "settingsSchema": {
    "title": "Google Analytics",
    "type": "object",
    "properties": {
      "gaId": {
        "title": "Google Analytics",
        "description": "Enter the ID (UA-XXXXX-Y) from your Google Analytics",
        "type": "string"
      }
    }
  },
  "$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-example/package.json from the orders-tracking-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "orders-feed-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"
  }
}

```


[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-example/manifest.json from the orders-tracking-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "orders-tracking-example",
  "vendor": "vtex",
  "version": "0.2.0",
  "title": "Orders Tracking Example",
  "description": "Boilerplate app for receving order tracking notification events",
  "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"
    }
  ],
  "$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 freshchat/manifest.json from the freshchat VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "freshchat-pixel",
  "vendor": "vtex",
  "version": "1.0.1",
  "title": "FreshChat",
  "description": "Pixel for FreshChat",
  "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": "FreshChat Pixel",
    "type": "object",
    "properties": {
      "fcId": {
        "title": "Token",
        "description": "Enter the token from your FreshChat account",
        "type": "string"
      }
    }
  },
  "$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 iframe/package.json from the iframe VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "iframe",
  "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"
    ],
    "*.json": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@types/node": "12.12.21",
    "@vtex/prettier-config": "^0.1.3",
    "@vtex/tsconfig": "^0.4.4",
    "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 iframe/manifest.json from the iframe VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "iframe",
  "version": "0.8.0",
  "title": "Iframe",
  "description": "An app to use sourced iframes",
  "defaultLocale": "pt-BR",
  "builders": {
    "docs": "0.x",
    "messages": "1.x",
    "store": "0.x",
    "react": "3.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.styleguide": "9.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 kit-indexer/dangerfile.js from the kit-indexer 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 kit-indexer/package.json from the kit-indexer VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "kit-indexer",
  "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.1",
    "@vtex/danger": "^0.2.7",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.7.0",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "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 kit-indexer/manifest.json from the kit-indexer VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "kit-indexer",
  "vendor": "vtex",
  "version": "1.0.0",
  "title": "Kit Indexer",
  "description": "Indexer for kits in VTEX",
  "dependencies": {
    "vtex.catalog-api-proxy": "0.x"
  },
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {},
  "credentialType": "absolute",
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "*"
      }
    },
    {
      "name": "colossus-fire-event"
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "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 avantlink/manifest.json from the avantlink VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "avantlink",
  "vendor": "vtex",
  "version": "1.0.4",
  "title": "Avantlink",
  "description": "Avantlink",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "billingOptions": {
    "termsURL": "",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true
  },
  "builders": {
    "pixel": "0.x",
    "store": "0.x",
    "react": "3.x"
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x"
  },
  "settingsSchema": {
    "title": "Avantlink",
    "type": "object",
    "properties": {
      "siteId": {
        "title": "Site ID",
        "type": "string"
      }
    }
  },
  "$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 starter.node-service/.lintstagedrc.json from the starter.node-service VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "src/*.{ts,js,tsx,jsx}": ["eslint --fix", "prettier --write"],
  "src/*.{json}": ["prettier --write"],
  "src/*.js": ["eslint --cache --fix", "prettier --write"],
  "{css,md}": "prettier --write"
}

```


[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 starter.node-service/README.md from the starter.node-service VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Node Service Starter for VTEX IO apps

This repository is used to generate a boilerplate to implement a [VTEX IO](https://developers.vtex.com/vtex-developer-docs/docs/welcome) service with [Node.js](https://nodejs.org/) HTTP handler.

## How to use it

> :warning: `vtex init` is not integrated with this template yet. Meanwhile, you can download the code directly from the repository

1. [Install VTEX IO CLI](https://developers.vtex.com/vtex-developer-docs/docs/vtex-io-documentation-vtex-io-cli-install)
2. Run the command `vtex init` to create an app, and follow the instructions to add a Node.js service in the app

It will create a project folder for the new app and add the Node.js service into it. Once the service is created, you can modifying it as you like.

## How does it work

VTEX IO runs the service as a container. A `Dockerfile` to build the container image is provided by the starter, and it will be used by VTEX IO engine to build the image.

You can modify anything that is provided by default in the boilerplate, including the Dockerfile.

## Features

The generated boilerplate comes with best practices for creating VTEX IO Node.js services:

- HTTP server using [Koa](https://koajs.com/)
  - A few useful Koa middlewares are added by default. You can see them [here](https://github.com/vtex-apps/starter.node-service/blob/main/src/index.ts).
- Local development and testing
- [Useful yarn scripts](#scripts) to develop and test your service
- A sample route for REST requets
- A sample route for [graphql](https://graphql.org/) requests
- Tests using [Jest](https://jestjs.io/)
- TypeScript setup using [default VTEX configuration](https://github.com/vtex/typescript/tree/main/packages/tsconfig)
- Linter using [eslint](https://eslint.org/) with [default VTEX configuration](https://github.com/vtex/typescript/blob/main/packages/eslint-config-vtex/README.md)
- Automatically formats staged files before `git commit`
- Code formatting using default [Prettier](https://prettier.io/) with [default VTEX configuration](https://github.com/vtex/typescript/tree/main/packages/prettier-config)

## Scripts

Following scripts are available to be used with [yarn](https://classic.yarnpkg.com/en/docs/install/):

- `yarn build` - Builds the service generating final files in the `dist` folder. This will use `tsc` to convert the `TypeScript` files to pure `JavaScript`
- `yarn start` - Builds the service and start it on `localhost` in `prodution` mode
- `yarn dev` - Builds the service and start it service on `localhost` in `development` mode
- `yarn watch` - Starts the service on `localhost` with [nodemon](https://github.com/remy/nodemon) and [ts-node](https://typestrong.org/ts-node/), and automatically restarts the server when `src` files are changed
- `yarn debug` - Starts the service on `localhost` ready for debugging the execution
- `yarn test` - Runs tests from `src/__tests__` with `jest`
- `yarn lint` - Lints and formats the code

## Recipes

`// TODO`

## Telemetry

`// TODO`

```


[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 starter.node-service/package.json from the starter.node-service VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "vtex-app-node-server-template",
  "version": "0.0.17",
  "scripts": {
    "start": "tsc && NODE_ENV=production node dist/index.js",
    "build": "tsc",
    "dev": "tsc && NODE_ENV=development nodemon dist/index.js",
    "watch": "NODE_ENV=development nodemon --watch 'src/**/*' -e ts,tsx --exec 'ts-node' src/index.ts",
    "debug": "tsc && NODE_ENV=development nodemon --inspect dist/index.js",
    "test": "NODE_ENV=test jest --no-cache",
    "lint": "eslint --fix src && prettier --write 'src/**/*.ts'"
  },
  "dependencies": {
    "@jest/types": "^27.0.6",
    "@koa/cors": "^3.1.0",
    "@vtex/api": "^6.45.6",
    "@vtex/clients": "^2.19.1",
    "axios": "^0.25.0",
    "dotenv": "^14.3.2",
    "graphql": "^15.5.1",
    "http-status-codes": "^2.1.4",
    "koa": "^2.13.1",
    "koa-bodyparser": "^4.3.0",
    "koa-compose": "^4.1.0",
    "koa-graphql": "^0.9.0",
    "koa-helmet": "^6.1.0",
    "koa-json": "^2.0.2",
    "koa-logger": "^3.2.1",
    "koa-router": "^10.0.0",
    "koa-swagger-decorator": "^1.7.6",
    "reflect-metadata": "^0.1.13"
  },
  "devDependencies": {
    "@types/graphql": "^14.5.0",
    "@types/jest": "^26.0.24",
    "@types/koa": "^2.13.4",
    "@types/koa-bodyparser": "^4.3.3",
    "@types/koa-graphql": "^0.8.5",
    "@types/koa-helmet": "^6.0.4",
    "@types/koa-json": "^2.0.20",
    "@types/koa-logger": "^3.1.1",
    "@types/koa-router": "^7.4.4",
    "@types/koa__cors": "^3.0.3",
    "@types/node": "^16.4.13",
    "@types/supertest": "^2.0.11",
    "@vtex/prettier-config": "^0.3.6",
    "@vtex/tsconfig": "^0.5.6",
    "eslint": "7.32.0",
    "eslint-config-vtex": "^14.1.0",
    "husky": "^7.0.1",
    "jest": "^27.0.6",
    "lint-staged": ">=10",
    "nodemon": "^2.0.12",
    "prettier": "^2.3.2",
    "supertest": "^6.1.4",
    "ts-jest": "^27.0.4",
    "ts-node": "^10.2.0",
    "typescript": "^4.3.5"
  },
  "prettier": "@vtex/prettier-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 amp-header/package.json from the amp-header VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "private": true,
  "devDependencies": {
    "@types/node": "^12.7.0",
    "eslint": "^6.1.0",
    "eslint-config-vtex": "^11.0.0",
    "prettier": "^1.18.2",
    "typescript": "^3.5.3"
  },
  "dependencies": {
    "eslint-config-vtex-react": "^5.0.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 amp-header/manifest.json from the amp-header VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "amp-header",
  "version": "0.0.0",
  "title": "VTEX AMP header.",
  "builders": {
    "store": "0.x",
    "react": "3.x"
  },
  "dependencies": {
    "vtex.store-icons": "0.x",
    "vtex.category-menu": "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 mycheckout-checkout-service/nest-cli.json from the mycheckout-checkout-service VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "collection": "@nestjs/schematics",
  "sourceRoot": "src/app",
  "compilerOptions": {
    "assets": [
      {
        "include": "../assets/**/*",
        "outDir": "dist/assets",
        "watchAssets": true
      }
    ],
    "webpack": false
  }
}

```


[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-checkout-service/README.md from the mycheckout-checkout-service VTEX app.

[Assistant]
Here's the implementation:

```markdown
# Checkoutless Backend
BackEnd Checkoutless project on [Nest](https://github.com/nestjs/nest) framework TypeScript.

## Requirements

- [Nodejs](https://nodejs.org/) v14 or higher

## Installation and configuration

1. First clone this repository and cd into it:
   ```bash
	$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/checkoutless-backend
	$ cd checkoutless-backend
   ```

2. Config the secrets and environment values:

	We have to config all the values we need to run the application for `production` or `development` environments.

	2.1. Edit the configuration file for your application `.env.development` or `.env.production` file.  It would contain the variables of the MongoDB database and other services, but not the secrets.

	2.2. Create the secrets files for your application, depends on the environment. Then edit the secrets files (`credentials.json`, `db.pwd` or `db.crt`. The latter for MongoDB [X.509 certificates](https://docs.mongodb.com/manual/core/security-x.509/)  for passwordless authentication):
	```bash
	# development environment secrets
	$ cp secrets/development/credential.json.example secrets/development/credential.json
	$ cp secrets/development/db.pwd.example secrets/development/db.pwd

	# production environment secrets
	$ cp secrets/production/credential.json.example secrets/production/credential.json
	# for password
	$ cp secrets/production/db.pwd.example secrets/production/db.pwd
	# for passwordless
	$ cp secrets/production/db.crt.example secrets/production/db.crt
	```

## Running with docker

1. If you have [Docker](https://www.docker.com/) already installed on your machine, go to step 2.

	For installing docker in UNIX systems please make:
	```bash
	$ bash docker/deployment/install-docker.sh
	```

	For installing docker in windows systems please follow the instructions: https://docs.docker.com/docker-for-windows/install/

2.  Running
	```bash
	# develompent environment (It has a MongoDB container)
	$ docker-compose -f docker/docker-compose.dev.yml up -d

	# production environment
	$ docker-compose -f docker/docker-compose.yml up -d
	```

## Running without docker

1. Install the dependencies.
   ```bash
   $ npm install
   ```

2. Launch local web server.
   ```bash
	# development mode
	$ npm run start

	# watch mode
	$ npm run start:dev

	# production mode
	$ npm run start:prod
   ```

## Try out
Navigate to [http://localhost:3333](http://localhost:3333)

## Ngrok expose
Expose your application to the wider internet using [ngrok](https://ngrok.com/download). You can click [here](https://www.twilio.com/blog/2015/09/6-awesome-reasons-to-use-ngrok-when-testing-webhooks.html) for more details. This step important to connect with [vtex io](https://vtex.io/).

```bash
ngrok http 3333
```
When ngrok starts up, it will assign a unique URL to your tunnel. It might be something like `https://asdf456.ngrok.io`. Take note of this and paste in the manifest.json of the vtex project.

For installing docker in windows systems please follow the instructions in:
https://docs.docker.com/docker-for-windows/install/

## Tests
```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```

## Support

It Globers

## Stay in touch

- Author- [Ismael Calle](ismael.calle@itglobers.com)
```


[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-checkout-service/package.json from the mycheckout-checkout-service VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "back_checkoutless",
  "version": "0.0.1",
  "description": "",
  "author": "icalle",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "prebuild": "rimraf dist",
    "build": "nest build",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main.js",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json"
  },
  "dependencies": {
    "@nestjs/axios": "^0.0.6",
    "@nestjs/cli": "^8.2.1",
    "@nestjs/common": "^8.3.1",
    "@nestjs/config": "^1.2.0",
    "@nestjs/core": "^8.3.1",
    "@nestjs/jwt": "^8.0.0",
    "@nestjs/mapped-types": "^1.0.1",
    "@nestjs/passport": "^8.0.0",
    "@nestjs/platform-express": "^8.3.1",
    "@nestjs/typeorm": "^8.0.3",
    "@types/mercadopago": "^1.5.5",
    "aws-sdk": "^2.977.0",
    "bcrypt": "^5.0.1",
    "class-transformer": "^0.4.0",
    "class-validator": "^0.13.1",
    "cookie": "^0.4.1",
    "crypto": "^1.0.1",
    "dynamoose": "^2.8.5",
    "graphql": "^15.5.1",
    "maskdata": "^1.1.6",
    "mercadopago": "^1.5.8",
    "nestjs-config": "^1.4.8",
    "nestjs-dynamoose": "^0.3.4",
    "nestjs-i18n": "^8.1.2",
    "passport": "^0.4.1",
    "passport-jwt": "^4.0.0",
    "ramda": "^0.27.1",
    "reflect-metadata": "^0.1.13",
    "rimraf": "^3.0.2",
    "rxjs": "^7.5.4",
    "string-similarity": "^4.0.4",
    "twilio": "^3.67.2",
    "typeorm": "^0.2.34",
    "yup": "^0.32.11"
  },
  "devDependencies": {
    "@golevelup/ts-jest": "^0.3.2",
    "@nestjs/schematics": "^8.0.7",
    "@nestjs/testing": "^8.3.1",
    "@types/cookie": "^0.4.1",
    "@types/express": "^4.17.11",
    "@types/jest": "^26.0.22",
    "@types/node": "^14.14.36",
    "@types/ramda": "^0.27.45",
    "@types/supertest": "^2.0.10",
    "@typescript-eslint/eslint-plugin": "^4.19.0",
    "@typescript-eslint/parser": "^4.19.0",
    "eslint": "^7.22.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-prettier": "^3.3.1",
    "jest": "^26.6.3",
    "prettier": "^2.2.1",
    "supertest": "^6.1.3",
    "ts-jest": "^26.5.4",
    "ts-loader": "^8.0.18",
    "ts-node": "^9.1.1",
    "tsconfig-paths": "^3.9.0",
    "typescript": "^4.2.3",
    "webpack": "^5.70.0"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": "src",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  }
}

```


[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-checkout-service/tsconfig.build.json from the mycheckout-checkout-service VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "extends": "./tsconfig.json",
  "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
}

```


[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 pharma-orders-admin/package.json from the pharma-orders-admin VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "pharma-orders-admin",
  "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"
  },
  "dependencies": {
    "react-intl": "^5.20.10"
  }
}

```


[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 pharma-orders-admin/manifest.json from the pharma-orders-admin VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtexarg",
  "name": "pharma-orders-admin",
  "version": "0.1.4",
  "title": "Pharma Orders Admin",
  "description": "",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.styleguide": "9.x"
  },
  "builders": {
    "react": "3.x",
    "admin": "0.x",
    "messages": "1.x",
    "docs": "0.x",
    "node": "6.x",
    "graphql": "1.x"
  },
  "settingsSchema": {
    "title": "Pharma Orders Broadcast",
    "type": "object",
    "properties": {
      "idCategoriaMedicamentos": {
        "title": "Id de Categoria Medicamentos",
        "type": "number"
      }
    }
  },
  "billingOptions": {
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "type": "free",
    "availableCountries": ["*"]
  },
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.myvtex.com",
        "path": "/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercebeta.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/*"
      }
    },
    {
      "name": "Get_Account_By_Identifier"
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "OMSViewer"
    },
    {
      "name": "AcessaTodosPedidos"
    },
    {
      "name": "ADMIN_DS"
    },
    {
      "name": "POWER_USER_DS"
    },
    {
      "name": "AdminPortal"
    },
    {
      "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 service-worker-example/package.json from the service-worker-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "service-worker-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",
    "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 service-worker-example/manifest.json from the service-worker-example VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "service-worker-example",
  "vendor": "vtex",
  "version": "0.0.1",
  "title": "Service Worker Example",
  "description": "Reference app for VTEX IO apps that enable service-worker builder",
  "categories": [],
  "dependencies": {},
  "builders": {
    "docs": "0.x",
    "service-worker": "0.x"
  },
  "credentialType": "absolute",
  "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 bluecore/manifest.json from the bluecore VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "bluecore",
  "version": "1.1.2",
  "title": "Bluecore",
  "description": "Bluecore",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-10-01",
  "billingOptions": {
    "termsURL": "",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x"
  },
  "settingsSchema": {
    "title": "Bluecore",
    "type": "object",
    "properties": {
      "siteId": {
        "title": "Site ID",
        "description": "Enter your site ID",
        "type": "string"
      }
    }
  },
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "$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 blog-interfaces/package.json from the blog-interfaces VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "blog-interfaces",
  "scripts": {
    "lint": "cd react && yarn lint"
  },
  "devDependencies": {
    "eslint": "^7.4.0",
    "eslint-config-vtex": "^12.7.0",
    "eslint-config-vtex-react": "^6.7.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 blog-interfaces/manifest.json from the blog-interfaces VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "blog-interfaces",
  "version": "0.2.0",
  "title": "Blog Interfaces",
  "description": "Abstract interfaces for blog integrations",
  "builders": {
    "store": "0.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {},
  "$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 opencart/README.md from the opencart VTEX app.

[Assistant]
Here's the implementation:

```markdown
> ### This is an Opencart 3 extension
# VTEX seller connector for Opencart 3

Using this custom connector will allow VTEX stores to become marketplaces themselves and sell products from an external opencart seller.

## Installation Guide

### 1. Opencart configuration

1) Install the extension by either copying the files in the project root folder or download as a zip file and upload it form `Extensions > Installer`

2) In the opencart admin section we navigate to `Extensions -> Extensions`, choose extension type `Modules`, find the `VTEX Connector` module.
   Here we fill out and save:
* `Marketplace account` (required) - represents the VTEX marketplace account name
* `App key` and `App token` (required) - required for the API calls made to the marketplace
* `Seller ID` (required) - used when configuring the seller in the marketplace

3) Navigate to `System -> Users -> API`. Generate or use an existing `OPENCART_API_KEY`, make sure it is enabled and save.

### 2. VTEX configuration

Then we need to set up a new seller in the VTEX marketplace admin section.<br>
We navigate to `Marketplace -> Sellers -> Management` and click de `New seller` button.<br>
When prompted `Choose the type of Seller you want to register`, choose `Others`, fill out the form and save:
* `Seller ID` - is the `Seller ID` configured in opencart
* `Other Name` - desired name
* `Admin Email` - an email address
* `Fulfillment EndPoint` - represents the seller endpoint (see bellow)
* make sure `Active?` is checked

When using the `OPENCART_API_KEY` in fulfillment endpoint authorization, you need to convert it to MD5 format and obtain a `MD5_OPENCART_API_KEY` ([md5 converter link](https://www.md5hashgenerator.com/)). <br>
The `Fulfillment EndPoint` should be `https://{opencartBaseURl}/api/fulfillment?token=MD5_OPENCART_API_KEY`<br>

#### <u>Marketplace trade policies</u>
In the VTEX marketplace got to `Store Setup -> Trade policies`, edit a desired policy, and next to `Sellers` check the newly created seller so that the policy will also apply to them.<br>
Here you can also set the currency to match the seller store, or change it in the seller store to match the policy.

#### <u>Shipping Rates</u>

In the opencart admin section we navigate to `Extensions -> Extensions`, choose extension type `Shipping`, and edit the `Flat Rate` cost.

#### <u>Products specifications</u>

In order to correctly retrieve product specifications from Opencart into VTEX, the following conditions must be met before approving new products:
* in VTEX, under `MARKETPLACE -> Sellers -> Categories and Brands` the `Specifications mapping` needs to be filled out.<br>
  On the `Seller` side will be the specification's label from Opencart and on the `Marketplace` side will be the specification's VTEX name.<br>
* When you approve a new product with specifications from Opencart, you need to make sure that those specifications exists on the VTEX category where you approve the product.<br>
* In VTEX, category specifications can be found under `PRODUCTS -> Catalog -> Categories`, select the category in question
  and from the `ACTIONS` tab select `Field (Sku)`.<br>
  Here you can edit or add a new specification.<br>
  Always make sure `Active` is checked, even after editing/creating a specification.
* The specification name is used in the `Marketplace` side when doing `Specifications mapping`.

<hr>

## How does it work?

Following the [external seller connector](https://developers.vtex.com/vtex-rest-api/docs/external-seller-integration-connector) documentation, there are nine different API requests. Five of these are calls that the seller should make to the marketplace. The other four are requests that the marketplace will need to make to the seller.

### 1. Catalog notification, registration, update

The seller, in this case opencart, is responsible for suggesting new SKUs to be sold in the marketplace and also for informing the marketplace about changes in their SKUs that already exist in the marketplace.

When changing product information, in opencart, the `admin/model/catalog/product/editProduct/after` event is triggered.<br>

Here the first step is to check if the sku exists in the marketplace by calling the [Change Notification endpoint](https://developers.vtex.com/vtex-rest-api/reference/catalog-api-sku-seller#catalog-api-get-seller-sku-notification) with two possible responses:
* Status 404, means that the SKU does not yet exist in the marketplace. The seller will push the SKU offer to the marketplace using [Send SKU Suggestion](https://developers.vtex.com/vtex-rest-api/reference/manage-suggestions-1)
* Status 200, means that the SKU exist in the marketplace. The marketplace will make a request to the seller to get updated sku information using [Fulfillment Simulation](https://developers.vtex.com/vtex-rest-api/reference/external-seller#fulfillment-simulation)

All SKUs provided by the [Send SKU Suggestion](https://developers.vtex.com/vtex-rest-api/reference/manage-suggestions-1) endpoint can be found in the store admin area under `Marketplace -> Sellers -> Received SKUs`.<br>
Once approved, the SKUs will become available in the `Products -> Catalog` section and from here on out only price and inventory will be updated via [Fulfillment Simulation](https://developers.vtex.com/vtex-rest-api/reference/external-seller#fulfillment-simulation).

During the order flow, the marketplace storefront needs to be constantly fetching the updated price and inventory of each SKU in the cart. This is essential to guarantee that the customer will always be presented with the most updated information possible.
This information is provided by the seller through the [Fulfillment Simulation](https://developers.vtex.com/vtex-rest-api/reference/external-seller#fulfillment-simulation) endpoint.

### 2. Order placement and dispatching

Once the customer finishes their checkout, the marketplace needs to let the seller know there is a newly placed order through the [Order Placement](https://developers.vtex.com/vtex-rest-api/reference/external-seller#order-placement) endpoint. The marketplace will send all data required for the seller to be able to create the order in their own store.

After payment is approved, the marketplace sends a request to the seller through the [Ready For Handling](https://developers.vtex.com/vtex-rest-api/reference/external-seller#order-dispatching) endpoint, to notify it that the fulfillment process can be started.

### 3. Order invoicing

The invoice is issued by the seller, the invoice data must be sent to the marketplace.
The seller sends this information through the [Order Invoice Notification](https://developers.vtex.com/vtex-rest-api/reference/invoice#invoicenotification) request.<br>
In opencart, the call will be triggered on the `admin/model/sale/order/createInvoiceNo/after` event.

### 4. Order cancellation

The order can be cancelled by either the seller or the marketplace.

When the marketplace cancels an order, a request is made to the seller through the [Marketplace Order Cancellation](https://developers.vtex.com/vtex-rest-api/reference/external-seller#mkp-order-cancellation) endpoint.

When the seller (opencart) cancels an order, the `admin/model/sale/order/getTotalOrderHistories/after` event is triggered.<br>
If the order state is `canceled`, the seller makes a request to the seller through the [Cancel Order](https://developers.vtex.com/vtex-rest-api/reference/orders#cancelorder) endpoint.

### 5. Fulfillment EndPoints

The opencart default REST endpoint is `https://{opencartBaseURl}/api`.<br>
The following endpoints where added to opencart in order to accept request from the marketplace:
* `/fulfillment/pvt/orderForms/simulation` - [Fulfillment Simulation](https://developers.vtex.com/vtex-rest-api/reference/external-seller#fulfillment-simulation)
* `/fulfillment/pvt/orders` - [Order Placement](https://developers.vtex.com/vtex-rest-api/reference/external-seller#order-placement)
* `/fulfillment/pvt/orders/:orderId/fulfill` -  [Ready For Handling](https://developers.vtex.com/vtex-rest-api/reference/external-seller#order-dispatching)
* `/fulfillment/pvt/orders/:orderId/cancel` - [Cancel Order](https://developers.vtex.com/vtex-rest-api/reference/orders#cancelorder)
```


[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 react-portal/README.md from the react-portal VTEX app.

[Assistant]
Here's the implementation:

```markdown
# React Portal

# Basic Usage

It is possible to wrap a React element with [Overlay](https://github.com/vtex-apps/react-portal/blob/master/react/Overlay.tsx) to make use of its advantages such as making the block overlap any other block despite its z-index.

## Example:

```
<Overlay>

Hello World!

</Overlay>
```

```


[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 react-portal/package.json from the react-portal VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "version": "0.2.4",
  "devDependencies": {
    "eslint": "^5.16.0",
    "eslint-config-vtex-react": "^4.0.0",
    "prettier": "^1.17.0",
    "typescript": "^3.4.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 react-portal/manifest.json from the react-portal VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "react-portal",
  "vendor": "vtex",
  "version": "0.4.1",
  "title": "React Portal",
  "description": "Component for adding other components on the top level of the DOM",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "builders": {
    "react": "3.x",
    "docs": "0.x"
  },
  "dependencies": {
    "vtex.css-handles": "0.x"
  },
  "mustUpdateAt": "2020-03-28",
  "$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 modal-layout/package.json from the modal-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "modal-layout",
  "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,graphql,gql}": [
      "prettier --write"
    ]
  },
  "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"
  }
}

```


[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 modal-layout/manifest.json from the modal-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "modal-layout",
  "version": "0.14.2",
  "title": "VTEX Modal Layout",
  "description": "A React Modal component.",
  "defaultLocale": "pt-BR",
  "builders": {
    "messages": "1.x",
    "store": "0.x",
    "react": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "dependencies": {
    "vtex.css-handles": "1.x",
    "vtex.store-icons": "0.x",
    "vtex.responsive-values": "0.x",
    "vtex.native-types": "0.x",
    "vtex.pixel-manager": "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 challenge-tp-condition/package.json from the challenge-tp-condition VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "challenge-tp-condition",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "cd ./react && yarn lint",
    "format": "prettier --write \"**/*.{ts,js,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",
    "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.2",
  "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 challenge-tp-condition/manifest.json from the challenge-tp-condition VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "challenge-tp-condition",
  "version": "0.6.1",
  "title": "Challenge",
  "description": "",
  "builders": {
    "react": "3.x",
    "messages": "1.x",
    "docs": "0.x",
    "store": "0.x"
  },
  "dependencies": {
    "vtex.store": "2.x",
    "vtex.store-graphql": "2.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 binding-countries/manifest.json from the binding-countries VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "binding-countries",
  "vendor": "vtex",
  "version": "0.1.2",
  "title": "Binding Countries",
  "description": "Binding Countries",
  "dependencies": {
    "vtex.render-server": "8.x"
  },
  "builders": {
    "docs": "0.x"
  },
  "scripts": {},
  "credentialType": "absolute",
  "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema",
  "settingsSchema": {
    "title": "Schema",
    "type": "object",
    "properties": {
      "bindings": {
        "default": [],
        "title": "Bindings",
        "type": "array",
        "items": {
          "default": [],
          "type": "object",
          "properties": {
            "canonicalBaseAddress": {
              "title": "Canonical Base Address",
              "type": "string"
            },
            "targetCountries": {
              "title": "Target Countries",
              "oneOf": [
                {
                  "type": "array",
                  "title": "Countries code list",
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1
                },
                {
                  "type": "null",
                  "title": "None"
                }
              ]
            }
          }
        }
      }
    }
  }
}

```


[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-payment/package.json from the checkout-payment VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "checkout-payment",
  "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"
    ]
  },
  "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 checkout-payment/manifest.json from the checkout-payment VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "checkout-payment",
  "version": "0.16.3",
  "title": "IO Base Component",
  "description": "IO Base component",
  "defaultLocale": "pt-BR",
  "builders": {
    "messages": "1.x",
    "react": "3.x",
    "docs": "0.x",
    "store": "0.x"
  },
  "mustUpdateAt": "2019-04-02",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.address-context": "0.x",
    "vtex.checkout-components": "0.x",
    "vtex.checkout-container": "0.x",
    "vtex.checkout-graphql": "0.x",
    "vtex.document-field": "0.x",
    "vtex.formatted-price": "0.x",
    "vtex.order-manager": "0.x",
    "vtex.order-payment": "0.x",
    "vtex.payment-flags": "2.x",
    "vtex.place-components": "0.x",
    "vtex.styleguide": "9.x",
    "vtex.css-handles": "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 b2b-organizations/package.json from the b2b-organizations VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "b2b-organizations",
  "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",
    "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"
    ],
    "*.json": [
      "prettier --write"
    ],
    "messages/*.json": [
      "yarn lint:locales"
    ]
  },
  "devDependencies": {
    "@types/node": "12.12.21",
    "@vtex/intl-equalizer": "^2.5.0",
    "@vtex/prettier-config": "0.1.4",
    "eslint": "7.12.1",
    "eslint-config-vtex": "^14.1.1",
    "eslint-config-vtex-react": "^6.8.3",
    "husky": "4.2.3",
    "lint-staged": "10.1.1",
    "prettier": "2.0.2",
    "typescript": "3.8.3"
  },
  "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 b2b-organizations/manifest.json from the b2b-organizations VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "b2b-organizations",
  "vendor": "vtex",
  "version": "3.1.2",
  "title": "B2B Organizations",
  "description": "App to create and manage B2B Organizations and Cost Centers",
  "mustUpdateAt": "2022-08-28",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.b2b-organizations-graphql": "2.x",
    "vtex.catalog-graphql": "1.x",
    "vtex.admin-graphql": "2.x",
    "vtex.store-graphql": "2.x",
    "vtex.address-form": "4.x",
    "vtex.country-codes": "2.x",
    "vtex.store": "2.x",
    "vtex.css-handles": "0.x",
    "vtex.styleguide": "9.x",
    "vtex.storefront-permissions": "3.x",
    "vtex.my-account": "1.x",
    "vtex.my-account-commons": "1.x",
    "vtex.product-context": "0.x",
    "vtex.session-client": "1.x"
  },
  "builders": {
    "react": "3.x",
    "admin": "0.x",
    "messages": "1.x",
    "docs": "0.x",
    "store": "0.x",
    "vtex.storefront-permissions": "3.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 store-block-course/manifest.json from the store-block-course VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "store-block",
  "vendor": "vtex",
  "version": "0.3.0",
  "title": "Course App for custom block development teaching",
  "description": "VTEX Course App",
  "dependencies": {},
  "builders": {
    "course": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "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 storefront-permissions-ui/package.json from the storefront-permissions-ui VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "storefront-permissions",
  "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": {
    "@types/node": "^12.12.21",
    "@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"
  },
  "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-ui/manifest.json from the storefront-permissions-ui VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "storefront-permissions-ui",
  "vendor": "vtex",
  "version": "3.0.1",
  "title": "Storefront Permissions UI",
  "description": "Manage User's Roles and Permissions on apps that depend on vtex.storefront-permissions",
  "mustUpdateAt": "2022-08-28",
  "scripts": {
    "postreleasy": "vtex publish"
  },
  "dependencies": {
    "vtex.store": "2.x",
    "vtex.css-handles": "1.x",
    "vtex.styleguide": "9.x",
    "vtex.admin-customers-graphql": "3.x",
    "vtex.storefront-permissions": "3.x",
    "vtex.b2b-organizations-graphql": "2.x",
    "vtex.b2b-organizations": "3.x"
  },
  "builders": {
    "react": "3.x",
    "admin": "0.x",
    "messages": "1.x",
    "docs": "0.x",
    "store": "0.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 formula-graphql/manifest.json from the formula-graphql VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "formula-graphql",
  "version": "0.2.3",
  "title": "GraphQL API for the VTEX Formula Hackathon Manager",
  "description": "GraphQL schema and resolvers for the VTEX Formula Hackathon Manager.",
  "credentialType": "absolute",
  "builders": {
    "graphql": "1.x",
    "node": "3.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2017-09-05",
  "scripts": {
    "prereleasy": "bash lint.sh",
    "postreleasy": "vtex publish"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/vtex-apps/formula-graphql.git"
  },
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "vtexid.vtex.com.br",
        "path": "/api/vtexid/pub/authenticated/user"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/license-manager/site/pvt/newtopbar"
      }
    },
    {
      "name": "colossus-write-logs"
    },
    {
      "name": "vbase-read-write"
    }
  ]
}

```


[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-locator/package.json from the store-locator VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "store-locator",
  "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",
    "cy-r": "cd cy-runner && node cy-runner"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && intl-equalizer && intl-equalizer --fix"
    }
  },
  "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/intl-equalizer": "^2.4.2",
    "@vtex/prettier-config": "^0.3.1",
    "cypress-file-upload": "^5.0.8",
    "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"
  },
  "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 store-locator/manifest.json from the store-locator VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "store-locator",
  "version": "1.0.1",
  "title": "Store Locator",
  "description": "Integrates with the logistics module to provide Store Locator pages",
  "builders": {
    "store": "0.x",
    "react": "3.x",
    "messages": "1.x",
    "docs": "0.x",
    "node": "6.x",
    "graphql": "1.x"
  },
  "dependencies": {
    "vtex.store": "2.x",
    "vtex.flex-layout": "0.x",
    "vtex.rich-text": "0.x",
    "vtex.store-graphql": "2.x",
    "vtex.styleguide": "9.x",
    "vtex.render-runtime": "8.x",
    "vtex.css-handles": "0.x",
    "vtex.store-sitemap": "2.x"
  },
  "registries": [
    "smartcheckout"
  ],
  "policies": [
    {
      "name": "outbound-access",
      "attrs": {
        "host": "logistics.vtexcommercestable.com.br",
        "path": "/api/logistics/pvt/configuration/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/checkout/pub/pickup-points/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/segments/*"
      }
    },
    {
      "name": "vtex.store-sitemap:resolve-graphql"
    },
    {
      "name": "LogisticsViewer"
    },
    {
      "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 paypalcp-checkout-ui-settings/package.json from the paypalcp-checkout-ui-settings VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "connector-paypal",
  "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": {
    "@types/node": "^12.12.21",
    "@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.3",
    "lint-staged": "10.1.1",
    "prettier": "2.0.2",
    "typescript": "3.8.3"
  },
  "dependencies": {
    "babel-eslint": "^10.1.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 paypalcp-checkout-ui-settings/manifest.json from the paypalcp-checkout-ui-settings VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "paypalcp-checkout-ui-settings",
  "vendor": "vtex",
  "version": "0.2.3",
  "title": "PayPalCP Checkout UI Settings",
  "description": "Adds PayPal Smart Payment Buttons into Checkout v6",
  "builders": {
    "checkout-ui-custom": "0.x",
    "docs": "0.x"
  },
  "peerDependencies": {
    "vtex.connector-paypal-commerce-platform": "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 elfsight/package.json from the elfsight 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"
  }
}

```


[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 elfsight/manifest.json from the elfsight VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "elfsight",
  "vendor": "vtex",
  "version": "1.0.0",
  "title": "Elfsight",
  "description": "Elfsight widgets help 300,000+ website owners to increase sales, engage visitors, collect leads and more.",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x"
  },
  "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 pixel-manager/package.json from the pixel-manager VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "pixel-manager",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "test": "cd ./react && yarn test --verbose",
    "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.5",
    "eslint": "^7.14.0",
    "eslint-config-vtex": "^12.8.11",
    "eslint-config-vtex-react": "^6.8.3",
    "husky": "^4.3.0",
    "json-schema": "^0.2.5",
    "lint-staged": "^10.5.1",
    "prettier": "^2.2.0",
    "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 pixel-manager/manifest.json from the pixel-manager VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "pixel-manager",
  "version": "1.9.0",
  "title": "VTEX Pixel Manager",
  "description": "The VTEX Pixel Manager App.",
  "builders": {
    "react": "3.x"
  },
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "$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 zendesk-chat/package.json from the zendesk-chat VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "zendesk-chat",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "lint": "eslint --ext js,jsx,ts,tsx .",
    "format": "prettier --write \"**/*.{html,json}\""
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,js,tsx,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,graphql,gql}": [
      "prettier --write"
    ],
    "*.{html}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@vtex/prettier-config": "^0.3.3",
    "eslint": "^7.12.1",
    "eslint-config-vtex": "^12.8.8",
    "eslint-config-vtex-react": "^6.7.10",
    "husky": "^4.3.0",
    "lint-staged": "^10.5.0",
    "prettier": "^2.1.2",
    "typescript": "^4.0.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 zendesk-chat/manifest.json from the zendesk-chat VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "zendesk-chat",
  "version": "1.4.2",
  "title": "Zendesk Chat",
  "description": "Start using Zendesk chat with just a few clicks.",
  "builders": {
    "store": "0.x",
    "pixel": "0.x",
    "docs": "0.x",
    "react": "3.x"
  },
  "mustUpdateAt": "2019-10-01",
  "billingOptions": {
    "termsURL": "https://compliance.vtex.com/gdpr/policies/vtex-privacy-policy",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true,
    "type": "free",
    "availableCountries": [
      "*"
    ]
  },
  "dependencies": {
    "vtex.pixel-interfaces": "1.x",
    "vtex.render-runtime": "8.x"
  },
  "settingsSchema": {
    "title": "Zendesk Chat",
    "type": "object",
    "required": [
      "accountKey"
    ],
    "properties": {
      "titlePreffix": {
        "title": "Title prefix",
        "description": "Prefix to add to the title of the widget",
        "type": "string"
      },
      "accountKey": {
        "title": "Account Key",
        "description": "Enter your Account Key",
        "type": "string"
      },
      "analytics": {
        "title": "Analytics",
        "description": "Specifies whether to enable or disable Google Analytics tracking",
        "type": "boolean"
      },
      "webWidget": {
        "title": "Web Widget",
        "description": "",
        "type": "object",
        "properties": {
          "theme": {
            "title": "Theme",
            "type": "object",
            "description": "Configurations for the Zendesk chat button. This overwrites any configuration made directly from the Zendesk dashboard.",
            "properties": {
              "theme": {
                "title": "General theme color",
                "description": "This prop may be used as a base, determining the overall color scheme of the widget. Use hex format i.e #FFFFFF.",
                "type": "string"
              },
              "launcherLabel": {
                "title": "Launcher label",
                "description": "Label of the starting launcher button.",
                "type": "string"
              },
              "launcherColor": {
                "title": "Launcher color",
                "description": "Defines the chat button background color. Use hex format i.e #FFFFFF.",
                "type": "string"
              },
              "launcherTextColor": {
                "title": "Launcher text color",
                "description": "Defines the chat button text color. Use hex format i.e #000000.",
                "type": "string"
              },
              "launcherPosition": {
                "title": "Launcher position",
                "description": "Defines the horizontal position of the chat button.",
                "type": "string",
                "default": "right",
                "enum": [
                  "left",
                  "right"
                ],
                "enumNames": [
                  "Bottom left",
                  "Bottom right"
                ]
              },
              "widgetZindex": {
                "title": "Launcher z-index",
                "description": "Defines the z-index of the chat button.",
                "type": "string",
                "default": "999998"
              }
            }
          },
          "helpCenter": {
            "title": "Help Center",
            "description": "",
            "type": "object",
            "properties": {
              "suppress": {
                "title": "Suppress Help Center",
                "description": "",
                "type": "boolean"
              }
            }
          },
          "chat": {
            "title": "Chat",
            "description": "",
            "type": "object",
            "properties": {
              "departments": {
                "title": "Departments",
                "type": "object",
                "properties": {
                  "tags": {
                    "title": "Tags",
                    "description": "",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "enabled": {
                    "title": "Enabled",
                    "description": "Displays the specified departments in the pre-chat form",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "select": {
                    "title": "Select",
                    "description": "Sets the visitor’s default department for the current session",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "$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 buybox-resolver/dangerfile.js from the buybox-resolver 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 buybox-resolver/package.json from the buybox-resolver VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "buybox-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.3.1",
    "@vtex/danger": "^0.2.7",
    "eslint": "^6.8.0",
    "eslint-config-vtex": "^12.7.0",
    "husky": "^4.2.0",
    "lint-staged": "^10.0.2",
    "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 buybox-resolver/manifest.json from the buybox-resolver VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "buybox-resolver",
  "vendor": "vtex",
  "version": "0.1.2",
  "title": "GraphQL resolver for the VTEX store APIs",
  "description": "GraphQL resolvers for the VTEX API for the buybox.",
  "mustUpdateAt": "2022-01-04",
  "categories": [],
  "dependencies": {
    "vtex.catalog-api-proxy": "0.x",
    "vtex.buybox-graphql": "0.x"
  },
  "builders": {
    "node": "6.x",
    "docs": "0.x"
  },
  "scripts": {
    "prereleasy": "bash lint.sh"
  },
  "credentialType": "absolute",
  "policies": [
    {
      "name": "vtex.catalog-api-proxy:catalog-proxy"
    },
    {
      "name": "vtex.catalog-api-proxy:authenticated-catalog-proxy"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "{{account}}.vtexcommercestable.com.br",
        "path": "/api/catalog_system/*"
      }
    },
    {
      "name": "vbase-read-write"
    },
    {
      "name": "colossus-fire-event"
    },
    {
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/segments/*"
      },
      "name": "outbound-access"
    }
  ],
  "$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 flex-layout/package.json from the flex-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "private": true,
  "devDependencies": {
    "eslint": "^5.16.0",
    "eslint-config-vtex-react": "^4.0.0",
    "prettier": "^1.16.4",
    "typescript": "^3.4.2"
  },
  "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 flex-layout/manifest.json from the flex-layout VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "flex-layout",
  "version": "0.21.5",
  "title": "VTEX flex layout component",
  "defaultLocale": "pt-BR",
  "description": "VTEX flex layout component",
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "messages": "1.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2020-04-02",
  "categories": [],
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.store-components": "3.x",
    "vtex.device-detector": "0.x",
    "vtex.responsive-values": "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 pwa-gtm-pixel/manifest.json from the pwa-gtm-pixel VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "pwa-gtm-pixel",
  "vendor": "vtex",
  "version": "1.0.0",
  "title": "PWA Google Tag Manager Pixel",
  "description": "VTEX App that integrates PWA events with Google-tag-manager",
  "billingOptions": {
    "termsURL": "",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true
  },
  "builders": {
    "react": "3.x",
    "store": "0.x",
    "docs": "0.x"
  },
  "dependencies": {
    "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 order-configuration/manifest.json from the order-configuration VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "order-configuration",
  "version": "3.3.1",
  "title": "Order Configuration",
  "description": "A custom price selector for B2B users",
  "defaultLocale": "pt-BR",
  "builders": {
    "graphql": "1.x",
    "messages": "1.x",
    "store": "0.x",
    "react": "3.x",
    "node": "6.x",
    "docs": "0.x"
  },
  "mustUpdateAt": "2021-07-15",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "dependencies": {
    "vtex.styleguide": "9.x",
    "vtex.css-handles": "0.x",
    "vtex.native-types": "0.x",
    "vtex.store-graphql": "2.x",
    "vtex.flex-layout": "0.x"
  },
  "policies": [
    {
      "name": "ADMIN_DS"
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "portal.vtexcommercestable.com.br",
        "path": "/api/sessions/*"
      }
    },
    {
      "name": "outbound-access",
      "attrs": {
        "host": "api.vtex.com",
        "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 google-tag-manager/package.json from the google-tag-manager VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "google-tag-manager",
  "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 google-tag-manager/manifest.json from the google-tag-manager VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "google-tag-manager",
  "vendor": "vtex",
  "version": "3.5.4",
  "title": "Google Tag Manager",
  "description": "Google Tag Manager",
  "mustUpdateAt": "2019-04-03",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "billingOptions": {
    "type": "free",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "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": "Google Tag Manager",
    "type": "object",
    "bindingBounded": true,
    "properties": {
      "gtmId": {
        "title": "Google Tag Manager",
        "description": "Enter the ID (GTM-XXXX) from your Google Tag Manager",
        "type": "string"
      },
      "allowCustomHtmlTags": {
        "title": "Allow Custom HTML tags",
        "description": "Beware that using Custom HTML tags can drastically impact the store's performance",
        "type": "boolean"
      },
      "sendGA4Events": {
        "title": "Send Google Analytics 4 Events",
        "description": "When this setting is active, also send the GA4 version of the events",
        "type": "boolean"
      }
    }
  },
  "$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 b2cstoreqa.theme/manifest.json from the b2cstoreqa.theme VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "vendor": "vtex",
  "name": "theme",
  "version": "1.0.0",
  "defaultLocale": "en-US",
  "builders": {
    "assets": "0.x",
    "styles": "2.x",
    "store": "0.x",
    "checkout-ui-custom": "0.x"
  },
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "peerDependencies": {
    "vtex.wish-list": "1.x",
    "vtex.reviews-and-ratings": "2.x",
    "vtex.quickorder": "3.x",
    "vtex.location-availability": "0.x",
    "vtex.shopper-location": "0.x",
    "vtex.orderquote": "1.x",
    "vtex.wordpress-integration": "2.x"
  },
  "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.product-specification-badges": "0.x",
    "vtex.product-review-interfaces": "1.x",
    "vtex.telemarketing": "2.x",
    "vtex.order-placed": "2.x",
    "vtex.stack-layout": "0.x",
    "vtex.tab-layout": "0.x",
    "vtex.responsive-layout": "0.x",
    "vtex.slider-layout": "0.x",
    "vtex.iframe": "0.x",
    "vtex.breadcrumb": "1.x",
    "vtex.sticky-layout": "0.x",
    "vtex.add-to-cart-button": "0.x",
    "vtex.search": "2.x",
    "vtex.admin-search": "1.x",
    "vtex.search-resolver": "1.x",
    "vtex.store-image": "0.x",
    "vtex.modal-layout": "0.x",
    "vtex.product-comparison": "0.x",
    "vtex.store-link": "0.x",
    "vtex.shopper-location": "0.x",
    "vtex.address-locator": "2.x",
    "vtex.checkout-summary": "0.x",
    "vtex.product-availability": "0.x",
    "vtex.product-list": "0.x",
    "vtex.store-icons": "0.x",
    "vtex.store-video": "1.x",
    "vtex.product-customizer": "2.x",
    "vtex.product-price": "1.x",
    "vtex.product-specifications": "1.x",
    "vtex.disclosure-layout": "1.x",
    "vtex.modal": "0.x",
    "vtex.store-form": "0.x",
    "vtex.sku-list": "1.x",
    "vtex.condition-layout": "2.x",
    "vtex.seller-selector": "0.x",
    "vtex.store-newsletter": "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 audara/manifest.json from the audara VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "name": "audara",
  "vendor": "vtex",
  "version": "1.0.3",
  "title": "Audara",
  "description": "Audara",
  "mustUpdateAt": "2019-06-19",
  "scripts": {
    "postreleasy": "vtex publish --verbose"
  },
  "billingOptions": {
    "termsURL": "",
    "support": {
      "url": "https://support.vtex.com/hc/requests"
    },
    "free": true
  },
  "builders": {
    "pixel": "0.x",
    "docs": "0.x"
  },
  "settingsSchema": {
    "title": "audara",
    "type": "object",
    "properties": {
      "id": {
        "title": "Audara",
        "type": "string"
      }
    }
  },
  "$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 list-wallet/dangerfile.js from the list-wallet 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 list-wallet/package.json from the list-wallet VTEX app.

[Assistant]
Here's the implementation:

```json
{
  "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": "vtex-test-tools 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": {
    "@vtex/danger": "^0.2.7",
    "@vtex/intl-equalizer": "^2.5.0",
    "@vtex/prettier-config": "^0.3.5",
    "@vtex/test-tools": "^3.4.3",
    "eslint": "^7.14.0",
    "eslint-config-vtex": "^12.8.11",
    "eslint-config-vtex-react": "^6.8.3",
    "graphql": "^14.6.0",
    "husky": "^4.3.0",
    "lint-staged": "^10.5.1",
    "prettier": "^2.2.0",
    "typescript": "^3.9.6"
  },
  "version": "0.0.0",
  "intl-equalizer": {
    "referenceLocale": "en",
    "localeDirectory": "messages"
  }
}

```