open-index/open-npm huggingface dataset:
npm package: @simonpallisterhcl/hclcdp-node-sdk
Description: This repo is a NodeJS wrapper around the HCL CDP API. It provides a simple interface to send events to the HCL CDP server.
Author: Simon Pallister, HCL Software
Latest version: 1.0.1

## HCL CDP Node SDK

This repo is a NodeJS wrapper around the HCL CDP API. It provides a simple interface to send events to the HCL CDP server.

## Installation

```
npm install hcl-cdp-node-sdk
```

## Usage

Data can be sent in individual requests or in batches. The `sendEvent` method sends a single event, while the `sendBatchEvents` method sends multiple events at sequentially. Each method returns a promise that resolves to both the request object as well as the response from the HCL CDP server.

### Example Response

```
{
  request: {
    type: 'track',
    eventname: 'Test Track Event',
    userid: 'user1',
    properties: { prop1: 'value' }
  },
  response: {
    message: 'Data Processed successfully',
    id: '3a8535eb-dee7-411a-8d9f-113b7e822f7f'
  }
}
```

### Example Usage

```
import { ApiClient, ApiConfiguration, ApiRequest, Batch, EventType } from "@simonpallisterhcl/hclcdp-node-sdk"

const api = new ApiClient(new ApiConfiguration("", "")) // Add your API Key and Passkey

// api.setEndpoint("<endpoint URL>") //Optional if different from default endpoint (https://crux.dev.hxcd.now.hclsoftware.cloud)

const batch = new Batch()

batch.add(new ApiRequest(EventType.Identify, "Test Identify Event", "user1", { source: "batch" }))
batch.add(new ApiRequest(EventType.Track, "Test Identify Track", "user1", { source: "batch" }))

const event = new ApiRequest(EventType.Track, "Test Track Event", "user1", { source: "single" })

const main = async () => {
  console.log(await api.sendBatchEvents(batch))
  console.log(await api.sendEvent(event))
}

main()

```
npm package: @simonpatrat/react-roll
Description: Simple carousel components for React
Author: Simon Patrat
Latest version: 1.2.2

# React Roll

