open-index/open-npm huggingface dataset:
npm package: @i4nizer/request-validator
Description: A custom validation module for handling required fields, string, and number validations.
Author: i4nizer
Latest version: 1.0.3
Deprecated: This package is deprecated. Use @i4nizer/obj-validator instead.

### `validateRequest(fields, obj, res)`

The primary function of `validateRequest` is to validate incoming request data based on a set of predefined field rules. This function checks for missing fields and validates each field according to its specified criteria, such as minimum length, maximum length, or regex pattern. If any field fails validation, `validateRequest` immediately sends an error response and stops further processing.

#### Parameters

- **`fields`**: An array of field objects, each representing a field to validate. Each object can contain:
  - **`name`** (string, required): The name of the field to validate.
  - **`required`** (boolean, optional): Specifies if the field is required. Defaults to `true` if not provided.
  - **`min`** (number, optional): The minimum length (for strings) or minimum value (for numbers).
  - **`max`** (number, optional): The maximum length (for strings) or maximum value (for numbers).
  - **`pattern`** (RegExp, optional): A regular expression pattern that the field value must match (for strings only).

- **`obj`**: The object containing values to validate, such as `req.body` or `req.query`.

- **`res`**: The Express `Response` object used to send error messages if any validations fail.

#### Return Value

- Returns `true` if all fields pass validation.
- If any validation fails, it sends a response with an error message and a status code:
  - **400** for missing required fields.
  - **422** for validation failures (e.g., invalid length or pattern mismatch).

#### Example Usage

```javascript
const express = require('express');
const requestValidator = require('request-validator');

const app = express();
app.use(express.json());

const fields = [
    { name: 'username', required: true, min: 3, max: 15 },
    { name: 'password', required: true, min: 8 }
];

app.post('/register', (req, res) => {
    if (!requestValidator.validateRequest(fields, req.body, res)) return;

    // Proceed with registration logic
    res.status(200).send("Registration successful!");
});

app.listen(3000, () => console.log('Server running on port 3000'));
```
npm package: @i4o-oss/catalystui
Description: Catalyst UI is a component library built on top of Radix UI Primitives styled with Tailwind CSS made to make prototyping faster.
Latest version: 0.6.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Catalyst UI

Catalyst UI is a component library built on top of Radix UI Primitives styled with Tailwind CSS made to make prototyping faster.

## Documentation

For full documentation and a complete list of components, visit [catalyst.i4o.dev](https://catalyst.i4o.dev/)

## Installation

```bash
  npm install @i4o-oss/catalystui
```

## Features

-   Built on top of Radix UI Primitives styled with Tailwind CSS
-   Goes beyond Radix UI Primitives to provide more components
-   Utility components and hooks
-   Built-in dark mode support

## Roadmap

-   [x] Have a base list of usable components
-   [x] Fix library styles being overridden by nextra styles
-   [ ] Make the API and styles more consistent
-   [ ] Make docs light/dark mode work for the components
-   [ ] Implement all Radix UI Primitives
-   [ ] Fix accessibility issues
-   [ ] Add explanation for props in the docs

## Acknowledgements

CatalystUI and its docs are powered by these incredible open source projects:

-   [React](https://reactjs.org/)
-   [TypeScript](https://www.typescriptlang.org/)
-   [Next.js](https://nextjs.org/)
-   [Nextra](https://nextra.site/)
-   [Radix UI](https://www.radix-ui.com/)
-   [Tailwind CSS](https://tailwindcss.com/)
-   [tailwindcss-radix](https://github.com/ecklf/tailwindcss-radix)
-   [classnames](https://github.com/JedWatson/classnames)
-   [copy-to-clipboard](https://github.com/sudodoki/copy-to-clipboard)

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @i4o/rescribe
Description: Components and utilities for building documentation and blog sites with Remix.
Latest version: 0.2.2

# Rescribe

Components and utilities for building documentation and blog sites with Remix.

## Documentation

For full documentation and a complete list of components and utilities, visit [rescribe.site](https://rescribe.site)

## Installation

```bash
pnpm add @i4o/catalystui
```

## Features

- Made for Remix
- Add docs to your Remix site
- Bring your own light/dark theme toggle
- Customizable colors
- Out-of-the-box components like accordions, callouts, cards and card groups, lists and tabs
- Blog (coming soon)
- Mobile Responsiveness (WIP)
- i18n (coming soon)

## Roadmap

- [x] Light/dark mode toggle
- [x] Components - Accordion, Bleed, Card, Card Group, Callouts, Tabs,
- [ ] Syntax Highlighting
- [ ] i18n
- [ ] Zero-config full-text search
- [ ] Versioning

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @i524/datadog-mcp-server
Description: A Model Context Protocol (MCP) server that enables AI assistants to search and analyze Datadog logs directly. This integration allows AI assistants to query your Datadog logs using natural language, making troubleshooting and log analysis more efficient.
Latest version: 0.0.5

# Datadog MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to search and analyze Datadog logs directly. This integration allows AI assistants to query your Datadog logs using natural language, making troubleshooting and log analysis more efficient.

## Features

- **Log Searching**: Search Datadog logs using flexible query parameters
- **Time-Based Filtering**: Filter logs by specific time ranges
- **Pagination Support**: Navigate through large log sets with cursor-based pagination
- **Coming Soon**: Metrics retrieval functionality

## Prerequisites

- A Datadog account with API access
- Datadog API and Application keys(See [docs](https://docs.datadoghq.com/account_management/api-app-keys/) for detail)

## Setup

Add the MCP server configuration to your AI assistant's MCP settings file:

> **Note**: This MCP server only supports stdio transport. SSE transport is not supported.

```json
"datadog-mcp-server": {
  "command": "npx",
  "args": ["-y", "@i524/datadog-mcp-server"],
  "env": {
    "DD_API_KEY": "<your-datadog-api-key>",
    "DD_APP_KEY": "<your-datadog-app-key>"
  }
}
```

## Usage

### Available Tools

#### search-logs

Search logs from Datadog with flexible filtering options.

**Parameters:**

- `filterQuery` (required): A query string to filter logs. See [Datadog Log Search Syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/) for details.
- `filterFrom` (optional): The minimum timestamp for requested logs (ISO 8601 format).
- `filterTo` (optional): The maximum timestamp for requested logs (ISO 8601 format).
- `cursor` (optional): The cursor to use for pagination.

**Example Usage:**

```
// Search for error logs from a specific service in production
{
  "filterQuery": "service:awesome-service status:error",
  "filterFrom": "2025-01-01T00:00:00Z",
  "filterTo": "2025-01-02T00:00:00Z"
}
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.