open-index/open-npm huggingface dataset:
npm package: @kont/konnect-react-native-sdk
Description: test
Author: kont
Latest version: 0.1.4

# @kont/konnect-react-native-sdk

Kont Konnect's React Native SDK

## Installation

```sh
npm install react-native-webview @kont/konnect-react-native-sdk
```

## Usage

```js
import { Konnect } from '@kont/konnect-react-native-sdk';

// ...

<Konnect
  applicationId="app_XXX"
  environment="sandbox" // or "production"
  onSuccess={(enrollment) => {
    navigation.navigate('Home');
  }}
  onExit={() => navigation.navigate('Home')}
/>;
// ...
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

Private

---
npm package: @kontajner/cli
Description: ## Usage
Latest version: 0.0.9

# @kontajner/cli

## Usage

```
Usage: start [options]

Options:
  -V, --version                output the version number
  -i, --init                   initialize and setup configuration in your current project.
  -c, --config <pathToConfig>  path to a Kontajner config file specifying how to find and execute tests.
  -s, --spec <pathToSpecFile>  run only a certain spec file.
  -h, --help                   display help for command
```
npm package: @kontajner/elasticsearch-analytics
Description: This module implements AnalyticsLogger interface specifically for logging events in elasticsearch instance.
Latest version: 0.0.9

# elasticsearch-analytics

This module implements AnalyticsLogger interface specifically for logging events in elasticsearch instance.

## Usage in kontajner.config.js

```js
// kontajner.config.js
const ElasticSearchAnalytics = require('elasticsearch-analytics');

const ANALYTICS_KEY = 'kontajner-example';

module.exports = {
    ...
    analytics: [ElasticSearchAnalytics {
        endpoint: process.env.ELASTICSEARCH_ENDPOINT,
        username: process.env.ELASTICSEARCH_USERNAME,
        password: process.env.ELASTICSEARCH_PASSWORD,
        projectKey: ANALYTICS_KEY,
    }],
}
```
npm package: @kontekst/mcp-server
Description: MCP server for KONTEKST - access your context files from any AI tool
Author: KONTEKST
Latest version: 1.2.0

# KONTEKST MCP Server

MCP server for KONTEKST - access your context files from Claude Desktop and other MCP-compatible AI tools.

## Installation

```bash
npm install -g @kontekst/mcp-server
```

## Configuration

Add to your Claude Desktop config (`%APPDATA%\Claude\claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "kontekst": {
      "command": "npx",
      "args": ["@kontekst/mcp-server"],
      "env": {
        "KONTEKST_API_TOKEN": "your-api-token-here",
        "KONTEKST_API_URL": "https://kontekst.vercel.app"
      }
    }
  }
}
```

## Getting Your API Token

1. Visit [kontekst.vercel.app](https://kontekst.vercel.app)
2. Go to **Settings**
3. Generate an API token

## Available Tools

| Tool | Description |
|------|-------------|
| `list_files` | List all your KONTEKST context files |
| `read_file` | Read a specific file by path |
| `write_file` | Write or update a file |

## Usage

Once configured, you can use natural language to interact with your context files:

- "List my context files"
- "Read my me.md file"
- "Write a new note about project status to notes/status.md"

## Troubleshooting

If you get permission errors, make sure:
1. Your API token is valid and not expired
2. The token has the necessary permissions for the operations you're trying to perform

## HTTP Mode (Remote MCP)

For connecting AI tools via HTTP instead of stdio:

```bash
# Run as HTTP server locally
MCP_MODE=http KONTEKST_API_TOKEN=your-token npx @kontekst/mcp-server
```

This starts an Express server at `http://localhost:3001/mcp`.

## Deploying to Vercel (Server-side MCP)

For hosting MCP on Vercel for others to use, add a new API route `pages/api/mcp.ts` to your Next.js app:

```typescript
// pages/api/mcp.ts
// Implements MCP JSON-RPC protocol over HTTP
```

This creates `https://your-app.vercel.app/api/mcp` that users can connect their AI tools to.
npm package: @kontenbase/contextmenu
Description: Kontenbase Context Menu
Author: Kontenbase
Latest version: 0.0.2

# Kontenbase Context Menu

[![npm-badge]][npm-url]
[![type-badge]][npm-url]
[![size-badge]][size-url]

