open-index/open-npm huggingface dataset:
npm package: @midasit-dev/playground
Description: Playground using moaui to create midas plugin UI
Author: APIDEV Team
Latest version: 0.0.30

# Playground 프로젝트

Playground는 MIDAS Plugin의 UI를 코딩 없이 만들 수 있는 툴을 제공하는 프로젝트입니다. 이 툴을 통해 사용자는 복잡한 코드를 작성하지 않고도 Visual Programming 방식으로 UI를 손쉽게 제작할 수 있습니다.

## 주요 특징

- **코딩 없는 UI 제작**: Playground를 사용하면, MIDAS Plugin의 UI를 코드 한 줄 없이 쉽게 만들 수 있습니다.
- **moaUI 라이브러리**: 이 툴은 MIDAS에서 제작한 moaUI 라이브러리를 사용하여, Visaul Programming을 할 수 있는 다양한 컴포넌트를 제공합니다.
- **Layout 저장**: 사용자가 만든 UI의 Layout은 JSON 형태로 사용자의 PC에 저장됩니다. 이를 통해 사용자는 언제든지 자신이 만든 Layout을 불러와 수정할 수 있습니다.
- **코드 생성**: UI 제작이 완료되면, 사용자는 'Code로 저장' 기능을 사용하여 만든 UI에 대한 전체 코드를 자동으로 생성하여 사용자의 PC에 저장할 수 있습니다. 이를 통해 사용자는 자신이 만든 UI를 쉽게 다른 프로젝트에 적용할 수 있습니다.

## 사용 방법

사용하기 전에, MIDAS Plugin과 moaUI 라이브러리가 설치되어 있어야 합니다. 요구사항을 충족한 후, Playground를 다운로드하여 실행하기만 하면 됩니다. 자세한 사용 방법은 Playground 프로젝트의 `documentation` 폴더 내 문서를 참고하세요.

---

이 툴을 통해 개발자들은 보다 빠르고 손쉽게 MIDAS Plugin의 UI를 제작할 수 있으며, 복잡한 코딩 없이도 사용자 친화적인 인터페이스를 구현할 수 있습니다. Playground와 함께 멋진 UI 제작의 첫걸음을 떼어보세요!
npm package: @midata/angularjs
Description: AngularJS library for MIDATA portal plugins
Author: Alexander Kreutz
Latest version: 0.1.0

MIDATA COOP Portal Plugin Library
=============================

This library provides communication functions with the MIDATA server and the MIDATA portal.
It may be used by plugins written for the MIDATA portal.

Adding this library to your portal plugin
-------
In order to use this library with bower add this URL as dependency to your bower.json:
```
git://github.com/MIDATAcooperative/midata-plugin-library.git
```
npm package: @midbel/sqb
Description: a damned simple SQL query builder
Author: midbel
Latest version: 0.3.1

# SQB: a damned simple SQL query builder

Write simple and easy Javascript code to generate your SQL queries from the simplest to what fits best your needs but without having to mix (too much) SQL with your js code.

sqb provides functions and types to build commons SQL statements like:

* Select (and union, intersect and except with their all variants)
* Insert
* Update
* Delete

It provides functions to help you build conditions, expressions and some SQL functions like `count`, `avg`, `coalesce`, `ifnull`, etc.

## Install

```bash
npm install -D @midbel/sqb
```

## Queries

sqb provides one builder per type of SQL statement. The following builder are currently available:

* Select
* Update
* Insert
* Delete
* Truncate
* Merge

See the following sections for their usage.

### Select

```js
import { Select, Binary, placeholder } from '@midbel/sqb'

const q = Select.from('employees')
	.column(["firstname", "lastname"])
	.where(Binary.eq("department", placeholder()))
console.log(q.sql())
```
```shell
select firstname, lastname from employees where department=?
```

### Delete

```js
import { Delete } from '@midbel/sqb'
const q = Delete.from("employees").where(Binary.eq("department", Literal.str("HR")))
console.log(q)
```
```shell
delete from employees where department='HR'
```

### Insert

```js
import { Insert, Exec, placeholder } from '@midbel/sqb'

const q = Insert.into("employees")
	.column(['id', 'firstname', 'lastname', 'department', 'hired_date'])
	.value(['default', placeholder(), placeholder(), placeholder(), Exec.currentDate()])
console.log(q.sql())
```
```shell
insert into employees(id, firstname, lastname, department, hired_date) values (default, ?, ?, ?, current_date)
```

