open-index/open-npm huggingface dataset:
npm package: @snakeware/eslint-config-sw
Description: IMPORTANT:
Latest version: 1.0.13

# Eslint for Snakeware

IMPORTANT:

> ⚠ DO NOT ADD THE SCRIPT "lint" or "lint:fix" to this project

The `eslint-test-files` directory contains a collection of files that are used to demonstrate the capabilities of the ESLint linter. These files may contain warnings or errors, as identified by ESLint during the linting process.

It is important to note that these files should not be modified or committed in any way, as doing so may result in the removal of the warnings and errors. The purpose of these test files is solely for demonstration and testing of ESLint.
npm package: @snamoah/react-multi-select
Description: React Multi Select Component
Latest version: 0.2.0

# React Multi Select Component

React Multi Select Component

![Animated GIF demo](react-multi-select.gif)

[Storybook Demo](https://khan.github.io/react-multi-select/)

## Installation:
`npm install --save @khanacademy/react-multi-select`

## Usage:
See the examples in ``/src/stories/index.js` for how to use the component
npm package: @snap-agent/middleware-discord
Description: Discord notifications middleware for SnapAgent SDK - Send alerts and notifications to Discord channels via webhooks.
Author: ViloTech
Latest version: 0.1.0

# @snap-agent/middleware-discord

Discord notifications middleware for SnapAgent SDK. Send alerts and notifications to Discord channels.

## Installation

```bash
npm install @snap-agent/middleware-discord
```

## Quick Start

```typescript
import { createClient } from '@snap-agent/core';
import { DiscordNotifications } from '@snap-agent/middleware-discord';

const discord = new DiscordNotifications({
  webhookUrl: process.env.DISCORD_WEBHOOK_URL!,
  triggers: {
    onError: true,
    onKeywords: ['urgent', 'help'],
    onLongResponse: 5000,
  },
});

const agent = await client.createAgent({
  name: 'My Agent',
  plugins: [
    // ─── Middlewares (request/response interception) ───
    discord,
    
    // ─── Plugins (agent capabilities) ───
    // yourRAGPlugin,
  ],
});
```

## Configuration

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `webhookUrl` | `string` | *required* | Discord webhook URL |
| `triggers.onError` | `boolean` | `true` | Notify on errors |
| `triggers.onKeywords` | `string[]` | `[]` | Keywords to trigger |
| `triggers.onLongResponse` | `number` | - | Latency threshold (ms) |
| `username` | `string` | `'SnapAgent'` | Bot username |
| `avatarUrl` | `string` | - | Bot avatar URL |
| `mentionOnError` | `string` | - | Role/user to mention |
| `includeContext` | `boolean` | `false` | Include conversation |

## Getting a Webhook URL

1. Open Discord Server Settings
2. Go to Integrations > Webhooks
3. Create New Webhook
4. Copy the webhook URL

## License

MIT
npm package: @snap-agent/middleware-webhooks
Description: Generic webhooks middleware for SnapAgent SDK - Send agent events to any HTTP endpoint with retries and custom payloads.
Author: ViloTech
Latest version: 0.1.0

# @snap-agent/middleware-webhooks

Generic webhooks middleware for SnapAgent SDK. Send agent events to any HTTP endpoint.

## Installation

```bash
npm install @snap-agent/middleware-webhooks
```

## Quick Start

```typescript
import { createClient } from '@snap-agent/core';
import { WebhookNotifier } from '@snap-agent/middleware-webhooks';

const webhook = new WebhookNotifier({
  url: 'https://your-api.com/agent-events',
  events: ['response', 'error'],
  headers: {
    'Authorization': 'Bearer your-token',
  },
});

const agent = await client.createAgent({
  name: 'My Agent',
  plugins: [
    // ─── Middlewares (request/response interception) ───
    webhook,
    
    // ─── Plugins (agent capabilities) ───
    // yourRAGPlugin,
  ],
});
```

## Webhook Payload

```json
{
  "event": "response",
  "timestamp": "2024-01-15T12:00:00.000Z",
  "agentId": "agent-123",
  "threadId": "thread-456",
  "data": {
    "input": "User message",
    "output": "Agent response",
    "latency": 1234,
    "error": null
  },
  "metadata": {}
}
```

## Configuration

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `url` | `string` | *required* | Webhook URL |
| `events` | `string[]` | `['response', 'error']` | Events to send |
| `headers` | `object` | `{}` | HTTP headers |
| `method` | `string` | `'POST'` | HTTP method |
| `timeout` | `number` | `5000` | Timeout (ms) |
| `retries` | `number` | `2` | Retry count |
| `retryDelay` | `number` | `1000` | Retry delay (ms) |
| `includeContent` | `boolean` | `true` | Include messages |
| `async` | `boolean` | `true` | Non-blocking |

## Custom Payload Transform

```typescript
new WebhookNotifier({
  url: '...',
  transformPayload: (payload) => ({
    type: payload.event,
    agent: payload.agentId,
    message: payload.data.output,
  }),
});
```

## Filter Events

```typescript
new WebhookNotifier({
  url: '...',
  filter: (payload) => {
    // Only send if latency > 2 seconds
    return (payload.data.latency || 0) > 2000;
  },
});
```

## License

MIT
npm package: @snap-api-docs/view
Description: Librería UI agnóstica para visualizar documentación de Snap Docs (Swagger UI Wrapper).
Author: Daniel Riverol
Latest version: 1.0.0

# Snap API Docs UI 🎨

> **Renderizador agnóstico para documentación OpenAPI.**
> Parte del ecosistema Snap API Docs.

Esta librería genera el HTML necesario para visualizar tu documentación **Swagger/OpenAPI** sin depender de ningún framework.

[![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

---

## 📦 Instalación

```bash
npm install @snap-api-docs/ui
```

---

## 🎛️ Uso

La función `getHtml` retorna un string con el HTML completo (incluye CSS, JS y estructura base de Swagger UI).

### Firma

```ts
getHtml(
  specUrl: string,
  options?: {
    title?: string,
    customCss?: string
  }
): string
```

---

## 🟦 Ejemplo (Node.js Nativo)

```js
import http from 'http';
import { getHtml } from '@snap-api-docs/ui';

http.createServer((req, res) => {
  if (req.url === '/docs') {
    const html = getHtml('/docs.json', { title: 'Mi API' });
    
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end(html);
  }
}).listen(3000);
```

---

## 🎨 Personalización CSS

Podés inyectar estilos propios para ajustar la UI:

```js
getHtml('/docs.json', {
  title: 'Mi API',
  customCss: '.swagger-ui .info { margin: 0; }'
});
```

---

## 📄 Licencia

[![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)