[npm-badge]: https://img.shields.io/npm/v/@kontenbase/contextmenu
[npm-url]: https://www.npmjs.com/package/@kontenbase/contextmenu
[size-badge]: https://img.shields.io/bundlephobia/minzip/@kontenbase/contextmenu
[size-url]: https://bundlephobia.com/result?p=@kontenbase/contextmenu
[type-badge]: https://img.shields.io/npm/types/@kontenbase/contextmenu

## Install

```sh
npm install @kontenbase/contextmenu
```

## Usage

Simple example

```jsx
import React from "react";
import ReactDOM from "react-dom";
import {
  ContextMenu,
  MenuItem,
  ContextMenuTrigger,
} from "@kontenbase/contextmenu";

function handleClick(e, data) {
  console.log(data.foo);
}

function MyApp() {
  return (
    <div>
      {/* NOTICE: id must be unique between EVERY <ContextMenuTrigger> and <ContextMenu> pair */}
      {/* NOTICE: inside the pair, <ContextMenuTrigger> and <ContextMenu> must have the same id */}

      <ContextMenuTrigger id="same_unique_identifier">
        <div className="well">Right click to see the menu</div>
      </ContextMenuTrigger>

      <ContextMenu id="same_unique_identifier">
        <MenuItem data={{ foo: "bar" }} onClick={this.handleClick}>
          ContextMenu Item 1
        </MenuItem>
        <MenuItem data={{ foo: "bar" }} onClick={this.handleClick}>
          ContextMenu Item 2
        </MenuItem>
        <MenuItem divider />
        <MenuItem data={{ foo: "bar" }} onClick={this.handleClick}>
          ContextMenu Item 3
        </MenuItem>
      </ContextMenu>
    </div>
  );
}

ReactDOM.render(<MyApp myProp={12} />, document.getElementById("main"));
```

see [usage docs](./docs/usage.md) / [examples](./examples) for more details.
npm package: @kontent-ai-consulting/tools-analytics
Description: Utility to help tracking events in various Kontet.ai tools
Author: Richard Sustek
Latest version: 0.0.10

# Tools analytics npm

> [!TIP]  
> This is a package that is used internally in various tools (`model-accelerator`, `migration-toolkit`) to store events in db
> for further analytics

# Getting started

```bash
# Install package in project
npm @kontent-ai-consulting/tools-analytics

```

And use such as

```typescript
const response = await getTrackingService().trackEventAsync({
    action: 'x',
    tool: 'x'
    version: 'x.y.z',

    details: undefined,
    result: 'success'
});
```
npm package: @kontent-ai/delivery-node-parser
Description: Node.js parser for Kontent.ai delivery SDK
Author: richard sustek
Latest version: 4.1.6
Deprecated: Resolving of Richtext element has been superseded by @kontent-ai/rich-text-resolver

# Node.js parser for Rich text elements

