open-index/open-npm huggingface dataset:
npm package: @stageus/express-validator
Description: validator for express
Author: jochong
Latest version: 0.0.4

# 🚀 @stageus/express-validator

You can use `@stageus/express-validator` to validate `body`, `query` and `params` of `Express.Request`.

# Installation

```bash
npm install @stageus/express-validator
```

# ✏️ Usage

You can use `validate` function. This function return `RequestHandler`.

```typescript
validate([
  body('email', message('invalid email').isString().isEmail()),
]);
```

```typescript
router.post( 
  '/user', 
  validate([
    body({
      email: message('invalid email').isString().isEmail(),
      pw: message('invalid password').isString().length({ min: 6, max: 16}).isPw(),
      profileImg: {
        fileName: message('invalid file name').isString().
        fileExt: message('invalid file extension').isString()
      }
    })
  ]),
  (req, res) => {
    // Do Something...
  }
)
```

# 📄 Document

You can check the validation method to be chanined can be confirmed through the following document.

* [@stageus/validator](https://www.npmjs.com/package/@stageus/validator)

## 🔧 validate()

Through `validate` function, a `RequestHandler` can be created to validate of the `body`, `query`, and `params` properties of the `Express.Request`.

That is, the `validate` function validate all `Validation`s of the array of first parameter.

```typescript
validate([
    body('email', message('invalid email').isString().isEmail()),
    params('page', message('invalid page').isNumber().isInt()),
])
```

In the above example, the body value and the params value are evaluated simultaneously.

## 🔧 body()

Through the `body` function, one `Validation` can be created to evaluate `req.body`.

```typescript
// Evaluate `req.body` as a whole
body({
    email: message('invalid email').isString().isEmail()
});

// Evaluate only `req.body.email` 
body('email', message('invalid email').isString().isEmail());
```

## 🔧 query()

Through the `query` function, one `Validation` can be created to evaluate `req.query`.

```typescript
// Evaluate `req.query` as a whole
query({
    page: message('invalid pagenation').isNumber()
});

// Evaluate only `req.query.page` 
query('page', message('invalid pagenation').isNumber());
```

## 🔧 params()

Through the `params` function, one `Validation` can be created to evaluate `req.params`.

```typescript
// Evaluate `req.params` as a whole
params({
    idx: message('invalid idx').isNumber()
});

// Evaluate only `req.params.idx` 
params('idx', message('invalid idx').isNumber());
```

<br/>

# Maintainer

<table>
  <tr>
    <td align="center">
      <a href="https://github.com/jochongs">
        <img src="https://github.com/jochongs.png" width="100px;" alt="Kyeong Chan Min" style="border-radius: 100%;border:2px solid white" />
        <br />
        <sub>
          <b>Kyeong Chan Min</b>
        </sub>
      </a>
      <br />
      Author
    </td>
  </tr>
</table>

<br/>

# LICENSE

[LICENSE](https://github.com/Stageus-Corp/express-validator/blob/master/LICENSE)
npm package: @stagewhisper/openclaw-channel
Description: OpenClaw channel plugin that connects StageWhisper live calls to your AI assistant
Latest version: 0.8.0

# @stagewhisper/openclaw-channel

OpenClaw channel plugin that turns StageWhisper live call moments into assistant tasks.

## What it does

During a live StageWhisper call, the system detects actionable moments (follow-ups, research requests, scheduling needs) and packages them as structured tasks. This plugin receives those tasks via the StageWhisper relay and injects them into OpenClaw as channel messages, allowing your AI assistant to start working while the call is still happening.

## Setup

### 1. Install the plugin

```bash
openclaw plugins install @stagewhisper/openclaw-channel
```

Or install from a local path during development:

```bash
openclaw plugins install /path/to/integrations/openclaw-stagewhisper-channel
```

### 2. Generate a pairing code in StageWhisper

Open StageWhisper desktop → Settings → Assistant → Generate pairing code.

### 3. Complete pairing

```bash
openclaw stagewhisper pair --code <PAIRING_CODE> --api-url https://api.stagewhisper.io
```

This writes the integration credentials to your OpenClaw config.

### 4. Verify the connection

```bash
openclaw stagewhisper status
```

## Development

```bash
cd integrations/openclaw-stagewhisper-channel
pnpm install
pnpm test
pnpm build
```

### Local install for testing

```bash
pnpm build
openclaw plugins install $(pwd)
```

## Configuration

The plugin reads from `channels.stagewhisper` or `plugins.entries.stagewhisper.config`:

| Key | Required | Description |
|-----|----------|-------------|
| `apiBaseUrl` | Yes | StageWhisper backend URL |
| `integrationId` | Yes | Integration ID from pairing |
| `relayToken` | Yes | Relay token from pairing |
| `label` | No | Display label (default: "StageWhisper") |

## Architecture

```
StageWhisper Desktop → StageWhisper Backend (relay) → This Plugin → OpenClaw Assistant
                                                    ← Reply path ←
```

The plugin runs a background service that:
1. Connects to the StageWhisper relay stream (SSE)
2. Receives queued assistant tasks
3. Injects them as channel messages into OpenClaw
4. Posts assistant replies back to StageWhisper

## License

MIT
npm package: @stagewhisper/stagewhisper
Description: OpenClaw channel plugin that connects StageWhisper live calls to your AI assistant
Latest version: 0.49.0

# @stagewhisper/stagewhisper

OpenClaw channel plugin that turns StageWhisper live call moments into assistant tasks.

## What it does

During a live StageWhisper call, the system detects actionable moments (follow-ups, research requests, scheduling needs) and packages them as structured tasks. This plugin receives those tasks via the StageWhisper relay and injects them into OpenClaw as channel messages, allowing your AI assistant to start working while the call is still happening.

## Setup

### 1. Install the plugin

```bash
openclaw plugins install @stagewhisper/stagewhisper
```

Or install from a local path during development:

```bash
openclaw plugins install /path/to/integrations/openclaw-stagewhisper-channel
```

### 2. Generate a pairing code in StageWhisper

Open StageWhisper desktop → Settings → Assistant → Generate pairing code.

### 3. Complete pairing

```bash
openclaw stagewhisper pair --code <PAIRING_CODE> --api-url https://api.stagewhisper.io
```

Follow the printed instructions to apply config, then restart:

```bash
openclaw gateway restart
```

### 4. Verify the connection

```bash
openclaw stagewhisper status
```

## Development

```bash
cd integrations/openclaw-stagewhisper-channel
pnpm install
pnpm test
pnpm typecheck
```

### Local install for testing

```bash
openclaw plugins install $(pwd)
```

## Configuration

The plugin reads from `channels.stagewhisper` or `plugins.entries.stagewhisper.config`:

| Key | Required | Description |
|-----|----------|-------------|
| `apiBaseUrl` | Yes | StageWhisper backend URL |
| `integrationId` | Yes | Integration ID from pairing |
| `relayToken` | Yes | Relay token from pairing |
| `label` | No | Display label (default: "StageWhisper") |

## Architecture

```
StageWhisper Desktop → StageWhisper Backend (relay) → This Plugin → OpenClaw Assistant
                                                    ← Reply path ←
```

The plugin runs a background service that:
1. Connects to the StageWhisper relay stream (SSE)
2. Receives queued assistant tasks
3. Injects them as channel messages into OpenClaw
4. Posts assistant replies back to StageWhisper

## License

MIT