open-index/open-npm huggingface dataset:
npm package: @kernel-community/common
Description: > Kernel Common
Latest version: 0.0.8

# @kernel/common

> Kernel Common 

## Layout

```
packages/common/src/
├── components
│   ├── Footer.jsx
│   ├── Navbar.jsx
│   └── NavbarLink.jsx
├── contexts
│   └── ServicesContext.js
├── index.js
└── services
    ├── entity.js
    ├── jwt.js
    ├── resource.js
    └── rpcClient.js
```
npm package: @kernel-js/api
Description: Package to easily develop REST API following JSON API specification.
Author: Carlos Henrique Escouto
Latest version: 0.5.17

# @kernel-js/api<br />
[![Build Status](https://travis-ci.org/kernel-js/api.svg?branch=develop)](https://travis-ci.org/kernel-js/api)
[![Coverage Status](https://coveralls.io/repos/github/kernel-js/api/badge.svg?branch=master)](https://coveralls.io/github/kernel-js/api?branch=master)
<br />

> Package to easily develop REST API following JSON API specification.

## Why

First of all I created this to support development of [Kernel Framework](https://www.npmjs.com/package/@kernel-js/framework).<br />
Just like the rest of the packages that make up the framework, I make the most of other existing libraries that are well 
tested on a day-to-day basis. The idea is not to reinvent the wheel, just join the ideas in a lightweight framework 
(the focus is on the client side), simple to use and make the code on the front more beautiful and organized. 

## Install
```npm install @kernel-js/api```


## Class Directory

### Common Class

* [EntityManager](entitymanager)

### Common Triggers Methods 
* [send](#send)
* [getContent](#getContent)
* [getUrl](#getUrl)
* [getUrlConfig](#getUrlConfig)

### Common Request Methods 

* [all](#all)
* [save](#save)
* [find](#find)
* [delete](#delete)
* [paginate](#paginate)

### Common Fetching Methods

* [with](#with)
* [select](#select)
* [orderBy](#orderBy)
* [where](#where)

## Building Classes

### Base Entity Class

É necessario criar uma classe que herdará e sobrescreverá os metodos dessa classa dentro da sua aplicação
Essa mesma classe vai ser herdada pelas entidades da aplicação.


```js
export default class Entity extends EntityManager {

  async request (config) {
    return Axios.request(config); // Você retornará a instancia do axios na sua aplicação
  }

  baseUrl() {
    return 'http://127.0.0.1:8000/api'
  }

}
```

### Aplication Entity Class

Você sobreescreverá os metodos de entity na sua aplication-entity (user) informando os dados e relacionamentos da mesma.


```js
export default class Post extends Entity{

    resourceName() {
      return 'users';
    }
    
    fields() {
      return ['name', 'email', 'subnick'];
    }
    
    relationshipNames() {
      return ['company', 'owner'];
    }

}
```


## Authors

This library was developed by 

* Gustavo Siqueira
* Bruno Santos
* Carlos Henrique Escouto

## Contribute

Please do! Check out our [Contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE) © 2018-2018 Kernel JS
npm package: @kernel-js/crypt
Description: Encryption package for Kernel Framework
Author: Gus
Latest version: 1.0.0

# @kernel-js/crypt<br />
[![Build Status](https://travis-ci.org/kernel-js/crypt.svg?branch=master)](https://travis-ci.org/kernel-js/crypt)
[![Coverage Status](https://coveralls.io/repos/github/kernel-js/crypt/badge.svg?branch=master)](https://coveralls.io/github/kernel-js/crypt?branch=master)
<br />

## Inspirations

The main inspiration on my work is PHP Laravel Framework which I love because of its simplicity and beauty of code.

## Why

First of all I created this to support development of [Kernel Framework](https://www.npmjs.com/package/@kernel-js/framework).<br />
Just like the rest of the packages that make up the framework, I make the most of other existing libraries that are well 
tested on a day-to-day basis. The idea is not to reinvent the wheel, just join the ideas in a lightweight framework 
(the focus is on the client side), simple to use and make the code on the front more beautiful and organized. 

## Install
```npm install @kernel-js/crypt```

## Helpers

### Custom

* [encrypt](#encrypt)
* [decrypt](#decrypt)
* [encryptWithHmac](#encryptWithHmac``)
* [decryptWithHmac](#decryptWithHmac)
* [encryptWithTSValidation](#encryptWithTSValidation)
* [decryptWithTSValidation](#decryptWithTSValidation)

<br />
<a name="encrypt" /></a>

### encrypt

Encrypts a string using aes-256-cbc algorithm.

	encrypt(value, password)

__Arguments__

* `value` - the value to encrypt
* `password` - the password used to encrypt and decrypt (keep it safe)

```js
// Examples
env('My secret text', 'My strong password');
```

---------------------------------------

## Authors

This library was developed by Gustavo Siqueira, Bruno Santos e Carlos Escouto

## Contribute

Please do! Check out our [Contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE) © 2019-2019 Brid-IT
npm package: @kernel-js/event-bus
Description: Event sourcing pattern for Kernel Framework
Author: Carlos Henrique Escouto
Latest version: 0.2.2

# @kernel-js/event-bus<br />

> Publish and listen to messages between application layers or between applications (Micro Front-end)

## Why

First of all I created this to support development of [Kernel Framework](https://www.npmjs.com/package/@kernel-js/framework).<br />
Just like the rest of the packages that make up the framework, I make the most of other existing libraries that are well
tested on a day-to-day basis. The idea is not to reinvent the wheel, just join the ideas in a lightweight framework
(the focus is on the client side), simple to use and make the code on the front more beautiful and organized.

## Install

`npm install @kernel-js/event-bus`

## Authors

This library was developed by

- Carlos Henrique Escouto
- Gustavo Siqueira
- Bruno Santos

## Contribute

Please do! Check out our [Contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE) © 2018-2021 Kernel JS
npm package: @kernel-js/serializer
Description: Serializer package for Kernel Framework
Author: Gus
Latest version: 1.0.1

# @kernel-js/serializer<br />
[![Build Status](https://travis-ci.org/kernel-js/serializer.svg?branch=master)](https://travis-ci.org/kernel-js/serializer)
[![Coverage Status](https://coveralls.io/repos/github/kernel-js/serializer/badge.svg?branch=master)](https://coveralls.io/github/kernel-js/serializer?branch=master)
<br />

> Util functions and classes

* Offers support to work with JSON and XML
* Converts from/to Json Api schema (WIP)

## Why

First of all I created this to support development of [Kernel Framework](https://www.npmjs.com/package/@kernel-js/framework).<br />
Just like the rest of the packages that make up the framework, I make the most of other existing libraries that are well 
tested on a day-to-day basis. The idea is not to reinvent the wheel, just join the ideas in a lightweight framework 
(the focus is on the client side), simple to use and make the code on the front more beautiful and organized. 

## Install
```npm install @kernel-js/serializer```

## Authors

This library was developed by Gustavo Siqueira, Bruno Santos and Carlos Escouto

## Contribute

Please do! Check out our [Contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE) © 2018-2018 Brid-IT
npm package: @kernel-js/storage
Description: Web Storage package for Kernel Framework
Author: Gus
Latest version: 1.0.1

# @kernel-js/storage<br />

[![Build Status](https://travis-ci.org/kernel-js/storage.svg?branch=master)](https://travis-ci.org/kernel-js/storage)
[![Coverage Status](https://coveralls.io/repos/github/kernel-js/storage/badge.svg?branch=master)](https://coveralls.io/github/kernel-js/storage?branch=master)
<br />

> Util functions and classes

- Single implementation for Cookies, LocalStorage and SessionStorage

## Inspirations

The main inspiration on my work is PHP Laravel Framework which I love because of its simplicity and beauty of code.

## Why

First of all I created this to support development of [Kernel Framework](https://www.npmjs.com/package/@kernel-js/framework).<br />
Just like the rest of the packages that make up the framework, I make the most of other existing libraries that are well
tested on a day-to-day basis. The idea is not to reinvent the wheel, just join the ideas in a lightweight framework
(the focus is on the client side), simple to use and make the code on the front more beautiful and organized.

## Install

`npm install @kernel-js/storage`

## How to use

WIP

## Authors

This library was developed by

- Gustavo Siqueira
- Carlos Henrique Escouto
- Bruno Santos

## Contribute

Please do! Check out our [Contributing guidelines](CONTRIBUTING.md).

## License

[MIT](LICENSE) © 2018-2018 Brid-IT
npm package: @kernel-labs/mcp-sandbox
Description: MCP Sandbox on E2B
Author: Kernel Labs
Latest version: 0.0.13

# Forked from the awesome [hackathon project of Netglade](http://github.com/netglade/mcp-sandbox/)

# MCP Sandbox

<p align='center'><b>Run Model Context Protocol (MCP) servers in E2B's sandbox environment</b></p>

<div align="center">

[![npm version](https://img.shields.io/npm/v/%40netglade%2Fmcp-sandbox)](https://www.npmjs.com/package/@netglade/mcp-sandbox)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)


```bash
npm install @kernel-labs/mcp-sandbox
```

## Quick Start

```javascript
import { startMcpSandbox } from '@kernel-labs/mcp-sandbox';

// Start the MCP sandbox
const mcpSandbox = await startMcpSandbox({
  command: 'npx -y @modelcontextprotocol/server-brave-search',
  apiKey: 'e2b_****',
  templateName: 'your-template' // Optional
});

// Get the MCP server URL to connect your AI assistant
const mcpUrl = mcpSandbox.getUrl();
console.log("MCP server URL:", mcpUrl);
```

## How It Works

1. **MCP Server Execution**: Uses [supergateway](https://github.com/supercorp-ai/supergateway) to run stdio-based MCP servers over SSE (Server-Sent Events)
2. **Sandbox Environment**: Runs in [E2B](https://e2b.dev)'s secure sandbox environment, providing isolated execution
3. **Tool Integration**: Seamlessly connects AI assistants with real-world tools and data sources
4. **Browser Support**: Everything runs directly in the browser without local dependencies

## Contributing

Do not open PRs before having discussed issue in GH. Saves everyone time!

## License

[MIT](LICENSE)
npm package: @kerneljs/presets
Description: Kernel.js is a very composable library thanks to building on top of Viem and Permissionless.  However, that also means that it can sometimes feel like you need to write a lot of boilerplate code before you can get something going.
Author: ZeroDev
Latest version: 0.0.1-alpha.11

# Kernel.js Presets

Kernel.js is a very composable library thanks to building on top of Viem and Permissionless.  However, that also means that it can sometimes feel like you need to write a lot of boilerplate code before you can get something going.

**Presets** are helper functions that will help you set up Kernel accounts based on the most common configurations.  [Check out Kernel.js docs to learn more.](https://docs.zerodev.app/kerneljs/core-api/create-account)
npm package: @kernet/airports
Description: This library of all internatinal airports.
Author: Sivuyile Magutywa
Latest version: 3.0.17

<h1 align="center">AIRPORTS</h1>

## ℹ️️ Description


<br>

## 🔧 How to Install

Install using npm:

```
npm install @kernet/airports

```

Install using yarn:

```
yarn add @kernet/airports

```
Install using pnpm:

```
pnpm add @kernet/airports
```

<br>

## 👨🏻‍🏫 How to Use

### Get full details
```ts
import { getAirports, getAirlines } from "@kernet/airports";

const airports = getAirports();

const airlines = getAirlines();

```

<br>

## 💁🏻 Contributing

This is an open source project. Any contribution would be greatly appreciated!
npm package: @kernet/ngx-google-places-autocomplete
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.
Latest version: 1.0.0

# NgxGooglePlacesAutocomplete

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.

## Code scaffolding

Run `ng generate component component-name --project ngx-google-places-autocomplete` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-google-places-autocomplete`.
> Note: Don't forget to add `--project ngx-google-places-autocomplete` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build ngx-google-places-autocomplete` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ngx-google-places-autocomplete`, go to the dist folder `cd dist/ngx-google-places-autocomplete` and run `npm publish`.

## Running unit tests

Run `ng test ngx-google-places-autocomplete` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @kernet/sabanks
Description: The South African Bank Information Library focuses on providing essential details about banks in South Africa.
Author: Sivuyile Magutywa
Latest version: 0.1.4

<h1 align="center">SABANKS</h1>

## ℹ️️ Description

The "South African Bank Information" npm library is a specialized JavaScript package that focuses on providing essential details about banks in South Africa
<br>

## 🔧 How to Install

Install using npm:

```
npm install @kernet/sabanks
```

Install using yarn:

```
yarn add @kernet/sabanks
```
Install using pnpm:

```
pnpm add @kernet/sabanks
```

<br>

## 👨🏻‍🏫 How to Use

### Get full details
```ts
import { SABanks } from "@kernet/sabanks";

const saBanks = new SABanks();

// Get Bank List
console.log(saBanks.getBanks())
```

<br>

## 💁🏻 Contributing

This is an open source project. Any contribution would be greatly appreciated!
This project uses `pnpm`.
npm package: @kernet/smsportal
Description: This library simplifies interaction with the SMSPortal API for sending SMS messages.
Author: Sivuyile Magutywa
Latest version: 0.1.0

<h1 align="center">SMSPORTAL</h1>

## ℹ️️ Description

This TypeScript library simplifies interaction with the [SMSPortal](https://docs.smsportal.com/docs/getting-started) API for sending SMS messages. It provides a convenient class, `SmsPortal`, that handles the API authentication and sending of SMS messages, making it easy to integrate SMS functionality into your TypeScript or JavaScript applications.

<br>

## 🔧 How to Install

Install using npm:

```
npm install @kernet/smsportal
```

Install using yarn:

```
yarn add @kernet/smsportal
```
Install using pnpm:

```
pnpm add @kernet/smsportal
```

<br>

## 👨🏻‍🏫 How to Use

### Get full details
```ts
import { SmsPortal, SmsMessage , ApiResponse } from "@kernet/smsportal";

const apiKey = 'your-api-key';
const apiSecret = 'your-api-secret';

const smsClient = new SmsPortal(apiKey, apiSecret);

const messages: SmsMessage[] = [{ content: 'Hello SMS World from NodeJS', destination: phone }]

// ApiResponse is Implicit
smsClient.sendSMS(message)
  .then((response: ApiResponse) => {
    console.log("Success:");
    console.log(response);
  })
  .catch(error => {
    console.log("Failure:");
    console.error(error.message);
  });
```

<br>

## 💁🏻 Contributing

This is an open source project. Any contribution would be greatly appreciated!
Rename `.env.example` to `.env` and add your keys. This project uses `pnpm`.
npm package: @kernl-sdk/cli
Description: CLI for managing kernl applications
Author: dremnik
Latest version: 0.6.2

# @kernl-sdk/cli

CLI for scaffolding and managing kernl applications.

## Installation

```bash
npm install -g @kernl-sdk/cli
# or
pnpm add -g @kernl-sdk/cli
```

## Usage

### Create a new kernl application

```bash
kernl init my-app
cd my-app
pnpm dev
```

This will:
- Create a new directory with your project name
- Scaffold a basic kernl application structure
- Set up an example agent (Jarvis) with a math toolkit
- Install dependencies
- Initialize a git repository

### Options

```bash
kernl init <project-name> [options]

Options:
  -p, --package-manager <manager>  Package manager to use (pnpm, npm, yarn)
  --skip-install                   Skip dependency installation
  --skip-git                       Skip git initialization
  -h, --help                       Display help for command
```

## Project Structure

The CLI creates the following structure:

```
my-app/
├── src/
│   ├── agents/
│   │   └── jarvis.ts      # Example agent
│   ├── toolkits/
│   │   └── math.ts        # Example toolkit with math tools
│   ├── lib/
│   │   └── env.ts         # Utilities
│   └── index.ts           # Application entry point
├── package.json
├── tsconfig.json
└── .gitignore
```

## What's Included

- **Example Agent**: A pre-configured agent with access to a math toolkit
- **Math Toolkit**: Basic math operations (add, subtract, multiply, divide) as tools
- **TypeScript Configuration**: Pre-configured with path aliases (`@/*`)
- **Development Scripts**: `pnpm dev` and `pnpm start` ready to go

## Requirements

- Node.js 18+
- A package manager (pnpm, npm, or yarn)

## License

MIT
npm package: @kernl-sdk/react
Description: React bindings for kernl
Author: dremnik
Latest version: 0.1.13

# @kernl-sdk/react

> **For AI agents**: These reference docs help coding agents understand the kernl SDK. If your agent gets stuck, share this page with it.

React hooks and components for building AI-powered interfaces.

## useRealtime

Connect to a realtime voice agent:

```tsx
import { useRealtime } from '@kernl-sdk/react';

function VoiceChat() {
  const { status, connect, disconnect } = useRealtime({
    agent: 'voice-assistant',
    credentials: async () => fetchCredentials(),
    onMessage: (event) => console.log(event),
  });

  return (
    <button onClick={status === 'connected' ? disconnect : connect}>
      {status === 'connected' ? 'Disconnect' : 'Connect'}
    </button>
  );
}
```

## useBrowserAudio

Capture microphone audio for voice input:

```tsx
import { useBrowserAudio } from '@kernl-sdk/react';

function AudioCapture() {
  const { start, stop, isRecording } = useBrowserAudio({
    onAudioData: (data) => sendToAgent(data),
  });

  return (
    <button onClick={isRecording ? stop : start}>
      {isRecording ? 'Stop' : 'Start'} Recording
    </button>
  );
}
```

## LiveWaveform

Visualize audio input/output:

```tsx
import { LiveWaveform } from '@kernl-sdk/react';

<LiveWaveform source={audioSource} className="h-16 w-full" />
```

## BrowserChannel

Low-level WebSocket channel for custom realtime implementations:

```ts
import { BrowserChannel } from '@kernl-sdk/react';

const channel = new BrowserChannel({ url: 'wss://...' });
await channel.connect();
```
npm package: @kernl-sdk/retrieval
Description: Generic search and retrieval abstractions for kernl
Author: dremnik
Latest version: 0.1.10

# @kernl-sdk/retrieval

Generic search and retrieval abstractions for kernl.

## Search

Provider-agnostic interface for text + vector search:

```ts
import type { SearchIndex, IndexHandle } from '@kernl-sdk/retrieval';

// -- index lifecycle --
await search.createIndex({ id: 'docs', dimensions: 1536 });
const docs: IndexHandle = search.index('docs');

// query with vectors + text
const hits = await docs.query({
  query: [{ text: 'search query', tvec: [0.1, 0.2, ...] }],
  filter: { category: 'technical' },
  limit: 10,
});

// upsert documents
await docs.upsert({ id: '1', text: 'content', tvec: [...] });
```

## Embeddings

Simple text embedding with auto-registered providers:

```ts
import { embed, embedMany } from '@kernl-sdk/retrieval';
import { openai } from '@kernl-sdk/ai/openai';

// single text
const { embedding } = await embed({
  model: 'openai/text-embedding-3-small',
  text: 'sunny day at the beach',
});

// multiple texts
const { embeddings } = await embedMany({
  model: 'openai/text-embedding-3-small',
  texts: ['hello', 'world'],
});
```

### Supported Providers

- OpenAI: `import { openai } from '@kernl-sdk/ai/openai'`
- Google: `import { google } from '@kernl-sdk/ai/google'`
npm package: @kernl-sdk/turbopuffer
Description: Turbopuffer search index adapter for kernl
Author: dremnik
Latest version: 0.1.11

# @kernl-sdk/turbopuffer

[Turbopuffer](https://turbopuffer.com) search index adapter for Kernl.

## Installation

```bash
pnpm i @kernl-sdk/turbopuffer
```

## Quick Start

```ts
import { turbopuffer } from "@kernl-sdk/turbopuffer";

const tpuf = turbopuffer({
  apiKey: process.env.TURBOPUFFER_API_KEY!,
  region: "api", // or "us-east-1", "eu-west-1"
});

// create an index
await tpuf.createIndex({
  id: "my-docs",
  schema: {
    content: { type: "string", fts: true },
    vector: { type: "vector", dimensions: 384 },
    category: { type: "string", filterable: true },
  },
});

// get a handle to the document index
const docs = tpuf.index("my-docs");

// upsert documents
await docs.upsert({
  id: "doc-1",
  fields: {
    content: "Hello world",
    vector: { kind: "vector", values: [0.1, 0.2, ...] },
    category: "greeting",
  },
});

// query with vector search
const hits = await docs.query({
  query: [{ vector: [0.1, 0.2, ...] }],
  limit: 10,
  filter: { category: "greeting" },
  include: ["content", "category"], // fields to include in the response
});
```

## Configuration

| Option   | Type     | Description                     |
| -------- | -------- | ------------------------------- |
| `apiKey` | `string` | Turbopuffer API key (required)  |
| `region` | `string` | Turbopuffer region (required)   |

Available regions: `api` (default), `us-east-1`, `eu-west-1`