open-index/open-npm huggingface dataset:
npm package: @juhan280/typed-emitter
Description: The type re-declaration of the `EventEmitter` class defined and exposed by the `node:events` module.
Author: Juhan280
Latest version: 1.0.0

# typed-emitter

The type re-declaration of the `EventEmitter` class defined and exposed by the `node:events` module.

```ts
import { EventEmitter } from '@juhan280/typed-emitter';

type Events = {
  message: [message: string];
}

const emitter = new EventEmitter<Events>();

emitter.on("message", message => console.log(messsage));

emitter.emit("message", "Hello World");
```
npm package: @juhawilppu/kuppy
Description: Minimal JS library for rendering cup brackets
Author: Juha Wilppu
Latest version: 1.1.4

# Kuppy

**Kuppy** is a lightweight JavaScript library for building interactive cup brackets (e.g. 16-player single elimination).

It lets you programmatically or interactively move players through the rounds.

Originally built in 2013. Refined in 2025.

👇 Here’s Kuppy rendering the 2022 FIFA World Cup knock-out stage:

<img src="media/kuppy-world-cup-2022.gif" alt="Kuppy demo" style="border: none; background: none; box-shadow: none;" />

### 🛠️ Background

Back in 2013, I was building a multiplayer online learning game as part of my university studies. The game featured a knockout tournament where students competed in math challenges, advancing through rounds until one winner remained. There were no suitable open-source libraries for rendering tournament brackets, so I built my own. That library later became Kuppy.

---

### ✨ Features

- Supports any power-of-two number of players (8, 16, 32, …, up to 512+)
- Add players programmatically
- Advance winners by clicking on their names
- Plain JavaScript + jQuery (no framework required)

---

### 📦 Requirements

- **ES modules** — Requires a modern bundler (Vite, Webpack, Rollup, etc.)
- **jQuery** — Required as a dependency

---

### 🚀 Usage

**Install via npm:**

```bash
npm install @juhawilppu/kuppy
```

**Add a container element:**
```html
<div id="tournament"></div>
```

**Import and initialize Kuppy:**

```js
import Kuppy from '@juhawilppu/kuppy';
import '@juhawilppu/kuppy/dist/kuppy.css';

const bracket = new Kuppy({
    elementId: '#tournament',
    numberOfPlayers: 16
});
```

**Add players:**

```js
bracket.addPlayer(1, 1, 'UPPER', 'Jake');
bracket.addPlayer(1, 1, 'BOTTOM', 'Patrick');
```

**Parameters for `addPlayer(round, pair, position, name)`:**
- `round`: Round number (starting from `1`)
- `pair`: Pair number within the round (starting from `1`)
- `position`: `UPPER` or `BOTTOM` (top or bottom in the pair)
- `name`: Name of the player or team

### 👨🏻‍💻 How to develop locally

```bash
npm install
npx vite demo
```

Starts a local dev server at http://localhost:5173/ with the demo page.
npm package: @juhlabs/openclaw-bdi
Description: BDI governance layer for OpenClaw — intent verification, audit trails, memory, and trust scoring
Author: Julian Hermstad
Latest version: 1.0.1

# @juhlabs/openclaw-bdi