### Update

```js
import { Update, Binary, Literal, placeholder } from '@midbel/sqb'
const q = Update.update("employees")
	.set("department", Literal.str("it"))
	.where(Binary.eq("id", placeholder()))

console.log(q.sql()) // 
```
```shell
update employees set department='IT' where id=?
```
npm package: @middle-cli/plugin-route-props
Description: 路由属性扩展，默认解析属性：layout、login。 可在config中自定义。
Author: yanxlg
Latest version: 1.1.0

# @middle-cli/plugin-route-props

路由属性扩展，默认解析属性：layout、login。 可在config中自定义。
npm package: @middle_boss/react-bootstrap-table-next
Description: Next generation of react-bootstrap-table
Author: AllenFang
Latest version: 4.0.7

# react-bootstrap-table-next
Next generation of [`react-bootstrap-table`](https://github.com/AllenFang/react-bootstrap-table)

## Usage

### Installation

```sh
npm install react-bootstrap-table-next --save
```

### Include CSS

> react-bootstrap-table2 need you to add bootstrap css in your application firstly. About bootstrap css, we only compatible with bootstrap 3 but will start to compatible for bootstrap 4 on v0.2.0

```js
// es5 
require('react-bootstrap-table-next/dist/react-bootstrap-table2.min.css');

// es6
import 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';
```

### Your First Table

```js
import BootstrapTable from 'react-bootstrap-table-next';

const products = [ ... ];
const columns = [{
  dataField: 'id',
  text: 'Product ID'
}, {
  dataField: 'name',
  text: 'Product Name'
}, {
  dataField: 'price',
  text: 'Product Price'
}];

export default () =>
  <BootstrapTable keyField='id' data={ products } columns={ columns } />
```
npm package: @middlebop/client
Description: middlebop npm package
Author: Matzie
Latest version: 0.0.2

<img width="400" src="full-logo-dark.svg" />

# Multiple AI models always same syntax

Welcome to Middlebop, integrate with multiple AI models using one single syntax. Our library serves as a unified interface, allowing you to communicate with multiple AI models and seemlessly switch between them in real time without rewriting your code.

## Before you begin
Make sure you have a Middlebop account and have created an API key that you will use with the api and clients.

:warning: Always store your Middlebop API key safely! Never share it and we recommend to always call it from your backend!

You can create and handle your API keys at [https://middlebop.com](https://middlebop.com/dashboard)

```bash
npm install @middlebop/client # or yarn add @middlebop/client or bun add @middlebop/client
```

## Chat completion example

```ts
import { sendChat } from "middlebop";

const middlebopApiKey = "mb-yourSuperSecretApiKey";

const messages: MiddlebopChatMessage[] = [
  {
    role: "user",
    content: {
      type: "text",
      text: "Hello, who are you?",
    },
  },
];

const response = await sendChat({
  messages,
  model: "gpt-4",
  middlebopApiKey,
});

console.log(response.data);
// OUTPUT:
// {
//   "responseMessages": [
//     {
//       "role": "assistant",
//       "content": {
//         "type": "text",
//         "text": "Hello! I'm AI developed by OpenAI. How can I help you today?"
//       }
//     }
//   ]
// }
```

## Streaming chat response example 
Input is the same as when creating a non streaming chat response. When calling the streaming chat function you pass a callback handler that recieves every chunk. You can also pass in an error handler.

```ts 
import {
  MiddlebopChatMessage,
  startChatStream,
} from "middlebop";

const middlebopApiKey = "mb-yourSuperSecretApiKey";

const messages: MiddlebopChatMessage[] = [
  {
    role: "system",
    content: {
      type: "text",
      text: "You are a helpful assistant called beep-boop",
    },
  },
  {
    role: "user",
    content: {
      type: "text",
      text: "Hello, who are you?",
    },
  },
];

const onStreamResponse = (chunk: MiddlebopChatCompletionStreamChunk) => {
  console.log(chunk);
};

const onStreamError = (error: unknown) => {
  console.error(error);
};

startChatStream(
  {
    messages,
    model: "gemini-pro",
    middlebopApiKey,
  },
  onStreamResponse,
  onStreamError
);

// CHUNK OUTPUT EXAMPLE
// {
//   "type": "chunk",
//   "model": "gemini-pro",
//   "messages": [
//     {
//       "role": "assistant",
//       "content": {
//         "type": "text",
//         "text": "Hello"
//       }
//     }
//   ]
// }
```

More documentation can be found at [https://docs.middlebop.com](https://docs.middlebop.com)
npm package: @middlebrick/api-client
Description: middleBrick API client — zero-dependency, native fetch
Latest version: 0.1.0

# @middlebrick/api-client

Zero-dependency TypeScript client for the [middleBrick](https://middlebrick.com) API security scanning platform. Uses native `fetch` — works in Node.js, Cloudflare Workers, and browsers.

## Install

```bash
npm install @middlebrick/api-client
```

## Quick Start

```typescript
import { MiddleBrickClient } from "@middlebrick/api-client";

const client = new MiddleBrickClient({
  apiKey: "mb_your_key_here",
});

// Scan and wait for results
const result = await client.scanAndWait({
  apiUrl: "https://api.example.com/v1/users",
  method: "GET",
});

console.log(result.overall); // 72
console.log(result.letterGrade); // "C"
console.log(result.findings); // [{ severity: "high", title: "...", ... }]
```

## API

### `new MiddleBrickClient(opts)`

| Option | Type | Required | Description |
|--------|------|----------|-------------|
| `apiKey` | string | Yes | Your middleBrick API key |
| `baseUrl` | string | No | API base URL (default: `https://middlebrick.com`) |

### Methods

#### `scanApi(params)` — Submit a scan

Returns `{ scanId: string }`. Does not wait for completion.

#### `getScan(scanId)` — Get scan results

Returns a `ScanResult` with score, grade, categories, and findings.

#### `listScans(params?)` — List previous scans

Optional filters: `limit`, `offset`, `status`. Returns `ScanListResult`.

#### `scanAndWait(params, opts?)` — Scan and poll until done

Submits a scan and polls until `completed` or `failed`. Default timeout: 5 minutes.

### Error Handling

```typescript
import { MiddleBrickClient, MiddleBrickError } from "@middlebrick/api-client";

try {
  const result = await client.scanAndWait({ apiUrl: "https://api.example.com" });
} catch (err) {
  if (err instanceof MiddleBrickError) {
    console.error(err.message); // "Unauthorized"
    console.error(err.statusCode); // 401
  }
}
```

## Types

All types are exported: `ScanResult`, `ScanListResult`, `ScanListItem`, `Finding`, `LetterGrade`, `Severity`, `PatentDimensions`, `ClientOptions`, `ScanParams`, `ListScansParams`.

## License

MIT — [Zevlat Intelligence](https://zev.lat)
npm package: @middlebrick/mcp-server
Description: MCP server for middleBrick API security scanning
Latest version: 0.1.2

# @middlebrick/mcp-server

[MCP](https://modelcontextprotocol.io) server for [middleBrick](https://middlebrick.com) API security scanning. Lets AI assistants (Claude, Cursor, etc.) scan APIs for vulnerabilities via tool calls.

## Setup

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "middlebrick": {
      "command": "npx",
      "args": ["-y", "@middlebrick/mcp-server"],
      "env": {
        "MIDDLEBRICK_API_KEY": "mb_your_key_here"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "middlebrick": {
      "command": "npx",
      "args": ["-y", "@middlebrick/mcp-server"],
      "env": {
        "MIDDLEBRICK_API_KEY": "mb_your_key_here"
      }
    }
  }
}
```

Get your API key at: [middlebrick.com/dashboard](https://middlebrick.com/dashboard)

## Tools

| Tool | Description |
|------|-------------|
| `scan_api` | Scan an API endpoint for security vulnerabilities |
| `get_scan` | Get results of a previous scan |
| `list_scans` | List previous scans |

### scan_api

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | API endpoint URL |
| `method` | string | No | HTTP method (default: GET) |

### get_scan

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scanId` | string | Yes | Scan ID to retrieve |

### list_scans

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | Max results |
| `offset` | number | No | Skip count |
| `status` | string | No | Filter: queued, processing, completed, failed |

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `MIDDLEBRICK_API_KEY` | Yes | API key |
| `MIDDLEBRICK_BASE_URL` | No | API URL override |

## License

MIT — [Zevlat Intelligence](https://zev.lat)