open-index/open-npm huggingface dataset:
npm package: @iad-os/aemon-oidc-introspect
Description: Aemon Oidc Introspect
Author: Daniele Fiungo
Latest version: 0.2.14

# OIDC Smart Introspect middleware

### Add dependency to project

```sh
npm i @iad-os/aemon-oidc-introspect
```

## Configure

```typescript
import aemonOidcIntrospect from '@iad-os/aemon-oidc-introspect';

//...

const expressApp = express()
  // other middleware ...
  .use(
    aemonOidcIntrospect({
      issuers: [
        {
          issuer: 'https://XXX/auth/realms/YYY',
          introspection_endpoint:
            'https://XXX/auth/realms/YYY/protocol/openid-connect/token/introspect',
          client: {
            client_id: 'client_id',
            client_secret: 'aClientSecret',
          },
        },
      ],
      extractToken: (req: Request): string => {
        
        // Bearer token example (Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c)

        const authorization = req.headers['authorization'];
        if (!authorization) return;
        const [, token] = authorization.split(' ');
        return token;
      },
      doPost: async (
          req: Request,
          url: string,
          queryString: string,
          options?: { headers: Record<string, string> }
        ) => {
          return await axios.create().post(url, queryString, options);
        },
      logger: (req: Request, level: string, msg: string, payload?: any) =>
        logger[level](msg, payload),
    })
  );
```

## Usage

```typescript
const myMiddleware: RequestHandler = function (req, res, next) {
  // ... code here
  if (!req.uid) {
    logger.info('User IDentity not found.');
    return next(null);
  }

  sendEmail(req.uid.email)
};
```
npm package: @iad-os/fantocci
Description: Http Testing Tool
Latest version: 0.6.3

# Fantocci HTTP Test Server

<p align="center">
  <img src="./logo.png" alt="Logo">
</p>

## Description

Inpired by httpbin, Fantocci HTTP Test Server is a TypeScript-based HTTP server designed for testing purposes.

## Prerequisites

- Node.js (version 22)
- Docker

## Installation

### Clone the Repository

```sh
git clone https://github.com/yourusername/yourproject.git
cd yourproject
npm package: @iad-os/jorah-policy-middleware
Description: Open Policy Agent Middleware
Author: Daniele Fiungo
Latest version: 0.0.7

# JORAH Policy Middleware

### Add dependency to project

```sh
npm i @iad-os/jorah-policy-middleware
```

## Configure

```typescript
import jorah from '@iad-os/jorah-policy-middleware';

//...

const config = {
  url: 'http://opa:8181/v1/data',
  dryRun: {
    enabled: true,
    header: 'x-authorizer',
  },
};

const default = {
    doPost: async (req, url, data, options) => {
        return await axios.create().post(url, data, options);
    },
    onDecision: (req, res, next) => {
        if (req.policyEvaluation.decision?.result?.allow) {
            res.json(req.policyEvaluation);
            next();
            return;
        }
        next(new Error(`OPA-POLICY - FORBIDDEN`));
    },
    decisionPath: req => {
        return `/${req.path.split('/')[1]}`;
    },
    toPolicyEvaluationRequest: (req, required) => ({
        input: {
            ...required,
            req: {
            method: req.method,
            params: req.params,
            },
        },
    }),
};

export default jorah(config, default);
```

## Usage

On express router middleware:

```typescript
import express from 'express';
import jorah from './jorah';

const router = express.Router();

router.route('/').all(
    // other middleware ...
    jorah({
        onDecision: (req, res, next) => {
            res.json(req.policyEvaluation);
        },
        decisionPath: req =>
            `${req.baseUrl}${reduce(req.params, (acc, param, name) => `${acc}/${name.replace('_id', '')}`, '')}`,
        required: {
            id: req => req.params.id
        },
    })
    // other middleware ...
);
```

As express middleware:

```typescript
import express from 'express';
import jorah from './jorah';

const expressApp = express()
  // other middleware ...
  .use(jorah({})); // in this way the middleware use a default configurations
```
npm package: @iadev93/zuno-elysia
Description: <p><b>Elysia adapter for Zuno.</b></p>
Author: Ibrahim Aftab
Latest version: 0.0.6

# @iadev93/zuno-elysia

<p><b>Elysia adapter for Zuno.</b></p>

Provides seamless state synchronization for ElysiaJS (Bun) applications using native async generators.

---

```bash
pnpm add @iadev93/zuno-elysia
```

## Usage

```typescript
import { Elysia } from 'elysia'
import { cors } from '@elysiajs/cors'
import { createZunoElysia } from '@iadev93/zuno-elysia'

const app = new Elysia()
  .use(cors())
  
const zuno = createZunoElysia({
  batchSync: true // Optional: Enable batching
})

// Register Zuno handlers
app.get('/zuno/sse', zuno.sse)
app.post('/zuno/sync', zuno.sync)
app.get('/zuno/snapshot', zuno.snapshot)

app.listen(3002)
```

## API

### `createZunoElysia()`

Returns an object containing the following handlers:

#### `sse` (GET)
An async generator handler for Server-Sent Events. It automatically handles:
- Connection keep-alive and heartbeats.
- Reconnection logic via `last-event-id`.
- Initial state snapshots for fresh connections.

#### `sync` (POST)
Validates and applies incoming state events to the Zuno universe. Handles version conflicts and broadcasts updates to all connected SSE clients.

#### `snapshot` (GET)
Returns the current full state of the universe, the current version, and the last event ID.

## Features
- **Native SSE**: Uses Elysia's optimized streaming capabilities with async generators.
- **Lightweight**: Zero runtime dependencies on Elysia itself (uses structural typing).
- **Type Safe**: Fully written in TypeScript with comprehensive docstrings.

## License
MIT
npm package: @iadev93/zuno-express
Description: <p><b>Express adapter for Zuno.</b></p>
Author: Ibrahim Aftab
Latest version: 0.0.11

# @iadev93/zuno-express

<p><b>Express adapter for Zuno.</b></p>

Provides server-side synchronization endpoints using Server-Sent Events (SSE) for Express applications.

---

## Install

```bash
npm install @iadev93/zuno-express
```

Peer dependency:
* `express >= 4`

---

## Usage

```ts
import express from "express";
import { createZunoExpress } from "@iadev93/zuno-express";