BDI governance plugin for [OpenClaw](https://openclaw.ai) agents. Makes any OpenClaw skill smarter with intent verification, audit trails, memory, and trust scoring.

Built by [JuhLabs](https://www.juhlabs.com/juhbdi).

## Install

```bash
openclaw plugins install @juhlabs/openclaw-bdi
```

Or via npm:

```bash
npm install @juhlabs/openclaw-bdi
```

## What it gives your agents

| Tool | Purpose |
|------|---------|
| `bdi_verify_intent` | Challenge risky or vague actions before execution |
| `bdi_recall` | Retrieve past experiences and learned principles |
| `bdi_log_decision` | SHA-256 hash-chained audit trail for every decision |
| `bdi_reflect` | Extract principles from plan-vs-actual divergence |
| `bdi_assess` | Estimate task difficulty and check model trust scores |

Plus **automatic hooks**: governance rules injected before every prompt, audit trail + trust scoring updated after every agent run.

## How it works

```
User Intent ──→ Verify Intent ──→ Recall Memory ──→ Execute
                     │                  │               │
              risk assessment    past approaches    audit logged
                     │                  │               │
              block if risky    pre-load wisdom    trust updated
                     │                  │               │
                     └──── Reflect on outcomes ◄────────┘
```

- **Intent Verification** — Flags destructive actions, credential operations, and complex tasks before execution
- **Memory Recall** — Retrieves relevant past experiences with speculation from failures
- **Audit Trail** — SHA-256 hash-chained, append-only, tamper-detectable decision log
- **Trust Scoring** — Tracks agent reliability per model tier, modulates routing confidence
- **Principle Extraction** — Learns from plan-vs-actual divergence, applies to future tasks

## Compatible with

Works with all 13,700+ OpenClaw skills. Any LLM — Claude, GPT, Gemini, DeepSeek, and more.

## Stats

- **28 tests, 0 failures**
- 5 tools, 2 hooks, 7 core modules
- Zero external dependencies beyond zod

## License

MIT
npm package: @juho0719/cckit
Description: Claude Code and Codex CLI Harness Installer - Interactive CLI for installing Claude Code agents, skills, commands, hooks, rules, and MCP servers
Latest version: 0.2.9

# cckit

Claude Code 컴포넌트(에이전트, 스킬, 커맨드, 훅, 룰, MCP 서버, claudemd, statusline)의 설치/제거를 관리하는 대화형 CLI 도구

## 기능

- 대화형 설치 위자드 (4단계: 범위 → 카테고리 → 항목 → 확인)
- 대화형 제거 위자드 (설치된 항목 자동 감지)
- 일괄 설치 모드 (`--all`)
- ESC 키로 이전 단계 복귀
- 기존 파일 백업 후 덮어쓰기
- JSON 설정 파일 깊은 병합 (기존 설정 보존)
- MCP 서버 환경변수 대화형 입력

## 설치

```bash
npm install -g @juho0719/cckit
```

## 사용법

```bash
# 대화형 설치 위자드
cckit

# 전체 항목 일괄 설치 (global)
cckit --all

# 전체 항목 일괄 설치 (project)
cckit --all --scope project

# 대화형 제거 위자드
cckit --uninstall
cckit -u

# 버전 확인
cckit --version
cckit -v

# 도움말
cckit --help
cckit -h
```

## 지원 카테고리

| 카테고리 | 설명 | 설치 위치 |
|---------|------|----------|
| Agents | AI 서브 에이전트 | `{scope}/agents/` |
| Skills | 재사용 가능한 스킬 프롬프트 | `{scope}/skills/` |
| Commands | 슬래시 커맨드 | `{scope}/commands/` |
| Hooks | Post-tool 훅 | `{scope}/hooks/` + `settings.json` |
| Rules | CLAUDE.md 룰 파일 | `{scope}/rules/` |
| MCPs | MCP 서버 설정 | `~/.claude.json` 또는 `./.claude.json` |
| ClaudeMd | 행동 가이드라인 | `{scope}/CLAUDE.md` |
| Statusline | 터미널 상태줄 스크립트 | `~/.claude/statusline.sh` |

`{scope}`는 Global인 경우 `~/.claude`, Project인 경우 `./.claude`입니다.

## 설치 범위

- **Global** (`~/.claude/`): 모든 프로젝트에서 공유되는 설정
- **Project** (`./.claude/`): 현재 프로젝트에만 적용되는 설정

## 개발

```bash
# 저장소 클론
git clone https://github.com/juho0719/claude-code-harness.git
cd claude-code-harness

# 의존성 설치
npm install

# 빌드
npm run build

# 개발 모드 (watch)
npm run dev

# 타입 체크
npm run typecheck
```

## 라이선스

MIT
npm package: @juhojama/dropdown
Description: Dropdown module
Author: Juho Jama
Latest version: 1.2.2

# Dropdown

A work-in-progress dropdown module crafted to seamlessly integrate with predominantly vanilla Javascript applications.

## Markup

Use it with simple text values:

```HTML
<div class="dropdown-button">
    <button>Choose an option</button>
</div>
<div class="dropdown">
    <div class="option" data-value="1">
        Option 1
    </div>
    <div class="option" data-value="2">
        Option 2
    </div>
    <div class="option" data-value="3">
        Option 3
    </div>
</div>
<input type="hidden" class="dropdown-value">
```

With caret/chevron or any other svg icon:

```HTML
<div class="dropdown-button">
    <button>
        Choose an option
        <span class="caret">
            <!-- Your <svg> here -->
        </span>
    </button>
</div>
<div class="dropdown">
    <div class="option" data-value="1">
        Option 1
    </div>
    <div class="option" data-value="2">
        Option 2
    </div>
    <div class="option" data-value="3">
        Option 3
    </div>
</div>
<input type="hidden" class="dropdown-value">
```

Or with span element and text:

```HTML
<div class="dropdown-button">
  <button>Choose an emoji</button>
</div>
<div class="dropdown">
  <div class="option" data-value="1">
    <span>👾</span> Games
  </div>
  <div class="option" data-value="2">
    <span>🤖</span> Robots
  </div>
  <div class="option" data-value="3">
    <span>🎃</span> Pumpkins
  </div>
</div>
<input type="hidden" class="dropdown-value">
```

## Initialise

Import the module:

```javascript
const Dropdown = require('@juhojama/dropdown')
```

```javascript
new Dropdown({ el: element, useTabIndex: true }).init()
```

You can monitor changes in dropdown by following ways:

1.  Listen for the custom event 'dropdownChange'

```javascript
dropdown.el.addEventListener('dropdownChange', function (event) {
  console.log('User chose option with value: ' + event.detail.value)
  console.log('Option label: ' + event.detail.label)
})
```

2.  Use MutationObserver:

```javascript
let observer = new MutationObserver(mutations => {
  mutations.forEach(mutation => {
    if (mutation.type === 'attributes' && mutation.attributeName === 'value') {
      console.log('Input value has changed:', mutation.target.value)
    }
  })
})

let hiddenInputs = document.querySelectorAll('input[type="hidden"]')
hiddenInputs.forEach(input => {
  observer.observe(input, {
    attributes: true,
    attributeFilter: ['value']
  })
})
```
npm package: @juhosa/time-edit-api
Description: Get implementation/course timetable as a JS object from TimeEdit.
Author: Juho Salli
Latest version: 1.0.1

# The TimeEditAPI

Get the events (the timetable) for a specific course from TimeEdit as a JavaScript object.

A little manual work is required to get the automation going, but it's one time only.

## Installing

```shell
yarn add @juhosa/time-edit-api
```

## Usage

```javascript
const TimeEdit = require("@juhosa/time-edit-api");

// The constructor requires a base url (your school/org has its own)
const te = new TimeEdit(`https://cloud.timeedit.net/samk/web/public/`);
  
// Query the events for a specific course
te.getCourseEvents(courseId).then(results => {
    console.log(results.reservations)
});
```


Use the below code snippet to get the course id when you are in the 'Implementations´ schedules' page (paste it in the console).

```javascript
document.getElementById('linksdata').attributes['data-searchidsenc'].nodeValue
```


## Contribution

Want to see a feature get added? Submit a PR!

## License

MIT
npm package: @juhwon/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.0.1

# react-scripts

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

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @juibshyam/ui-react-honeycomb
Description: It is a simple honeycomb UI library for react, developed and maintained by https://shyamsundar.dev 
Author: shyamsundar.dev
Latest version: 1.1.0

# Honeycomb Design (Responsive) for React

A lightweight and flexible honeycomb UI design that allows you to build fully functional, advanced honeycomb design with minimal javascript and markup.
This library is built using react JS (for performance) and adheres to latest ECMAScript specs.
Supports IE10+, all major browsers and even mobile.

# Demo
![Screenshot](./docs/Honeycomb_demo.png)

## Inspiration

This is a module that I built originally to solve many of the headaches and complexities around building, flexible
and scalable honeycomb UI.

This library has been used and adopted on many projects, including:

* [truzlyindia.com](http://www.truzlyindia.com)


## Installation

You can install as an npm package if using a build system like [Browserify](http://browserify.org/). 

```
npm install @imshyamsundar/ui-react-honeycomb@1.0.0
```

## Usage
```javascript
import { Honeycomb } from "@imshyamsundar/ui-react-honeycomb";

function App() {
    const item = [
        {
            image: "https://www.truzlyindia.com/wp-content/uploads/2020/11/ti-startup.jpg",
            link: {
                href: "https://www.truzlyindia.com/private-limited-company/",
                target: "_blank"
            },
            text: "Start up"
        },
        {
            image: "https://www.truzlyindia.com/wp-content/uploads/2020/11/ti-ip.jpg", 
            link: {
                href: "https://www.truzlyindia.com/trademark-registration/",
                target: "_blank"
            },
            text: "Intellectual Property"
        }
    ]
    render() {
        return (
           <Honeycomb props={item} />
        );
    }
};
```
## Props

| Name        | value       | Description                                                      |
| ----------- | ----------- | ---------------------------------------------------------------- |
| image       | String      | Can be a direct link                                             |
| link        | Object      | Object contains href: String (or) null, target: String (or) null |
| text        | String      | Text appears inside the honeycomb                                |

## Test Coverage (100%)

![Screenshot](./docs/test_coverage.png)

## License

Distributed under the MIT License. See `LICENSE` for more information.
npm package: @juice-js/player
Description: Player library
Author: jack@creatorflow.io
Latest version: 1.0.10

## JPlayer
<div align="center">
  <a href="https://github.com/juice-js/player">
    <img src="https://avatars.githubusercontent.com/u/107674950" alt="Cfio logo" width="200" height="200">
  </a>
</div>

  <img src="./public/screenshot_01.png" alt="Screenshot">
  <img src="./public/screenshot_02.png" alt="Screenshot">

### Build library
`npm run build`

### Run demo
`npm run serve`

### Api
Supported methods:
- setStartOffset / getStartOffset
- setEndOffset / getEndOffset
- getFrameRate / getFrameLength
- togglePlay / play / pause / next

Player events:
- ready
- resize
- offsetchanged
- sourcechanged
- modechange
- load
- beforeended / ended / offsetinitialized (offset plugin)
- playlistended (playlist plugin)
- play / pause / ended / seeked / loadedmetadata / canplay / timeupdate / progress / durationchange / ratechange (native events)

Plugin events:
- playbackRate: ratechange
- playlist: playlistchanged
### Usage

Embed javascript library
```html
<script src="~/lib/juice-js/jplayer/dist/jplayer.js" asp-append-version="true"></script>
```

Or import library in your own js file

```javascript
import {JPlayer, Media, Source, Track, PlaylistItem } from "~/lib/juice-js/jplayer/dist/jplayer.js";

let plugins = ["bottom", "controls", "play-button", "offset", "playlist", "progress-bar", "playback-rate", 
    "overlay-sound-icon", "volume", "fullscreen", "shortcuts"];
var player = new JPlayer(document.getElementById("player0"), {
    layers: 3,
    width: '100%',
    initialHeight: 320,
    poster: "creatorflowio.png",
    // followVideoWidth: true,
    // controls: true,
    bottom:{
        state: 1
    },
    plugins: plugins,
    playlist:{
        repeatAll: true,
    },
    offset:{
        appearInControls: true
    },
    playButton: {
        // overlay: true
    },
}).ready(function(){
    console.log("player ready", this);
    if(this.playlist === undefined){
        return;
    }
    var _4channels = new Media([
        new Source("4channels.mp4", "video/mp4"),
        new Source("4channels.webm", "video/webm")
    ], [ new Track("video.vtt", "captions", "en", "English", true) ], // use native captions
    {
        startOffset: 10, endOffset: 200
    });
    var media = new Media([
        new Source("video.mp4", "video/mp4"),
        new Source("video.webm", "video/webm")
    ], [ ]);
    this.playlist.items = [
        new PlaylistItem(_4channels, {tcIn: 10, tcOut: 20}),
        new PlaylistItem(_4channels, {tcIn: 30, tcOut: 60}),
        media,
        "audio.mp4"
    ];
    this.play();
});

```
npm package: @juiceboxes/juice-grid
Description: A lightweight, simple, grid system using CSS Grid OR flexbox
Author: https://github.com/ryelo
Latest version: 0.3.2

http://img.badgesize.io/juiceboxes/juice-grid/juice-grid.min.css.svg

# Juiceboxes/juice-grid

A lightweight, simple, grid system using CSS Grid OR flexbox

This is not a complete grid, but, like other juicebox repos, is a lightweight product used for rapid prototyping.

## Installing
`npm install @juiceboxes/juice-grid`

### Imports
Regular CSS: `@import 'node_modules/@juiceboxes/juice-grid/juice-grid.css'`

Minified CSS: `@import 'node_modules/@juiceboxes/juice-grid/juice-grid.min.css'`

SCSS with Variable declarations: `@import 'node_modules/@juiceboxes/juice-grid/juice-grid.scss'`

## Useage
You have two different grid formats to use, both of which span 12 columns

### 1. Grid, uses CSS Grid for formatting and specified content widths

#### Basic
``` html
<div class="grid">
    <div class="row">
        <div class="col-4">4 Columns</div>
        <div class="col-8">8 Columns</div>
    </div>
</div>
```

#### With Gutters

Before your import of the `.scss` file, declare your `$grid-gutter` variable. Otherwise, the default is `15px`.

``` html
<div class="grid with-gutters">
    .
    .
    .
</div>
```

#### Offsetting Columns
``` html
<div class="grid">
    <div class="row">
        <div class="col-4 push-8">4 Column span starting at column 9 (spans col 9, 10 ,11 ,12)</div>
    </div>
</div>
```

### 2. Flex Grid, uses flexbox for formatting and no specified content widths

#### Basic
``` html
<div class="grid-flex">
    <div class="row">
        <div class="col">6</div>
        <div class="col">6</div>
    </div>
    <div class="row">
        <div class="col">4</div>
        <div class="col">4</div>
        <div class="col">4</div>
    </div>
</div>
```

#### With Gutters

Before your import of the `.scss` file, declare your `$grid-gutter` variable. Otherwise, the default is `15px`.

``` html
<div class="grid-flex with-gutters">
    .
    .
    .
</div>
```


## Development
`npm run start` will build and watch the `index.pug` and `src/juice-grid.scss` files
npm package: @juiceboxes/pear
Description: react components
Latest version: 0.0.0

# juiceboxes/pear

react components

## Usage 

npm install: `npm install @juiceboxes/pear`

### Imports

Component
`import { Component } from 'node_modules/@juiceboxes/pear`

SCSS
`@import '~@juiceboxes/pear/index.css';`

## Development

Create a component inside of the PresentationalComponent folder

Structure

```bash
PresentationalComponents
└───YourComponent
    ├─── index.js
    ├─── YourComponent.js
    └─── your-component.scss
```

Build: `npm run build`
Test: `npm run test`

There is also a playground for any development
`npm run playground`

## Documentation Links

* Components
  * [Sample Component](doc/components/sample.md)

## Conbribution

### Adding to index.js

Make sure that when you finish your component, you import it in the src/index.js file

If you're using any kind of pixel variable, be sure to use the px converter inside the Utilities
npm package: @juicedollar/api
Description: [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
Latest version: 4.0.0

## Description

[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.

## Installation

```bash
$ yarn install
```

## create .env (see: .env.example)

```
PORT=3000

CONFIG_APP_URL=https://app.juicedollar.com
CONFIG_INDEXER_URL=https://ponder.juicedollar.com
CONFIG_CHAIN=mainnet

RPC_URL_MAINNET=https://eth-mainnet.g.alchemy.com/v2/[API-KEY]
RPC_URL_POLYGON=https://polygon-mainnet.g.alchemy.com/v2/[API-KEY]

COINGECKO_API_KEY=[API-KEY]

TELEGRAM_BOT_TOKEN=[API-KEY]
TELEGRAM_GROUPS_JSON=telegram.groups.json
TELEGRAM_IMAGES_DIR=./images
```

## Running the app

```bash
# development
$ yarn run start

# watch mode
$ yarn run start:dev

# production mode
$ yarn run start:prod

# Publish NPM pkg (higher version) - needs login
$ npm publish --access public
```

## Publishing Types Package

This repository exports TypeScript type definitions that can be published to npm for use in other projects.

### Building and Publishing

1. **Build the project** (generates type definitions in `dist/`):

```bash
$ yarn build
```

2. **Publish to npm**:

```bash
$ npm publish --access public
```

## License

Nest is [MIT licensed](LICENSE).
This repo is [MIT licensed](LICENSE).