![Actions](https://github.com/simonpatrat/react-roll/actions/workflows/tests-coverage.yml/badge.svg)
![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/simonpatrat/c88ec2d98b0167edcab2f0ba52646cc1/raw/5aee486e0ab2d0c0a8d1ae25413b2fe4cf86839f/react-roll_coverage.json)

## Simple carousel component for React

#### [Storybook demo](https://simonpatrat.github.io/react-roll).

---

## How to use

```bash
npm i @simonpatrat/react-roll
```

or

```bash
yarn add @simonpatrat/react-roll
```

### Basic usage

```jsx
import React from "react";
import { Carousel } from "@simonpatrat/react-roll";

export default function MyCarousel() {
  return (
    <Carousel>
      {/* Each child is now a Slide */}
      <div>Hello</div>
      <div>World</div>
      <div>I am a slide</div>
    </Carousel>
  );
}
```

### Advanced usage

```jsx
import React from "react";
import { Carousel } from "@simonpatrat/react-roll";

export default function MyCarousel() {
  return (
    <Carousel
      autoFocus
      className="my-carousel"
      locale="en"
      numVisibleSlides={4}
      onChangeSlide={() => {}}
      responsive={{
        768: {
          numVisibleSlides: 1,
          paddingRight: "30%",
        },
        1024: {
          numVisibleSlides: 2,
          paddingRight: "20%",
        },
        1366: {
          numVisibleSlides: 3,
        },
      }}
      slidePadding="8px"
    >
      {/* Each child is now a Slide */}
      <div>Hello</div>
      <div>World</div>
      <div>I am a slide</div>
    </Carousel>
  );
}
```

### Todo

- [ ] Better documentation on props ([see storybook docs](https://simonpatrat.github.io/react-roll/?path=/docs))
- [ ] Async Slide Component
- [ ] Improve Control buttons (positioning)
- [x] Typescript
- [x] scss support
- [x] Storybook
- [x] Full size option
- [x] Infinite slides option
- [x] Scrollable carousel option
- [x] Tests
npm package: @simonsbs/codex-sessions
Description: Terminal UI and CLI for managing Codex sessions
Author: Simon
Latest version: 0.4.1

# codex-sessions

Terminal-first session manager for Codex CLI.

## Why TUI
This tool stays in the same workflow as Codex CLI:
- terminal-native interaction
- no web server
- no localhost browser surface

## Features
- List sessions from `~/.codex/sessions`
- Rename session display names (stored in `~/.codex/session-manager-meta.json`)
- Delete sessions (moves files to `~/.codex/session_trash`)
- Copy sessions (copies `.jsonl` files into `~/.codex/session_exports`)
- Duplicate sessions (creates a new session file with a new UUID)

## Install
```bash
npm install -g @simonsbs/codex-sessions
```

## Usage
Interactive TUI mode:
```bash
codex-sessions
```

Command mode:
```bash
codex-sessions list
codex-sessions list --json
codex-sessions rename <sessionId> "New Name"
codex-sessions delete <sessionId>
codex-sessions copy <sessionId>
codex-sessions duplicate <sessionId>
```

Compatibility alias:
```bash
codex-session-tui
```

Options:
- `--codex-home <path>` override the Codex home directory (default `~/.codex`)

## Examples
List sessions (tabular):
```bash
codex-sessions list
```

Rename a session and verify it appears in the list:
```bash
codex-sessions rename 019cbdc9-7be5-7ac0-adf7-0c60e90a2c83 "Project kickoff"
codex-sessions list
```

Copy a session JSONL to export folder:
```bash
codex-sessions copy 019cbdc9-7be5-7ac0-adf7-0c60e90a2c83
# output includes path in ~/.codex/session_exports
```

Duplicate a session to create a new session ID:
```bash
codex-sessions duplicate 019cbdc9-7be5-7ac0-adf7-0c60e90a2c83
```

Delete a session safely to trash folder:
```bash
codex-sessions delete 019cbdc9-7be5-7ac0-adf7-0c60e90a2c83
# moved to ~/.codex/session_trash
```

Use a custom Codex home path:
```bash
codex-sessions list --codex-home /path/to/custom/.codex
```

## Output format (`list`)
Columns:
- `#`
- `ID` (full UUID)
- `Modified`
- `Prompt`

If a custom name exists, prompt column starts with:
- `<custom-name> | <prompt-preview>`

## Changelog
- [CHANGELOG.md](./CHANGELOG.md)

## Open-source docs
- [License](./LICENSE)
- [Contributing](./CONTRIBUTING.md)
- [Code of Conduct](./CODE_OF_CONDUCT.md)
- [Security](./SECURITY.md)
npm package: @simonschick/blitzortungapi
Description: Simple WebSocket API for Blitzortung.de
Author: Simon Schick
Latest version: 4.0.1

# BlitzortungAPI

Simple WebSocket API for [Blitzortung](https://www.blitzortung.org)

# Installation

Install via npm `npm i -S @simonschick/blitzortungapi`

# Documentation

Please see the [example](example.ts)

# Notes

 - This project uses TypeScript and I highly recommend using TypeScript for it's consumption.
 - As the `Client` is relatively simple I will add not in depth documentation.
npm package: @simonshiki/nitropack
Description: Build and Deploy Universal JavaScript Servers
Latest version: 2.8.1

<p>
  <a href="https://nitro.unjs.io" target="_blank" rel="noopener noreferrer">
    <img src="./docs/public/cover.png" alt="Nitro logo">
  </a>
</p>
<p>
  <a href="https://npmjs.com/package/nitropack"><img src="https://img.shields.io/npm/v/nitropack?style=flat&colorA=18181B&colorB=d8c449" alt="npm version"></a>
  <a href="https://npmjs.com/package/nitropack"><img src="https://img.shields.io/npm/dm/nitropack?style=flat&colorA=18181B&colorB=d8c449" alt="npm downloads"></a>
  <a href="https://github.com/unjs/nitro/blob/main/LICENSE"><img src="https://img.shields.io/github/license/unjs/nitro.svg?style=flat&colorA=18181B&colorB=d8c449" alt="License"></a>
</p>

# Nitro

Create web servers that run *anywhere*. The open engine powering [Nuxt](https://nuxt.com) and [open to everyone](https://github.com/unjs/nitro/discussions/1015).

- 🐇 Rapid development with HMR
- 😌 Provider agnostic deployments with 15+ built-in presets
- 💼 Portable and compact output
- 📁 Directory structure conventions
- 🤏 Minimal design
- 🚀 Code-splitting
- 👕 TypeScript support
- 💾 Universal storage
- 💰 Route caching
- 🐱 Hackable
- ✨ Auto Imports

📖 Read [the documentation](https://nitro.unjs.io) to learn more or directly jump to the [getting started](https://nitro.unjs.io/guide/getting-started).

## Contribution

See [contribution guide](https://nitro.unjs.io/guide/community/contributing).

## License

Made with 💛 Published under the [MIT](./LICENSE) license.
npm package: @simonsinclair/n32
Description: Express numbers in a form that can be conveniently and accurately transmitted between humans and computers.
Author: Simon Sinclair
Latest version: 0.1.0

# n32

> Express numbers in a form that can be conveniently and accurately transmitted between humans and computers.

## Install

```sh
npm i @simonsinclair/n32
```

## Usage

```js
const { default: n32 } = require('@simonsinclair/n32');

const randomNumber = 123456789;
const friendlyId = n32(randomNumber);

console.log(friendlyId);
```

```js
'3nqk8n';
```

## API

### n32(number)

Returns a string.

#### number

Type: `number`.

The number to express.

## Supported browsers

IE11, and all modern browsers.
npm package: @simonsinclair/pgr
Description: A tiny pagination range creator for your pagination UI.
Author: Simon Sinclair
Latest version: 1.0.1

# pgr

> A tiny pagination range creator for your pagination UI.

![npm bundle size](https://img.shields.io/bundlephobia/minzip/@simonsinclair/pgr)

## Install

```sh
npm i @simonsinclair/pgr
```

## Usage

```js
const { default: pgr } = require('@simonsinclair/pgr');

const ARTICLES_PER_PAGE = 20;
const PAGINATION_LENGTH = 7;

const articles = [
  { title: 'Article 1' },
  { title: 'Article 2' },
  // ...
];

const totalPages = Math.ceil(articles.length / ARTICLES_PER_PAGE);
const currentPage = 5;

const pagination = pgr(totalPages, currentPage, PAGINATION_LENGTH);

console.log(pagination);
```

```js
[2, 3, 4, 5, 6, 7, 8];
```

## Tips

### Using the callback parameter

For example, pass a JSX Element as a callback.

```jsx
<ol>
  {pgr(totalPages, currentPage, PAGINATION_LENGTH, (pageNum) => (
    <li key={pageNum}>
      <button>{pageNum}</button>
    </li>
  ))}
</ol>
```

## API

### pgr(totalPages, currentPage, length, callback?)

Returns an array of pages the specified length. `pgr` will attempt to center the array around the current page.

#### totalPages

Type: `number`.

The total number of pages.

#### currentPage

Type: `number`.

The current page.

#### length

Type: `number`.

The length of the pagination array.

#### callback

Type: `Function`.

Default: `(page) => page`.

A function that is called on each page in the range.

## Supported browsers

IE11, and all modern browsers.
npm package: @simontabor/gulp-img-retina
Description: add img attribute 'srcset' for retina
Author: Gavin Tang
Latest version: 0.0.5

# gulp-img-retina

[![Build Status](https://travis-ci.org/germanyt/gulp-img-retina.svg?branch=master)](https://travis-ci.org/germanyt/gulp-img-retina)

add img attribute 'srcset' for retina

## Prerequisites
You must have retina images in the folder which the original image in.

## Install

`npm install gulp-img-retina`

## Usage

``` js
var gulp = require('gulp');
var imgRetina = require('gulp-img-retina');

var retinaOpts = {
    // Your options here.
};

gulp.task('views', function() {

  return gulp.src('./views/**/*.html')
    .pipe(imgRetina(retinaOpts))
    .on('error', function(e) {
      console.log(e.message);
    })
    .pipe(gulp.dest('./build'));

});
```

You put html in:
``` html
<figure>
	<img src="images/default/example.jpg" alt="example image" />
</figure>
```

And get html out:
``` html
<figure>
	<img src="images/default/example.jpg" alt="example image" srcset="images/default/example.jpg 1x, images/default/example@2x.jpg 2x, images/default/example@3x.jpg 3x" />
</figure>
```

## Options (Optional)

### options.suffix
Type: ```Object```

Default: ```{1: '', 2: '@2x', 3: '@3x'}```

The suffix will insert to image's path, the key is resolution, and value is suffix.
npm package: @simonvarghese92/custom-design-system
Description: This is a custom design system
Author: Simon Varghese
Latest version: 0.1.5


<p align="center">
  <a href="https://www.chromatic.com/">
    <img alt="Chromatic" src="https://avatars2.githubusercontent.com/u/24584319?s=200&v=4" width="60" />
  </a>
</p>

<h1 align="center">
  Chromatic's Design Systems for Developers tutorial template
</h1>

This template ships with the main React configuration files you'll need to get up and running fast.

## 🚅  Quick start

1.  **Create the application.**

    Use [degit](https://github.com/Rich-Harris/degit) to get this template.

    ```shell
    # Clone the template
    npx degit chromaui/learnstorybook-design-system-template learnstorybook-design-system
    ```

1.  **Install the dependencies.**

    Navigate into your new site’s directory and install the necessary dependencies.

    ```shell
    # Navigate to the directory
    cd learnstorybook-design-system/

    # Install the dependencies
    yarn
    ```

1.  **Open the source code and start editing!**

    Open the `learnstorybook-design-system` directory in your code editor of choice and building your first component!

## 🔎 What's inside?

A quick look at the top-level files and directories included with this template.

    .
    ├── node_modules
    ├── public
    ├── src
    ├── .gitignore
    ├── .env
    ├── LICENSE
    ├── package.json
    ├── yarn.lock
    └── README.md


1.  **`node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages).

2.  **`public`**: This directory will contain the development and production build of the site.

3.  **`src`**: This directory will contain all of the code related to what you will see on your application.

4. **`.env`**: This file will contain the necessary environment variables for your application.

5.  **`.gitignore`**: This file tells git which files it should not track or maintain during the development process of your project.

6. **`LICENSE`**: The template is licensed under the MIT licence.

7. **`package.json`**: Standard manifest file for Node.js projects, which typically includes project specific metadata (such as the project's name, the author among other information). It's based on this file that npm will know which packages are necessary to the project.

8. **`yarn.lock`**: This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(Do not change it manually).**

9. **`README.md`**: A text file containing useful reference information about the project.

## Contribute

If you encounter an issue with the template, we encourage you to open an issue in this template's repository.

## Learning Storybook

1. Read our introductory tutorial over at [Storybook tutorials](https://storybook.js.org/tutorials/intro-to-storybook/react/en/get-started/).
2. Learn how to transform your component libraries into design systems in our [Design Systems for Developers](https://storybook.js.org/tutorials/design-systems-for-developers/) tutorial.
2. See our official documentation at [Storybook](https://storybook.js.org/).
npm package: @simonwep/github-contributions
Description: Simple util to parse the contributions from a GitHub user.
Author: Simon Reinisch
Latest version: 0.1.0


## GitHub Contrubution's Parser
Simple util to parse the contributions from a GitHub user.

### Usage

```js
const contributions = require('@simonwep/github-contributions');

(async () => {

    const years = contributions({
        username: 'Simonwep',
        year: 2018, // Default: Fetch all years where the user made contributions
        parseDate: false, // Parse the contribution date to ISO, default: false
    });
    
    console.log(years);
})();
```

### Output:
```json
[
    {
        "year": 2018,
        "total": 992,
        "days": [
            {
                "date": "2017-12-31T00:00:00.000Z",
                "count": 0
            },
            ...
        ]
    }
]
```
npm package: @simonyea/homi
Description: 个人 AI 助手网关，支持多渠道通讯和灵活的模型接入
Latest version: 0.1.0

# homi-gateway

Homi Gateway 安装目录。

- `dist/` — Gateway 运行时产物（由 Homi 自动更新，不纳入 git）
- `skills/` — 内置 skills（由 Homi 管理）
- `extensions/` — 扩展插件（feishu 等）
- `docs/` — 文档模板

> Flutter 移动端源码在 [homi-flutter](https://gitee.com/simonyea/homi-flutter)
npm package: @simonzywutt/react-use-sse
Description: A React hook for Server-Sent Events (SSE) with TypeScript support
Author: Your Name
Latest version: 1.0.0

# react-use-sse

一个用于 Server-Sent Events (SSE) 的 React Hook，支持 TypeScript。

## 安装

```bash
npm install @your-username/react-use-sse
# 或
yarn add @your-username/react-use-sse
```

## 使用方法

### 基本用法

```typescript
import { useSse } from '@your-username/react-use-sse';
import { useEffect } from 'react';

function MyComponent() {
  const { connectionState, connectionError, addListener, getEventData, closeConnection } = useSse('https://api.example.com/events');

  useEffect(() => {
    const cleanup = addListener('message', (data) => {
      console.log('收到消息:', data);
    });
    
    return cleanup; // 清理监听器
  }, [addListener]);

  return (
    <div>
      <p>连接状态: {connectionState}</p>
      <p>最新数据: {getEventData('message')}</p>
      {connectionError && <p>错误: {connectionError.type}</p>}
      <button onClick={closeConnection}>关闭连接</button>
    </div>
  );
}
```

### 高级用法

```typescript
import { useSse } from '@your-username/react-use-sse';

function AdvancedComponent() {
  const { 
    connectionState, 
    connectionError, 
    addListener, 
    getEventData, 
    closeConnection 
  } = useSse('https://api.example.com/events', {
    withCredentials: true
  });

  useEffect(() => {
    // 监听多个事件
    const cleanup1 = addListener('user-update', (data) => {
      console.log('用户更新:', data);
    });
    
    const cleanup2 = addListener('notification', (data) => {
      console.log('通知:', data);
    });

    return () => {
      cleanup1?.();
      cleanup2?.();
    };
  }, [addListener]);

  return (
    <div>
      <h2>SSE 连接状态</h2>
      <p>状态: {connectionState}</p>
      <p>用户数据: {getEventData('user-update')}</p>
      <p>通知: {getEventData('notification')}</p>
      <button onClick={closeConnection}>断开连接</button>
    </div>
  );
}
```

## API

### useSse(url, options?)

#### 参数

- `url` (string): SSE 服务器的 URL
- `options` (EventSourceInit, 可选): EventSource 的配置选项

#### 返回值

- `connectionState` (string): 连接状态 ('CONNECTING' | 'OPEN' | 'CLOSED')
- `connectionError` (Event | null): 连接错误信息
- `addListener` (function): 添加事件监听器，返回清理函数
- `getEventData` (function): 获取指定事件的最新数据
- `closeConnection` (function): 手动关闭连接

## 特性

- ✅ TypeScript 支持
- ✅ 自动连接管理
- ✅ 事件监听器清理
- ✅ 连接状态监控
- ✅ 错误处理
- ✅ 支持自定义 EventSource 选项

## 开发

```bash
# 安装依赖
npm install

# 开发模式
npm run dev

# 构建
npm run build

# 类型检查
npm run type-check
```

## 许可证

MIT
npm package: @simov/deep-extend
Description: Recursive object extending
Author: Viacheslav Lotsmanov
Latest version: 1.0.0

Deep Extend
===========

> NOTE: this is a fork of https://github.com/unclechu/node-deep-extend with this little patch applied on top of it https://github.com/simov/node-deep-extend/commit/e26b5aca2535299db00cbc35cd891c0923a01fd6

Recursive object extending.

[![Build Status](https://api.travis-ci.org/unclechu/node-deep-extend.svg?branch=master)](https://travis-ci.org/unclechu/node-deep-extend)

[![NPM](https://nodei.co/npm/deep-extend.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/deep-extend/)

Install
-------

```bash
$ npm install deep-extend
```

Usage
-----

```javascript
var deepExtend = require('deep-extend');
var obj1 = {
  a: 1,
  b: 2,
  d: {
    a: 1,
    b: [],
    c: { test1: 123, test2: 321 }
  },
  f: 5,
  g: 123,
  i: 321,
  j: [1, 2]
};
var obj2 = {
  b: 3,
  c: 5,
  d: {
    b: { first: 'one', second: 'two' },
    c: { test2: 222 }
  },
  e: { one: 1, two: 2 },
  f: [],
  g: (void 0),
  h: /abc/g,
  i: null,
  j: [3, 4]
};

deepExtend(obj1, obj2);

console.log(obj1);
/*
{ a: 1,
  b: 3,
  d:
   { a: 1,
     b: { first: 'one', second: 'two' },
     c: { test1: 123, test2: 222 } },
  f: [],
  g: undefined,
  c: 5,
  e: { one: 1, two: 2 },
  h: /abc/g,
  i: null,
  j: [3, 4] }
*/
```

Unit testing
------------

```bash
$ npm test
```

Changelog
---------

[CHANGELOG.md](./CHANGELOG.md)

Any issues?
-----------

Please, report about issues
[here](https://github.com/unclechu/node-deep-extend/issues).

License
-------

[MIT](./LICENSE)
npm package: @simoware/log4js-pg-appender
Description: Simple Log4js postgresql appender
Author: grishkov.m@gmail.com
Latest version: 0.0.2

# log4js-pg-appender
Simple Log4js postgresql appender

## Installation

log4js-pg-appender tested with [log4js](https://github.com/log4js-node/log4js-node/) v3+.

Before you start create table to store records produced by adapter
```
CREATE TABLE public."Logs" (
    "startTime" timestamp with time zone NOT NULL,
    "categoryName" character varying(255) NOT NULL,
    data json NOT NULL,
    level character varying(255),
    context json
);
```
Next install package
```
npm install --save @simoware/log4js-pg-appender
```
Then add appender to log4js configuration

```
{
  appenders: {
    console: {type: 'console'},
    db: {
      type: 'log4js-pg-appender',
      connectionString: 'postgresql://logger:test@postgres/test',
    },
  },
  categories: {
    default: {appenders: ['console', 'db'], level: 'debug'},
  },
}
```
npm package: @simpals-dev/react-point-map
Description: Base Point.Map component
Author: Igor Clemencov
Latest version: 0.9.4

# Base Point.Map Component

```jsx
import React from 'react';
import Map, { Marker } from 'react-point-map';

export default () => (
  <Map width={800} height={600}>
    <Marker lat={47.0229} lng={28.8353} />
  </Map>
);
```
npm package: @simpals/simpals-react-scripts
Description: Simpals configuration and scripts for Create React App.
Latest version: 0.1.10

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebookincubator/create-react-app).<br>
Please refer to its documentation:

* [Getting Started](https://github.com/facebookincubator/create-react-app/blob/master/README.md#getting-started) – How to create a new app.
* [User Guide](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App.
npm package: @simpelekees/vikunja-mcp
Description: Basic MCP server for Vikunja, maybe will add more features in the future
Author: AnthonyUtt
Latest version: 1.0.3

# vikunja-mcp

Basic MCP server for Vikunja, maybe will add more features in the future

## Currently Supported
- List projects
- Get project by ID
- List all tasks
- List tasks in project
- Add task to project
    - N.B. - Only supports title, description, and done fields
- Update task
- Delete task

## Installation
Via `npx`:
```json
{
    "mcpServers": {
        // ... other config
        "vikunja": {
            "command": "npx",
            "args": [
                "-y",
                "vikunja-mcp"
            ],
            "env": [
                "VIKUNJA_API_BASE": "https://app.vikunja.cloud",
                "VIKUNJA_API_TOKEN": "<your_token_here>"
            ]
        }
    }
}
```

Or local build:
```bash
git clone https://github.com/AnthonyUtt/vikunja-mcp && cd vikunja-mcp
pnpm install
pnpm build
```
Then, in Claude config:
```json
{
    "mcpServers": {
        // ... other config
        "vikunja": {
            "command": "node",
            "args": [
                "/path/to/dist/index.js"
            ],
            "env": [
                "VIKUNJA_API_BASE": "https://app.vikunja.cloud",
                "VIKUNJA_API_TOKEN": "<your_token_here>"
            ]
        }
    }
}
```