const app = express();
app.use(express.json());

const zuno = createZunoExpress({
  batchSync: true // Optional: Enable batching
});

// Unified handlers
app.get("/zuno/sse", zuno.sse);
app.post("/zuno/sync", zuno.sync);
app.get("/zuno/snapshot", zuno.snapshot);

app.listen(3000);
```

---

## API

### `createZunoExpress(opts?)`

Returns an object containing the following Express handlers:

#### `sse` (GET)
Handles persistent SSE connections, heartbeats, and initial synchronization.

#### `sync` (POST)
Validates and applies incoming state events.

#### `snapshot` (GET)
Returns the current full state of the universe.

---

## What It Does NOT Do

* No WebSockets
* No framework‑specific state
* No persistence layer

---

If you’re using Zuno in a real project, please open an issue and tell us your use case.

---

## License

MIT
npm package: @iadev93/zuno-react
Description: <p><b>Idiomatic React bindings for Zuno.</b></p>
Author: Ibrahim Aftab
Latest version: 0.0.12

# @iadev93/zuno-react

<p><b>Idiomatic React bindings for Zuno.</b></p>

This package provides deep integration with React using `useSyncExternalStore` for performance and consistency.

---

## Install

```bash
npm install @iadev93/zuno-react
```

Peer dependency:

* `react >= 18`

---

## Usage

```tsx
import { createZunoReact } from "@iadev93/zuno-react";

const zuno = createZunoReact({
  // Optional: Enable batching
  batchSync: true,
});

const counter = zuno.store(
  "counter", 
  () => 0, 
  undefined, 
  // Optional: Custom equality
  (a, b) => a === b
);

function App() {
  const value = counter.use();
  return <button onClick={() => counter.set(v => v + 1)}>{value}</button>;
}
```

---

## Features

* No Context
* No Provider
* Fine‑grained subscriptions
* Selector + equality support
* SSR‑safe via `useSyncExternalStore`

---

## Design Rules

* React adapter never mutates core
* React adapter never owns state
* React adapter only subscribes

---

If you’re using Zuno in a real project, please open an issue and tell us your use case.

---

## License

MIT
npm package: @iadvize-oss/eslint-config-jest
Description: iAdvize javascript eslint rules for jest files
Author: iAdvize developers
Latest version: 2.0.0

# @iadvize-oss/eslint-config-jest

## Install

Add this dependency to your repository and the eslint peer-dependency :

```bash
npm add --save-dev @iadvize-oss/eslint-config-jest eslint
```

## Usage

Create a `.eslintrc` file in your project root with this content

```json
{
  "extends": [
    "@iadvize-oss/eslint-config-jest"
  ]
}
```
npm package: @iadvize-oss/eslint-config-mocha
Description: iAdvize javascript eslint rules for mocha files
Author: iAdvize developers
Latest version: 2.0.0

# @iadvize-oss/eslint-config-mocha

## Install

Add this dependency to your repository:

```bash
npm add --save-dev @iadvize/eslint-config-mocha eslint
```

## Usage

```json
{
  "extends": [
    "@iadvize-oss/eslint-config-mocha"
  ]
}
```
npm package: @iadvize-oss/eslint-config-redux-saga
Description: iAdvize javascript eslint rules for redux-saga
Author: iAdvize developers
Latest version: 2.0.0

# @iadvize-oss/eslint-config-redux-saga

## Install

Add this dependency to your repository and eslint peer-dependency:

```bash
npm add --save-dev @iadvize-oss/eslint-config-redux-saga
```

## Usage

Create a .eslintrc file in your project root with this content

```json
{
  "extends": [
    "@iadvize-oss/eslint-config-redux-saga"
  ]
}
```
npm package: @iadvize-oss/eslint-config-storybook
Description: iAdvize javascript eslint rules for storybook
Author: iAdvize developers
Latest version: 2.0.0

# @iadvize-oss/eslint-config-storybook

## Install

Add this dependency to your repository:

```bash
npm add --save-dev @iadvize-oss/eslint-config-storybook
```

## Usage

```json
{
  "extends": [
    "@iadvize-oss/eslint-config-storybook"
  ]
}
```
npm package: @iadvize-oss/iadvize-react-native-sdk
Description: iAdvize Conversation SDK - React Native Plugin
Author: iAdvize
Latest version: 5.0.0

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="./iAdvize_logo_dark.png">
    <img alt="iAdvize Logo" src="./iAdvize_logo_light.png" width="400">
  </picture>
</p>

# iAdvize React Native SDK

Take your app to the next level and provide a **unique conversational shopping experience** to your users!

Embed the iAdvize Mobile SDK into your app to give your visitors instant access to our **AI Shopping Assistant and professional agents**. Assist shoppers throughout their buying journey – answering product questions, finding relevant products, and helping them make buying decisions with more confidence – all through a **fully customized chat experience**, directly on their devices.

## Integration

A step-by-step integration guide of the iAdvize Mobile SDK is available on our [Developer Platform](https://developers.iadvize.com/documentation/mobile-sdk).