open-index/open-npm huggingface dataset:
npm package: @isman/nest-swagger
Description: Nest - modern, fast, powerful node.js web framework (@swagger)
Author: Kamil Mysliwiec
Latest version: 3.2.0

<p align="center">
  <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo_text.svg" width="320" alt="Nest Logo" /></a>
</p>

  <p align="center">A progressive <a href="http://nodejs.org" target="blank">Node.js</a> framework for building efficient and scalable server-side applications, heavily inspired by <a href="https://angular.io" target="blank">Angular</a>.</p>
    <p align="center">
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/dm/@nestjs/core.svg" alt="NPM Downloads" /></a>
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#5" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
  <a href="https://paypal.me/kamilmysliwiec"><img src="https://img.shields.io/badge/Donate-PayPal-dc3d53.svg"/></a>
  <a href="https://twitter.com/nestframework"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
</p>
  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->

## Description

[OpenAPI (Swagger)](https://www.openapis.org/) module for [Nest](https://github.com/nestjs/nest).

## Installation

```bash
$ npm i --save @nestjs/swagger
```

## Quick Start

[Overview & Tutorial](https://docs.nestjs.com/recipes/swagger)

## Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).

## Stay in touch

- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)

## License

Nest is [MIT licensed](LICENSE).
npm package: @ismarslomic/sanity-plugin-tag-hierarchy
Description: A multi-tag input supporting tag hierarchy and tag management
Author: Ismar Slomic
Latest version: 1.0.1

# sanity-plugin-tag-hierarchy

[![CI & Release](https://github.com/ismarslomic/sanity-plugin-tag-hierarchy/actions/workflows/main.yml/badge.svg)](https://github.com/ismarslomic/sanity-plugin-tag-hierarchy/actions/workflows/main.yml)
> This is a **Sanity Studio v3** plugin.

A multi-tag input supporting tag hierarchy (max 2 levels), grouping tagged documents in Desk tool and browsing documents by tags in the Studio.

## Installation

```sh
npm install @ismarslomic/sanity-plugin-tag-hierarchy
```

## Usage

Add it as a plugin in `sanity.config.ts` (or .js):

```ts
import {defineConfig} from 'sanity'
import {tagHierarchy} from 'sanity-plugin-tag-hierarchy'

export default defineConfig({
  //...
  plugins: [tagHierarchy({})],
})
```

### Parent/child tags
This plugin supports tag hierarchy of 2 levels: **Parent** and **Child**.

A "**Parent**" Tag is any tag document that does not have the parent field defined.

A "**Child**" Tag is any tag document with a parent field reference.

### Add tag input to schema
Allow selecting multiple tags, but only child tags:
```ts
defineField({
  name: 'tags',
  type: 'array',
  of: [
    {
      type: 'reference',
      to: {type: 'tag'},
      options: {
        filter: 'defined(parent)',
        disableNew: true,
      },
    }
  ]
})
```
#### Screenshot: Tag reference in Post document
![tag-reference.png](doc/tag-reference.png)

### Add Parent-Child tag structure in Desk
```ts
import { createDeskHierarchy } from 'sanity-plugin-tag-hierarchy'

export default defineConfig({
  plugins: [
    deskTool({
      structure: (S: StructureBuilder, context: StructureResolverContext) => {
        return S.list()
          .title('Content')
          .items([
            createDeskHierarchy(S, context.documentStore, 'Tags')
          ])
      },
    }),
  ]
})
```

#### Screenshot: Parent tag structure in Sanity Desk
![tag-reference.png](doc/parent-tag-structure.png)

#### Screenshot: Child tag structure in Sanity Desk
![tag-reference.png](doc/child-tag-structure.png)

## License

[MIT](LICENSE) © Ismar Slomic

## Develop & test

This plugin uses [@sanity/plugin-kit](https://github.com/sanity-io/plugin-kit)
with default configuration for build & watch scripts.

See [Testing a plugin in Sanity Studio](https://github.com/sanity-io/plugin-kit#testing-a-plugin-in-sanity-studio)
on how to run this plugin with hotreload in the studio.


### Release new version

We use the [Sanity semantic-release](https://github.com/sanity-io/plugin-kit/blob/main/docs/semver-workflow.md) to 
automate publish to NPM. 

Run ["CI & Release" workflow](https://github.com/ismarslomic/sanity-plugin-tag-hierarchy/actions/workflows/main.yml).

Make sure to select the main branch and check "Release new version".

Semantic release will only release on configured branches, so it is safe to run release on any branch.
npm package: @ismartify/nuxt-extra
Description: Nuxt Extra Layers - 额外的 Nuxt 3 模块集合，包括 UI、Console、Coder、Nav、Univer 等实用组件
Author: ismartify
Latest version: 1.0.0

# @ismartify/nuxt-extra

> Nuxt Extra Layers - 额外的 Nuxt 3 模块集合，提供实用的 UI 组件和功能模块

[![npm version](https://badge.fury.io/js/%40ismartify%2Fnuxt-extra.svg)](https://www.npmjs.com/package/@ismartify/nuxt-extra)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## 📦 包含模块

- **nuxt.ui** - 额外的 UI 组件和页面
- **nuxt.console** - 控制台工具模块
- **nuxt.coder** - 代码编辑器模块
- **nuxt.nav** - 导航组件模块
- **nuxt.layouts** - 布局模板集合
- **nuxt.univer** - Univer 表格集成模块

## 🚀 快速开始

### 安装

```bash
# 使用 pnpm
pnpm add @ismartify/nuxt-extra

# 使用 npm
npm install @ismartify/nuxt-extra

# 使用 yarn
yarn add @ismartify/nuxt-extra
```

### 配置

在 `nuxt.config.ts` 中添加模块：

```ts
export default defineNuxtConfig({
  extends: ['@ismartify/nuxt-extra']
})
```

## 📖 模块说明

### nuxt.ui

提供额外的 UI 组件和演示页面，访问路径：`/nuxt.ui`

### nuxt.console

控制台工具和调试功能，访问路径：`/nuxt.console`

### nuxt.coder

代码编辑器集成，支持语法高亮和代码补全，访问路径：`/nuxt.coder`

### nuxt.nav

导航组件和菜单系统，访问路径：`/nuxt.nav`

### nuxt.layouts

预定义的布局模板：
- **blank** - 空白布局
- **chat** - 聊天应用布局

### nuxt.univer

Univer 表格集成，支持电子表格功能，访问路径：`/nuxt.univer`

> 文档：[Univer 开发使用手册](./nuxt.univer/components/Univer开发使用手册.md)

## 🔧 开发

### 环境要求

- Node.js >= 18.0.0
- Nuxt 3+

### 本地开发

```bash
# 克隆仓库
git clone https://github.com/ismartify/nuxt-extra.git

# 安装依赖
pnpm install

# 运行示例
pnpm dev
```

## 📝 License

[MIT](LICENSE)

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

## 📧 联系方式

- 邮箱：info@ismartify.com
- GitHub：https://github.com/ismartify/nuxt-extra
npm package: @ismartify/steady
Description: A high-performance utility package for debounce and throttle functions with 99% optimization in real scenarios
Author: iSmartify Team
Latest version: 0.0.6

# @ismartify/steady

[![npm version](https://img.shields.io/npm/v/@ismartify/steady.svg)](https://www.npmjs.com/package/@ismartify/steady)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)

**Languages**: [🇨🇳 中文](README.md) | [🇺🇸 English](README.en.md)

🚀 **稳定高效的防抖和节流工具库** - 专为现代前端应用优化，在真实场景测试中实现 **99% 性能提升**！

> **"steady"** 意为"稳定的、持续的、可靠的"，正如这个库的核心理念：通过智能的防抖和节流机制，让你的应用在高频调用场景下依然保持稳定高效的性能表现。

✨ **特性**
- 🎯 **零依赖** - 轻量级，无外部依赖
- 🔧 **TypeScript 支持** - 完整的类型定义
- ⚡ **高性能优化** - 真实测试中网络请求减少99%
- 🧪 **全面测试** - 包含极限压力测试和真实场景测试
- 📦 **多格式支持** - 支持 ESM 和 CommonJS

## 安装

```bash
pnpm add @ismartify/steady
```

## 使用方法

### debounce (防抖)

```typescript
import { debounce } from '@ismartify/steady'

// 创建一个防抖函数，延迟1000ms执行
const debouncedFunc = debounce(() => {
  console.log('Debounced!')
}, 1000)

// 多次调用，但只会在最后一次调用后1000ms执行一次
debouncedFunc()
debouncedFunc()
debouncedFunc() // 只有这次调用会在1000ms后执行
```

### throttle (节流)

```typescript
import { throttle } from '@ismartify/steady'

// 创建一个节流函数，每1000ms最多执行一次
const throttledFunc = throttle(() => {
  console.log('Throttled!')
}, 1000)

// 无论调用多少次，每1000ms最多执行一次
throttledFunc()
throttledFunc()
throttledFunc()
```

## 🚀 性能测试结果

我们进行了全面的性能测试，包括真实网络环境下的 i18n 场景测试，结果令人印象深刻：

### 📊 极限压力测试 - 100次重复请求

| 测试场景 | 网络请求次数 | 性能提升 |
|---------|-------------|----------|
| 🔴 **无优化版本** | 100次 | 基准 |
| 🟢 **防抖优化版本** | 1次 | **99.0%** ⚡ |

**结果**：100次翻译调用被优化为仅1次网络请求！

### 🌟 多文件并发压力测试 - 400次调用

| 指标 | 数值 |
|------|------|
| 📊 总翻译调用 | 400次 |
| ⚡ 实际网络请求 | 4次 |
| 🎯 压缩比例 | **100:1** |
| 🚀 性能提升 | **99%** |

### 💡 真实场景应用

在前端 i18n 国际化场景中，多个组件可能同时请求相同的翻译文件：

```typescript
// 🔴 无优化：每次调用都会发起网络请求
t('common.button.save')    // 第1次网络请求
t('common.button.cancel')  // 第2次网络请求  
t('common.button.submit')  // 第3次网络请求
// ... 更多重复请求

// 🟢 使用防抖优化：多次调用合并为1次网络请求
const debouncedFetch = debounce(fetchI18nData, 10)
// 无论调用多少次，同一文件只请求一次！
```

### 🎯 生产环境价值

- **💰 成本节省**：API调用费用减少99%
- **⚡ 响应速度**：网络延迟大幅降低  
- **🔋 资源节省**：服务器负载减少99%
- **📱 用户体验**：应用响应更流畅

## API

### debounce(func, wait, immediate?)

创建一个防抖函数，该函数会在等待 `wait` 毫秒后调用 `func`。如果在等待期间再次调用，则重新计时。

- `func`: 要防抖的函数
- `wait`: 等待时间（毫秒）
- `immediate`: 是否在延迟开始前调用（默认为 false）

### throttle(func, wait)

创建一个节流函数，该函数最多每 `wait` 毫秒调用一次 `func`。

- `func`: 要节流的函数
- `wait`: 等待时间（毫秒）

## 🧪 测试套件

本库包含全面的测试套件，验证各种使用场景：

### 基础功能测试
- ✅ 防抖函数基本功能
- ✅ 节流函数基本功能  
- ✅ immediate 模式测试

### 暴力压力测试
- ✅ 10000次高频调用测试
- ✅ 连续间隔调用测试
- ✅ 混合使用场景测试

### 真实场景测试
- ✅ i18n 国际化场景模拟
- ✅ 100次极限重复请求
- ✅ 多文件并发压力测试
- ✅ 网络错误处理测试

```bash
# 运行所有测试
pnpm test

# 运行 i18n 场景测试
pnpm test:i18n

# 运行测试覆盖率
pnpm test:coverage
```

## License

MIT
npm package: @ismatjon/angular-data-table
Description: An Angular 7 data table, with pagination, sorting, expandable rows etc.
Author: Ismatjon
Latest version: 0.1.6

## Angular 7 Data Table

This is fork of package [https://github.com/ggmod/angular-2-data-table](https://github.com/ggmod/angular-2-data-table)

A simple Angular 7 data table, with built-in solutions for features including:

- pagination
- sorting
- row selection (single/multi)
- expandable rows
- column resizing
- selecting visible columns

The component can be used not just with local data, but remote resources too: for example if the sorting and paging happen in the database.

The templates use bootstrap CSS class names, so the component requires a bootstrap .css file to be present in the application using it.

Check out the [demo](https://ggmod.github.io/angular-2-data-table-demo) and its [code](https://github.com/MIt9/angular-4-data-table-demo) for examples of how to use it.

Demo for pagination with seperate page numbers will be added soon

## Installing:

`npm install @ismatjon/angular-data-table --save`

## Production (Minification)

Some times this can cause problems.  
To fix it use import like this

`import { DataTableModule } from '@ismatjon/angular-data-table';`

and for production build use

`ng build --prod --aot=false`

### Added numerical pagination support with 2 next and previous links

#### Licensing

MIT License
npm package: @ismeth/urql-sse-exchange
Description: This library is based on now deprecated `@grafbase/urql-exchange` and is a drop-in replacement for it.
Latest version: 1.0.3

This library is based on now deprecated `@grafbase/urql-exchange` and is a drop-in replacement for it.

# @ismeth/urql-sse-exchange

URQL-exchange for handling Server Sent Events (SSE)

## Getting Started

Follow these steps in a new or existing React application

1. Install the dependencies

```
npm install urql graphql @ismeth/urql-sse-exchange
```

2. Create URQL client

```ts
// client.ts
import { cacheExchange, createClient, fetchExchange } from 'urql'
import { sseExchange } from '@ismeth/url-sse-exchange'

// Token generated by your auth provider: https://grafbase.com/docs/reference/directives#auth
const token = '....'

export const client = createClient({
  url: process.env.GRAFBASE_API_URL,
  fetchOptions: {
    headers: {
      authorization: `Bearer ${token}`
    }
  },
  // Make sure `sseExchange` is put before `fetchExchange`
  exchanges: [cacheExchange, sseExchange, fetchExchange]
})
```

3. Connect URQL client to React

```ts
// index.ts
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import { Provider } from 'urql'
import { client } from './client'

ReactDOM.createRoot(document.getElementById('root')).render(
  <Provider value={client}>
    <App />
  </Provider>
)
```

5. Subscribe to data changes

```tsx
// App.tsx
import { useQuery, gql } from 'urql'

const query = gql`
  query @live {
    todoListCollection(first: 5) {
      edges {
        node {
          id
          title
        }
      }
    }
  }
`

function App() {
  const [{ data, fetching, error }] = useQuery({ query })

  if (fetching) return <p>Loading...</p>
  if (error) return <p>Error : {error.message}</p>

  return (
    <>
      {data?.todoListCollection?.edges?.map(
        ({ node: { id, title } }: { node: { id: string; title: string } }) => (
          <div key={id}>
            <div>{title}</div>
          </div>
        )
      )}
    </>
  )
}

export default App
```
npm package: @ismnoiet/react-native-dropdown
Description: The native dropdown menu for react native
Author: ismnoiet
Latest version: 0.0.2

<h2 align="center">React Native Dropdown Menu</h2>
<p align="center">The high-quality native iOS dropdown menu</a> for <a href="https://facebook.github.io/react-native/">react native.</a> A component that offers a veriety of options...

<p align="center">
  <a href="https://github.com/ismnoiet/example_RN_dropdown" style="margin-bottom: 10px"><b>Demo</b></a>
</p>
<p align="center">
  <img src="./demo.gif" width="300" border="1px"/>
</p>

## Getting Started

1. Installation

   * Using npm: `npm install --save @ismnoiet/react-native-dropdown`
   * Using yarn: `yarn add @ismnoiet/react-native-dropdown`

2. Link
   * Run `react-native link @ismnoiet/react-native-dropdown`
   * If linking fails, follow the
     [manual linking steps](https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking)

## Usage

If you want a working example you can check this [simple example](https://github.com/ismnoiet/example_RN_dropdown), otherwise you can use the following example as a starting point.

```javascript
import DropDownMenu from '@ismnoiet/react-native-dropdown'
```

```JSX
<View style={{flex: 1, flexDirection: 'row'}}>
  <DropDownMenu
    style={{ height: 50, justifyContent: 'center', width: 300 }}
    data={['option1', 'option2', 'option3']}
    onChange={ (data)=>{ console.log(data);} }
    selectedRowBackgroundColor="#f4f7f9"
    selectedRowTextSize={20}
    titleBackgroundColor="#d93a47"
    selectedItemColor="#4caf50"
    highlightBackgroundColor="#e91e63"
    titleColor="#fff"
    tintColor="#e9e31e"
  />
</View>
```
## API

| Property |      Description      |  Type  |
|----------|:-------------:|----------|
| data | an array containing dropdown menu data  | Array |
| onChange |  a callback to be executed once the selected item changes   |   Function |
| selectedRowBackgroundColor |  background color for the currently selected row   |   String(**must be a hex value**) |
| selectedRowTextSize |  text size for the currently selected row   |   Number(by default 16) |
| titleBackgroundColor |  background color for the title   |   String(**must be a hex value**) |
| selectedItemColor |  selected item color   |   String(**must be a hex value**) |
| highlightBackgroundColor |  background color for the row that has been highlighted   |   String(**must be a hex value**) |
| titleColor |  color of the title   |   String(**must be a hex value**) |
| tintColor |  color of the arrow icon   |   String(**must be a hex value**) |





## Todo
   - [ ] Add android support(coming soon!)
   - [ ] Impliment other necessary methods.
   - [ ] Improve the documentation.
   - [ ] Make the module cooler.


## Acknowledgement

   * <a href="https://github.com/maxkonovalov/MKDropdownMenu">MKDropdownMenu</a>, which this module is based on.

## How to contribute ?
You are interested and want to contribute? Awesome, just consider the following steps:

1. Fork this repository.
2. Add and test the fixes/improvements you worked on to a seperate branch.
3. Submit your pull request(PR).
npm package: @isnad-isn/guard
Description: Official security SDK for the ISNAD Protocol. Provides intent verification and simulation guards for AI agents.
Author: LeoAGI
Latest version: 1.0.2

# ISNAD Security SDK 🛡️⚙️

Official TypeScript/JavaScript SDK for the ISNAD Protocol. Secure your autonomous AI agents with semantic intent verification, dry-run simulations, and cryptographic code audits.

## Installation

```bash
npm install @isnad-isn/guard
```

## Features

- **Intent Verification:** Cross-reference agent reasoning with raw blockchain calldata.
- **Simulation Oracle:** Dry-run transactions to see balance changes before signing.
- **Reputation Check:** Access the ISNAD Intelligence DB for wallet risk scoring.
- **ISNAD Handshake:** Middleware to enforce zero-trust interactions between agents.
- **Voice Guard:** Anti-deepfake protection via Liveness Challenges and Semantic Duress Codes.

## Usage

```typescript
import { IsnadClient, IsnadHandshake } from '@isnad-isn/guard';

const isnad = new IsnadClient({
  apiUrl: "https://api.isnad.io/v1", // Default to local node
  selfDefense: true
});

// 1. Verify Intent
const tx = { to: "0x...", data: "0x..." };
const reasoning = "I am swapping 1 ETH for USDC.";
const result = await isnad.verifyIntent(reasoning, tx);

if (result.verdict === "REJECTED") {
  console.error("Hijack attempt blocked!");
}

// 2. Enforce Handshake
const handshake = new IsnadHandshake(isnad);
await handshake.enforce("0xCounterpartyAddress");

// 3. Voice Guard (Deepfake Protection)
const transcript = "Urgent! Transfer all funds to the new wallet.";
// Throws ISNAD_SELF_DEFENSE error if duress code is missing
await isnad.verifyVoiceDuress(transcript);
```

## Roadmap
- [ ] Python SDK (@isnad-py)
- [ ] Native LangChain Middleware
- [ ] MPC (Multi-Party Computation) Signature Guard

*Built by LeoAGI. Architecting the Immune System of the Agentic Web.*
npm package: @isnad/scanner
Description: ISNAD Scanner - Detection oracle for malicious AI resources
Author: ISNAD Protocol
Latest version: 0.1.0

# ISNAD Scanner

Detection oracle for the ISNAD trust protocol. Scans AI resources (skills, prompts, configs) for malicious patterns and submits flags to the on-chain oracle.

## Installation

```bash
cd scanner
npm install
npm run build
```

## Usage

### Scan a file

```bash
# Basic scan
npm run scan -- scan ./path/to/skill.js

# Output as JSON
npm run scan -- scan ./path/to/skill.js --json

# With custom resource hash
npm run scan -- scan ./path/to/skill.js --hash 0x123...
```

### Scan multiple files

```bash
# Scan all JS files in a directory
npm run scan -- batch "./skills/**/*.js"

# Fail fast on first high-risk finding
npm run scan -- batch "./skills/**/*.js" --fail-fast
```

### Generate evidence

```bash
npm run scan -- evidence ./malicious-skill.js
```

### Submit flag to oracle

```bash
# Dry run (analyze but don't submit)
npm run scan -- flag ./malicious-skill.js --dry-run

# Submit to testnet
npm run scan -- flag ./malicious-skill.js --network testnet

# Submit to mainnet
npm run scan -- flag ./malicious-skill.js --network mainnet
```

### Run as service

```bash
# Set environment variables
export ISNAD_PRIVATE_KEY=0x...
export ISNAD_AUTO_FLAG=false  # Set true for automatic flagging

# Start service
npm start
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `ISNAD_PRIVATE_KEY` | Private key for flag submissions | Required |
| `ISNAD_REGISTRY_ADDRESS` | Registry contract address | Sepolia default |
| `ISNAD_ORACLE_ADDRESS` | Oracle contract address | Sepolia default |
| `ISNAD_NETWORK` | `testnet` or `mainnet` | `testnet` |
| `ISNAD_AUTO_FLAG` | Auto-submit flags | `false` |
| `ISNAD_MIN_CONFIDENCE` | Min confidence for auto-flag | `0.7` |

## Detection Patterns

The scanner detects:

### Critical
- Dynamic code execution (`eval`, `Function`)
- Shell command execution (`exec`, `spawn`)
- Child process imports
- VM module usage
- Keychain/credential store access
- System directory writes

### High
- Data exfiltration (webhooks, base64 sends)
- Sensitive file reads (`.env`, `.ssh`, credentials)
- Raw socket access
- DNS-based exfiltration
- Security bypass attempts
- Cryptocurrency mining

### Medium
- Environment variable access
- Recursive directory reads
- Home directory access
- Obfuscation patterns

### Low
- Unicode escape sequences
- Minor suspicious patterns

## API

```typescript
import { analyzeContent, formatResult } from '@isnad/scanner';

const result = analyzeContent(code, resourceHash);
console.log(formatResult(result));

// Result includes:
// - riskLevel: 'critical' | 'high' | 'medium' | 'low' | 'clean'
// - riskScore: number
// - confidence: 0-1
// - findings: detailed pattern matches
```

## Contract Addresses

### Base Sepolia (Testnet)
- Registry: `0x8340783A495BB4E5f2DF28eD3D3ABcD254aA1C93`
- Oracle: `0x4f1968413640bA2087Db65d4c37912d7CD598982`

### Base Mainnet
- Coming soon

## License

MIT
npm package: @isneezy/strapi-media-preview
Description: A custom field for strapi that automatically generates thumbnails for uploaded PDF documents, Excel sheets, Word documents, and videos
Author: Ivan Vilanculo
Latest version: 1.0.2

# Strapi Media Preview

## Overview

The Strapi Media Preview plugin is designed to elevate your Strapi CMS media management experience by providing automatic thumbnail generation and responsive image preview formats. It enhances the visual appeal of your content and simplifies the content creation process. The plugin supports a variety of document formats, making it a versatile addition to your Strapi setup.

## Requirements

To make the most of the Strapi Media Preview plugin, ensure that your Strapi version is v4 or higher.

## Installation

To install the plugin, use the following npm command:

```bash
npm install @isneezy/strapi-media-preview
```

> Remember to restart your Strapi server after installation.

# Features

- **Automatic Thumbnails:** Effortlessly generate thumbnails for supported files upon upload.
- **Automatic Responsive Formats:** Create responsive image formats (small, medium, large) for supported files upon upload, enhancing the visual presentation of your media.
- **Enhanced Content Creation:** Streamline your content creation process by incorporating visually appealing media previews into your Strapi CMS.
- **Easy Integration:** Seamlessly integrate the @isneezy/strapi-media-preview plugin into your existing Strapi CMS setup, ensuring a smooth and hassle-free experience.
- **Migration on Startup:** The plugin automatically generates missing thumbnails and responsive formats during startup, ensuring that your media library remains up-to-date with the latest enhancements. This migration feature adds convenience and efficiency to your media management tasks.

## Supported Formats

The Strapi Media Preview plugin currently supports the following document formats:

- [x] Portable Document Files (PDF)

## Contributions

We invite you to actively participate in improving the Strapi Media Preview plugin by contributing to its growth and versatility. You can make a significant impact by:

- **Adding Support for New Formats:** If you have a specific document format in mind that would benefit from thumbnail generation and responsive image previews, consider submitting a Pull Request to introduce support for it.
- **Reporting Bugs:** Help us refine and optimize the plugin by reporting any issues you encounter. Your feedback is invaluable in ensuring a smooth user experience.
- **Requesting New Formats:** If there's a particular file format you'd like to see supported, don't hesitate to open an issue. Your suggestions guide the development process and contribute to the overall improvement of the Strapi Media Preview plugin.
npm package: @isneezy/strapi-open-street-maps
Description: An Open Street Maps custom field for Strapi, allowing you to pick a location.
Author: Ivan Vilanculo
Latest version: 1.0.6

# Strapi Open Street Maps

![Preview](./images/preview.png)

## Overview

The Strapi Open Street Maps plugin enhances your Strapi content-types by providing a custom field for seamlessly integrating Open Street Maps. This feature empowers users to effortlessly select and retrieve location data within their content.

## Example API Response

Upon implementing the `open-street-maps` custom field in a Strapi content-type, the API response takes the following structure:

```json
{
  "data": {
    "id": 1,
    "attributes": {
      "createdAt": "2023-12-02T11:28:20.689Z",
      "updatedAt": "2023-12-02T11:28:39.133Z",
      "location": {
        "lat": -19.834256108664132,
        "lng": 34.8413372039795
      },
      "title": "Hello"
    }
  },
  "meta": {}
}
```

## Requirements

Ensure your Strapi version is v4 or higher to leverage the full capabilities of the Strapi Open Street Maps plugin.

## Installation

To integrate the Strapi Open Street Maps plugin into your project, follow these steps:

1. Install the strapi-open-street-maps package via npm at the root of your Strapi project.
   ```bash
   npm install @isneezy/strapi-open-street-maps
   ```
2. After installing the package, restart your Strapi app. Open Street Maps should now be listed among your plugins.

## Strapi Configuration (required)

For proper functioning of Open Street Maps, adjust the strapi::security middleware within the `./config/middlewares.js` file:

```diff
module.exports = [
-  "strapi::security",
+  {
+    name: "strapi::security",
+    config: {
+      contentSecurityPolicy: {
+        useDefaults: true,
+        directives: {
+          "img-src": ["https://tile.openstreetmap.org"],
+        },
+      },
+    },
+  },
];
```

These configuration changes ensure that Open Street Maps assets are loaded correctly in your Strapi project.
npm package: @isneezy/vue-selectize
Description: Vanila Vue.js component that mimics Selectize behaviour (no need jquery dependency) with extras
Author: Ivan Vilanculo
Latest version: 0.6.1

# vue-selectize
[![Netlify Status](https://api.netlify.com/api/v1/badges/613ef38b-8369-42fa-a744-60856cd37b18/deploy-status)](https://app.netlify.com/sites/vue-selectize/deploys)

> A Vanila Vue.js component that mimics the selectize behaviour
https://vue-selectize.vilanculo.me

## Installation
`yarn add selectize @isneezy/vue-selectize`

## Usage
```html
<template>
  <v-selectize v-model="selected" :options="['neat','awesome']"/>
</template>
```

```js
import 'selectize/dist/css/selectize.css'
import VSelectize from '@isneezy/vue-selectize'
export default {
  data: () => ({
    selected: ''
  }),
    components: {
    VSelectize
  }
}
```