This library is an optional addon for the [javascript delivery SDK](https://github.com/kontent-ai/delivery-sdk-js)
that can be used to resolve rich text elements in `node.js` environment.

This is an alternative to built-in `browserParser` that comes native with the SDK and works in browsers.

#### Usage

```typescript
import { createRichTextHtmlResolver, createAsyncRichTextHtmlResolver } from '@kontent-ai/delivery-sdk';
import { nodeParser, asyncNodeParser } from '@kontent-ai/delivery-node-parser';

// transform rich text html into json
const json = createRichTextHtmlResolver(nodeParser).resolveRichText(data);

// or
const html = await createAsyncRichTextHtmlResolver(asyncNodeParser).resolveRichText(data);
```
npm package: @kontent-ai/eslint-config
Description: Eslint configuration used for packages in Kontent.ai
Author: Jiri Lojda
Latest version: 2.4.1

[![Contributors][contributors-shield]][contributors-url]
[![npm][npm-shield]](https://www.npmjs.com/package/@kontent-ai/eslint-config)
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]

[![Discord][discord-shield]][discord-url]


# Kontent.ai eslint configuration

This is the eslint configuration that Kontent.ai uses for its TypeScript packages. This package uses ESLint 9+ Flat Config format.

# Getting Started

1. Install the package the eslint configuration.

    ```sh
    # optionaly install eslint if you don't already have it
    # pnpm add -D eslint
    pnpm add -D @kontent-ai/eslint-config
    ```

1. Extend the configuration in your `eslint.config.js` file (Flat Config format for ESLint 9+ is required)

    ```js
    // eslint.config.js
    import kontentAiConfig from "@kontent-ai/eslint-config";
    import { defineConfig } from "eslint/config";

    export default defineConfig({
        extends: [ kontentAiConfig ],
    });
    ```

    For React projects, use the React-specific configuration:

    ```js
    // eslint.config.js
    import kontentAiReactConfig from "@kontent-ai/eslint-config/react";
    import { defineConfig } from "eslint/config";

    export default defineConfig({
        extends: [ kontentAiReactConfig ],
    });
    ```

1. Run the lint process based on your project configuration

Available configurations are:
* `@kontent-ai/eslint-config` (default configuration for any TypeScript file)
* `@kontent-ai/eslint-config/react` (react specific, extends default)

# License

Distributed under the MIT License. See [`LICENSE.md`](./LICENSE.md) for more information.


[contributors-shield]: https://img.shields.io/github/contributors/kontent-ai/eslint-config.svg?style=for-the-badge
[contributors-url]: https://github.com/kontent-ai/eslint-config/graphs/contributors
[npm-shield]: https://img.shields.io/badge/NPM-%23CB3837.svg?style=for-the-badge&logo=npm&logoColor=white
[forks-shield]: https://img.shields.io/github/forks/kontent-ai/eslint-config.svg?style=for-the-badge
[forks-url]: https://github.com/kontent-ai/eslint-config/network/members
[stars-shield]: https://img.shields.io/github/stars/kontent-ai/eslint-config.svg?style=for-the-badge
[stars-url]: https://github.com/kontent-ai/eslint-config/stargazers
[issues-shield]: https://img.shields.io/github/issues/kontent-ai/eslint-config.svg?style=for-the-badge
[issues-url]:https://github.com/kontent-ai/eslint-config/issues
[license-shield]: https://img.shields.io/github/license/kontent-ai/eslint-config.svg?style=for-the-badge
[license-url]:https://github.com/kontent-ai/eslint-config/blob/master/LICENSE.md
[discord-shield]: https://img.shields.io/discord/821885171984891914?color=%237289DA&label=Kontent.ai%20Discord&logo=discord&style=for-the-badge
[discord-url]: https://discord.com/invite/SKCxwPtevJ
npm package: @kontent-ai/rich-text-resolver-markdown
Description: Kontent.ai rich text Markdown transformer - converts Portable Text to Markdown
Author: Daniel Pokorny
Latest version: 3.0.2

# @kontent-ai/rich-text-resolver-markdown

[![npm version][npm-shield]](https://www.npmjs.com/package/@kontent-ai/rich-text-resolver-markdown)
[![MIT License][license-shield]][license-url]
[![Stack Overflow][stack-shield]](https://stackoverflow.com/tags/kontent-ai)
[![Discord][discord-shield]](https://discord.gg/SKCxwPtevJ)

> [!NOTE]
> This is part of the [@kontent-ai/rich-text-resolver](../../README.md) monorepo.
> For general information and other packages, see the [main README](../../README.md).
>
> **Requires:** [@kontent-ai/rich-text-resolver](../rich-text-resolver) as peer dependency

Markdown transformation utilities for Kontent.ai rich text. This package provides tools for converting Portable Text blocks to Markdown format.

## Installation

```bash
npm i --save @kontent-ai/rich-text-resolver-markdown
npm i --save @kontent-ai/rich-text-resolver  # peer dependency
```

## Examples

### Markdown Resolution

Markdown resolution using `toMarkdown` function built on top of `@portabletext/to-html` package with custom markdown-specific resolvers.

```ts
import {
  transformToPortableText,
} from "@kontent-ai/rich-text-resolver";
import {
  toMarkdown,
  PortableTextMarkdownResolvers,
} from "@kontent-ai/rich-text-resolver-markdown";

const richTextValue = "<rich text html>";
const linkedItems = ["<array of linked items>"]; // e.g. from SDK
const portableText = transformToPortableText(richTextValue);

const resolvers: PortableTextMarkdownResolvers = {
  components: {
    types: {
      componentOrItem: ({ value }) => {
        const linkedItem = linkedItems.find(
          (item) => item.system.codename === value.componentOrItem._ref
        );
        switch (linkedItem?.system.type) {
          case "component_type_codename": {
            return `**${linkedItem?.elements.text_element.value}**\n\n`;
          }
          default: {
            return `Resolver for type ${linkedItem?.system.type} not implemented.\n\n`;
          }
        }
      },
    },
    marks: {
      contentItemLink: ({ children, value }) => {
        return `[${children}](https://website.com/${value.contentItemLink._ref})`;
      },
    },
  },
};

const resolvedMarkdown = toMarkdown(portableText, resolvers);
```

[npm-shield]: https://img.shields.io/npm/v/@kontent-ai/rich-text-resolver-markdown?style=for-the-badge
[license-shield]: https://img.shields.io/github/license/kontent-ai/rich-text-resolver-js?label=license&style=for-the-badge
[license-url]: https://github.com/kontent-ai/rich-text-resolver-js/blob/main/LICENSE
[stack-shield]: https://img.shields.io/badge/Stack%20Overflow-ASK%20NOW-FE7A16.svg?logo=stackoverflow&logoColor=white&style=for-the-badge
[discord-shield]: https://img.shields.io/discord/821885171984891914?label=Discord&logo=Discord&logoColor=white&style=for-the-badge
npm package: @kontent-ai/rich-text-resolver-vue
Description: Kontent.ai rich text resolver for Vue - Composables and helpers
Author: Daniel Pokorny
Latest version: 3.0.2

# @kontent-ai/rich-text-resolver-vue

[![npm version][npm-shield]](https://www.npmjs.com/package/@kontent-ai/rich-text-resolver-vue)
[![MIT License][license-shield]][license-url]
[![Stack Overflow][stack-shield]](https://stackoverflow.com/tags/kontent-ai)
[![Discord][discord-shield]](https://discord.gg/SKCxwPtevJ)

> [!NOTE]
> This is part of the [@kontent-ai/rich-text-resolver](../../README.md) monorepo.
> For general information and other packages, see the [main README](../../README.md).
>
> **Requires:** [@kontent-ai/rich-text-resolver](../rich-text-resolver) and `vue` as peer dependencies

Vue composables and helpers for resolving Kontent.ai rich text. This package provides helper functions for resolving tables and images in Vue components, designed to work seamlessly with `@portabletext/vue`.

## Installation

```bash
npm i --save @kontent-ai/rich-text-resolver-vue
npm i --save vue  # peer dependency (^3.5.0)
```

> [!NOTE]
> This package includes `@kontent-ai/rich-text-resolver-html` as a dependency.

## Examples

### Vue Resolution

Using `@portabletext/vue` package with Kontent.ai-specific helpers:

```ts
<script setup>
import {
  PortableText,
  PortableTextComponentProps,
  PortableTextComponents,
  toPlainText,
} from "@portabletext/vue";
import {
  resolveTableVue as resolveTable,
  resolveImageVue as resolveImage,
  toVueImageDefault,
} from "@kontent-ai/rich-text-resolver";


const components: PortableTextComponents = {
  types: {
    image: ({ value }: PortableTextComponentProps<PortableTextImage>) =>
      resolveImage(value, h, toVueImageDefault),
    table: ({ value }: PortableTextComponentProps<PortableTextTable>) =>
      resolveTable(value, h, toPlainText),
  },
  // marks etc.
};
</script>

<template>
  <PortableText :value="props.value" :components="components" />
</template>
```

[npm-shield]: https://img.shields.io/npm/v/@kontent-ai/rich-text-resolver-vue?style=for-the-badge
[license-shield]: https://img.shields.io/github/license/kontent-ai/rich-text-resolver-js?label=license&style=for-the-badge
[license-url]: https://github.com/kontent-ai/rich-text-resolver-js/blob/main/LICENSE
[stack-shield]: https://img.shields.io/badge/Stack%20Overflow-ASK%20NOW-FE7A16.svg?logo=stackoverflow&logoColor=white&style=for-the-badge
[discord-shield]: https://img.shields.io/discord/821885171984891914?label=Discord&logo=Discord&logoColor=white&style=for-the-badge
npm package: @kontent-market/eslint-config
Description: kontent market ESlint config
Author: Alexey Chernyshev
Latest version: 1.0.1

## Install

### for react project

```
yarn add @kontent-market/eslint-config eslint-config-prettier eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-unicorn --dev
```

## Usage

### Avaible configs

1. @kontent-market/eslint-config
1. @kontent-market/eslint-config/react

### Example

```
module.exports = {
    extends: ['@kontent-market/eslint-config/react'],
};
```
npm package: @kontent-market/prettier-config
Description: kontent market Prettier config
Author: Alexey Chernyshev
Latest version: 1.0.2

# `@km/prettier-config`

> kontent market [Prettier](https://prettier.io) config.

## Usage

**Install**:

```bash
$ yarn add --dev @kontent-market/prettier-config
```

**Edit `package.json`**:

```jsonc
{
    // ...
    "prettier": "@kontent-market/prettier-config"
}
```
npm package: @kontent-market/tpl-loader
Description: Underscore HTML Templates loader for webpack
Author: Jan Nicklas
Latest version: 1.0.2

# Introduction

This is a modified package, the original is https://github.com/jantimon/html-tpl-loader.git

# Lodash html template for webpack

[![Build Status](https://secure.travis-ci.org/jantimon/html-tpl-loader.svg?branch=master)](http://travis-ci.org/jantimon/html-tpl-loader) [![Dependency Status](https://david-dm.org/jantimon/html-tpl-loader.svg)](https://david-dm.org/jantimon/html-tpl-loader)

Combination of the html-loader and the underscore-loader for [webpack](http://webpack.github.io/). [Uses the `_.template` function](https://lodash.com/docs#template) to extract assets.

## Installation

`npm install @kontent-market/tpl-loader --save-dev`

## Usage

[Documentation: Using loaders](http://webpack.github.io/docs/using-loaders.html)

```javascript
var template = require('tpl!./file.html');
// => returns the template function compiled with underscore (lodash) templating engine.

// And then use it somewhere in your code
template(data); // Pass object with data
```

Alternatively you can also define html-tpl in your webpack.config file:

```javascript
{
    module: {
        loaders: [{ test: '.tpl.html$', loader: 'tpl' }];
    }
}
```

```javascript
var template = require('./file.tpl.html');
```

The html-tpl loader allows you to **minify** the html before compiling by setting a loader query string

```javascript
  {
    module: {
      loaders: [
        { test: "\.tpl.html$", loader: "tpl?minimize=true" }
      ]
  }

```

The html-tpl loader allows you to not to add **lodash** before compiling by setting a loader query string

```javascript
  {
    module: {
      loaders: [
        { test: "\.tpl.html$", loader: "tpl?lodash=false" }
      ]
  }
```

The html-tpl loader allows you to configure **lodash template settings** by setting a loader query string

```javascript
  {
    module: {
      loaders: [
        { test: "\.tpl.html$", loader: "tpl?evaluate=\\{\\[([\\s\\S]+?)\\]\\}&interpolate=\\{\\{([\\s\\S]+?)\\}\\}" }
      ]
  }
```

## Tests

[![Build Status](https://secure.travis-ci.org/jantimon/html-tpl-loader.svg?branch=master)](http://travis-ci.org/jantimon/html-tpl-loader)

Run unit tests:

```
  npm install
  npm test
```

## Demo

http://jantimon.github.io/html-tpl-loader/

## License

MIT (http://www.opensource.org/licenses/mit-license.php)
npm package: @kontentino/array-semantic-join
Description: Helper function whose input is an array and output is a semantic string with joined items of the input array.
Author: Kontentino
Latest version: 2.0.0

![Kontentino - Making social media a piece of cake](https://static.kontentino.com/img/logo/logo.svg)
# array-semantic-join by [Kontentino](https://www.kontentino.com/)

**GITHUB:** [array-semantic-join](https://github.com/kontentino/array-semantic-join)

Helper function whose input is an array and output is a semantic string with joined items of the input array.

## Installation
`$ npm install @kontentino/array-semantic-join`
or
`$ yarn add @kontentino/array-semantic-join`

## Usage
```javascript
import arraySemanticJoin from '@kontentino/array-semantic-join';

...
    const userNames = ['John', 'Jane', 'Patrick'];

    ...

    <span>
        {arraySemanticJoin(userNames)} // output: "John, Jane and Patrick"
    </span>
...
```

## Docs
| Function | 
|:-------------|
| **arraySemanticJoin**(inputArray: *Array*): *String* |