open-index/open-npm huggingface dataset:
npm package: @hyperfun/router
Description: hyperfun is a JavaScript library based on a unidirectional user interface architectures like Elm's Architecture (Model, Update and View)
Latest version: 1.0.0

# hyperfun router

hyperfun plugin to integrate a router in your hyperfun applications.

## Router

Middleware to initialize the router functionality

### Example

```
import { router } from '@hyperfun/router';
import { div, h1 } from '@hyperfun/dom';

const view = () => div('#app', [h1(['Bye, bey!'])]);

run({
   view,
   render,
   state,
   plugins: [router],
   router: {
       '/': {
           title: () => 'Hello!',
           view,
       },
       '/:slug': {
           title: params => params.slug,
           view,
       },
    },
});
```

## To

Used on an event click of an anchor to navigate through the application.

### Example

```
import { to } from '@hyperfun/router';
import { a } from '@hyperfun/dom';

const link = (props/* { href, className = ''} */, children) =>
    a({ ...props, onClick: to  }, children);
```

## Redirect

A redirection to a path

### Example

```
import { redicrect } from '@hyperfun/router';

redirect('/');
```

## Compatible Versioning

### Summary

Given a version number MAJOR.MINOR, increment the:

- MAJOR version when you make backwards-incompatible updates of any kind
- MINOR version when you make 100% backwards-compatible updates

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR format.

[![ComVer](https://img.shields.io/badge/ComVer-compliant-brightgreen.svg)](https://github.com/staltz/comver)

## Contribute

First off, thanks for taking the time to contribute!
Now, take a moment to be sure your contributions make sense to everyone else.

### Reporting Issues

Found a problem? Want a new feature? First of all, see if your issue or idea has [already been reported](../../issues).
If it hasn't, just open a [new clear and descriptive issue](../../issues/new).

### Submitting pull requests

Pull requests are the greatest contributions, so be sure they are focused in scope and do avoid unrelated commits.

-   Fork it!
-   Clone your fork: `git clone https://github.com/<your-username>/hyperfun`
-   Navigate to the newly cloned directory: `cd hyperfun`
-   Create a new branch for the new feature: `git checkout -b my-new-feature`
-   Install the tools necessary for development: `npm install`
-   Make your changes.
-   `npm run build` to verify your change doesn't increase output size.
-   `npm test` to make sure your change doesn't break anything.
-   Commit your changes: `git commit -am 'Add some feature'`
-   Push to the branch: `git push origin my-new-feature`
-   Submit a pull request with full remarks documenting your changes.

## License

[MIT License](https://github.com/gc-victor/hyperfun/blob/master/LICENSE.md)
npm package: @hyperfy-xyz/three
Description: JavaScript 3D library
Author: mrdoob
Latest version: 0.173.0

# three.js

[![NPM Package][npm]][npm-url]
[![Build Size][build-size]][build-size-url]
[![NPM Downloads][npm-downloads]][npmtrends-url]
[![DeepScan][deepscan]][deepscan-url]
[![Discord][discord]][discord-url]

#### JavaScript 3D library

The aim of the project is to create an easy-to-use, lightweight, cross-browser, general-purpose 3D library. The current builds only include WebGL and WebGPU renderers but SVG and CSS3D renderers are also available as addons.

[Examples](https://threejs.org/examples/) &mdash;
[Docs](https://threejs.org/docs/) &mdash;
[Manual](https://threejs.org/manual/) &mdash;
[Wiki](https://github.com/mrdoob/three.js/wiki) &mdash;
[Migrating](https://github.com/mrdoob/three.js/wiki/Migration-Guide) &mdash;
[Questions](https://stackoverflow.com/questions/tagged/three.js) &mdash;
[Forum](https://discourse.threejs.org/) &mdash;
[Discord](https://discord.gg/56GBJwAnUS)

### Usage

This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the `document.body` element. Finally, it animates the cube within the scene for the camera.

```javascript
import * as THREE from 'three';

const width = window.innerWidth, height = window.innerHeight;

// init

const camera = new THREE.PerspectiveCamera( 70, width / height, 0.01, 10 );
camera.position.z = 1;

const scene = new THREE.Scene();

const geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );
const material = new THREE.MeshNormalMaterial();

const mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

const renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setSize( width, height );
renderer.setAnimationLoop( animate );
document.body.appendChild( renderer.domElement );

// animation

function animate( time ) {

	mesh.rotation.x = time / 2000;
	mesh.rotation.y = time / 1000;

	renderer.render( scene, camera );

}
```

If everything goes well, you should see [this](https://jsfiddle.net/v98k6oze/).

### Cloning this repository

Cloning the repo with all its history results in a ~2 GB download. If you don't need the whole history you can use the `depth` parameter to significantly reduce download size.

```sh
git clone --depth=1 https://github.com/mrdoob/three.js.git
```

### Change log

[Releases](https://github.com/mrdoob/three.js/releases)


[npm]: https://img.shields.io/npm/v/three
[npm-url]: https://www.npmjs.com/package/three
[build-size]: https://badgen.net/bundlephobia/minzip/three
[build-size-url]: https://bundlephobia.com/result?p=three
[npm-downloads]: https://img.shields.io/npm/dw/three
[npmtrends-url]: https://www.npmtrends.com/three
[deepscan]: https://deepscan.io/api/teams/16600/projects/19901/branches/525701/badge/grade.svg
[deepscan-url]: https://deepscan.io/dashboard#view=project&tid=16600&pid=19901&bid=525701
[discord]: https://img.shields.io/discord/685241246557667386
[discord-url]: https://discord.gg/56GBJwAnUS
npm package: @hyperhive/plugin-fastify
Description: Placeholder for OIDC trusted publishing setup. Real version coming soon.
Latest version: 0.0.1

# @hyperhive/plugin-fastify

> **This is a placeholder package for OIDC trusted publishing setup.**

The real package will be published soon via GitHub Actions with proper provenance.

## Repository

https://github.com/Hypergamed/Hyperhive
npm package: @hyperhooks/hyperhooks
Description: A new experimental approach to Hyperscript and hooks
Author: @hyperhooks
Latest version: 0.0.4

# HyperHooks
A new experimental approach to Hyperscript and hooks

## Quick start

```
require('hyperhooks/hyper.js') // hyperscript and hooks
require('hyperhooks/dom.js') // render to html

// Define our app
let App = () => {
  const [count, setCount] = useState(0)

  return h('div', undefined,
    `Total  🍌🍌🍌: ${count}`,
     h('button', { onPress: () => { setCount(count + 1) }, label: `Add one 🍌!` }),
  )
}

// Render our app to the body
render(h(App), document.body)
```

## Documentation

Head over to the [main site](https://hyperhooks.github.io) for a more detailed introduction plus documentation.
npm package: @hyperhq/hyper-js
Description: ```html <html>   <head>     <title>Meta Labs | Smart Purchase Button Example</title>   </head>   <body>     <a id="purchaseButton">Loading...</a>
Author: Hyper
Latest version: 1.0.5

```html
<html>
  <head>
    <title>Meta Labs | Smart Purchase Button Example</title>
  </head>
  <body>
    <a id="purchaseButton">Loading...</a>

    <script src="https://cdn.jsdelivr.net/npm/@meta-labs/meta-labs-js@1.0.4/index.js"></script>
    <script>
      MetaLabs('dev.metalabs.io', {
        purchaseButtonId: 'purchaseButton',
        outOfStockText: 'Out Of Stock',
        inStockText: 'Purchase',
      })
    </script>
  </body>
</html>

```
npm package: @hyperia/hyperia-commitizer
Description: A commitizen adapter with conventions for Hyperia
Author: Ing. Ivan Kostolný
Latest version: 2.0.3


# hyperia-commitizer  
  
A commitizen adapter for [Jira smart commits](https://confluence.atlassian.com/display/FISHEYE/Using+smart+commits).  
  
![Screenshot](other/screenshot.png)  
  
## Global Installation  
  
For a quick global installation of the plugin, simply run the `install.sh` script present in this repo:  
  
```  
chmod +x install.sh  
  
./install.sh  
```  
  
## Add this adapter  
  
Install this adapter  
  
```  
npm i @hyperia/hyperia-commitizer  
```  
  
## Create `.cz.json`  
  
```json  
{  
 "path": "node_modules/@hyperia/hyperia-commitizer"
}  
```  
  
  
## Run   
  
- with pre-commit `git cz`  
- without pre-commit `git cz -n`  
  
## Program process  
  
after run:  
1. run auto command: `git add -A`  
2. questions:  
    - **<list (type)>**: _Type of operation:_ `['task', 'bug', 'fix', 'update', 'merging', 'test', 'refactoring', 'experiment']`  
    - **<list (from)>**: _Where did you come from?:_ `['develop', 'beta', 'rc-branch', 'master', 'other']`  
        - if **(from == other)**:  **<input (fromManual)>**: _Name of the parent branch:_  
    - **<input (workflow)>**: _Job description:_   
    - **<list (pushing)>**: _Do you want to PUSH automatically?_ `['yes','no']`  
3. create commit from question and actual branch name in format:  
    ```  
    <shortBranchName after '/' before second '-' >: <workflow> [<type> from <fromManual ?? from> ] (<actualBranchName>)  
    ```  
4. if **(pushing == yes)**: run auto command: `git push origin HEAD`  
  
## shortBranchName example  
- if actualBranchName contains `task/`  
  - actualBranchName: `task/JIRA-5555` => shortBranchName: `JIRA-5555`  
  - actualBranchName: `task/JIRA-5555-1` => shortBranchName: `JIRA-5555`  
- if actualBranchName do not contains `task/`  
  - actualBranchName: `rc-branch` => shortBranchName: `rc-branch`  
  - actualBranchName: `example-branch-name` => shortBranchName: `example-branch-name`  
  ## Example  
- actual branch: `task/JIRA-5555-1`  
- finnal commit: `JIRA-5555: Job description... [task from dev] (task/JIRA-5555-1)`
npm package: @hypericon/dom-utils
Description: Utility functions for working with the DOM
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.1.2


# DOM Utils

![npm (scoped)](https://img.shields.io/npm/v/@hypericon/dom-utils)

```bash
$ npm i @hypericon/dom-utils
```

See also: https://github.com/hypcn/utils

# Usage

*TODO*
npm package: @hypericon/easy
Description: Easing functions
Author: Ed Johnson, Hypericon Ltd.
Latest version: 1.1.1


# Easy

Easing functions. Initially created to apply DMX lighting transitions. Includes TypeScript types.

![npm (scoped)](https://img.shields.io/npm/v/@hypericon/easy)

```bash
npm i @hypericon/easy
```

# Example Usage 

```ts
import { applyEasing, EASING_ID, EasingFnIdsVL } from '@hypericon/easy';

const from = 0;
const to = 200;
const duration = 100;
const easingFnId = EASING_ID.inOutCubic;
const easingName = EasingFnIdsVL.find(vl => vl.value === easingFnId)?.label ?? "[unknown]";

console.log(`Ease from ${from} to ${to} over ${duration} steps using ${easingName}`);

for (let t = 0; t <= duration; t++) {
  const v = applyEasing(easingFnId, duration, t, from, to);
  console.log(`t: ${t}, v: ${v}`);
}
```

Additionally, a function is defined to easily enable mapping values within a range using an easing function.

```ts
import { easeWithinRange, EASING_ID, EasingFnIdsVL } from '@hypericon/easy';

const rangeStart = 20;
const rangeEnd = 120;
const value = 55;
const easingFnId = EASING_ID.inOutCubic;

const mapped = easeWithinRange(easingFnId, value, rangeStart, rangeEnd);

console.log(`Map value ${value} within range ${rangeStart} to ${rangeEnd} using easing function id ${easingFnId}: ${mapped}`);
```

# Development

```sh
# Start a `tsc` process watching the source
npm run dev

# Run tests
npm run test

# Build for publishing. Runs automatically before `npm publish`
npm run build
```
npm package: @hypericon/juniper
Description: Serialisable UI editor components and viewer
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.1.1


# Juniper

Just a test for now

## Dev Notes

- conditional styles/classes
- display data
- call functions
- function isWorking
- state? simple like "isCollapsed"?
- event or observable emitting on page change

```ts

```
npm package: @hypericon/m3
Description: Library and CLI for updating MicroPython firmware on Mycelium devices
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.2.0


# m3

![npm (scoped)](https://img.shields.io/npm/v/@hypericon/m3)

Node library and CLI to update MicroPython firmware on connected Mycelium devices over USB.

```bash
$ npm i @hypericon/m3
```

## Installation

`mpremote` must be installed separately!

```sh
$ pip install mpremote
```

Either install globally to use the CLI:

```sh
$ npm i -g @hypericon/m3
```

## CLI Usage

Common flags:

- `-v --verbose` - enable verbose logging

### Devices

 List connected devices, including USB information and serial number

```sh
$ m3 devices
```

### Info

Display firmware information for a specified device, if it is available

```sh
$ m3 info COM4
```

### Storage

Read information about a device's storage usage

```sh
$ m3 storage COM4
```

### Read

Read files or folders. Like a mix of `cat` and `ls`.

```sh
$ m3 read COM4 # list files & folders in "/"
$ m3 read COM4 main.py
$ m3 read COM4 nested/folder/
$ m3 read COM4 nested/folder/some-ile.py
```

### Upload

Upload a number of files and directories to the root of the device's storage. Useful for initial configuration of a device.

```sh
$ m3 upload <device> <...paths>
$ m3 upload COM4 src test main.py persona.json
```

### Copy

Copy a file or directory ts a specified path. Useful for copying configuration files to specific locations.

```sh
$ m3 upload <device> <localPath> <remotePath>
$ m3 upload COM4 personas/light-engine-test.json persona.json
```

### Wipe

Delete all the files and folders on the device.

- `-f, --force` - do not prompt the user for confirmation

```sh
$ m3 wipe <device>
$ m3 wipe COM4
$ m3 wipe COM4 -f
```

### Help

Display help for the CLI

```sh
$ m3 -h
# or
$ m3 --help
```

Display help for the individual commands

```sh
$ m3 devices -h
```
npm package: @hypericon/maude
Description: Library to simplify communicating with microcontrollers over USB
Author: Ed Johnson, Hypericon Ltd
Latest version: 1.0.0


# Maude

**Ma**nage **U**SB **De**vices

Library to simplify communicating with microcontrollers over USB. Includes:

- auto-connection
- queueing of outgoing messages

# TODO

- Some sort of onConnection(() => {}) setting or option
  - send a message to a device immediately upon connection, to get a stored, name, identifiers, etc.
npm package: @hypericon/mico
Description: UI components and utilities with Mithril
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.5.14


# Mico

**Mi**thril **Co**mponents

UI components and utilities built with Mithril. 

<a href="https://www.npmjs.com/package/@hypericon/mico">![NPM badge](https://img.shields.io/npm/v/@hypericon/mico)</a>

Since version 0.4.0, includes ESM and CJS versions.

## Installation

```sh
$ npm i @hypericon/mico
```

## Usage

**[View usage documentation and examples here.](https://hypericon-mico.netlify.app)**

### Example

Import the components from the package. Some components may also export functions to build typed versions. Components that have customisable styles have their CSS classes of config attributes documented on the documentation site

```ts
import m from "mithril";
import { typedTable } from "@hypericon/mico";
import { Widget } from "../interfaces"; // Example
import { WidgetService } from "../services"; // Example
import { WidgetStatusIcon } from "../components"; // Example

const WidgetTable = typedTable<Widget>();

const ExamplePage: m.Component = {
  view() {
    return m("", [
      m("h1", "Widgets"),
      m(WidgetTable, {
        data: WidgetService.widgets,
        columns: [
          WidgetTable.col("Position", (w, i) => i + 1), // Row index is supplied
          WidgetTable.col("Name", w => w.name), // Type checking on row object properties
          WidgetTable.col("Price", w => `£${w.price}`),
          WidgetTable.col("Status", w => m(WidgetStatusIcon, { widget: w })),
          // etc.
        ],
      }),
    ]);
  }
};
```

## Development

Start a hot-reloading dev server serving the documentation and example site with

```sh
$ npm run dev
```

Publish the updated package and deploy the latest version of the docs site with

```sh
$ npm run publish-deploy
```

## License

MIT
npm package: @hypericon/mpremote
Description: Node wrapper for mpremote CLI tool
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.2.1


# Node wrapper for `mpremote`

![npm (scoped)](https://img.shields.io/npm/v/%40hypericon/mpremote)

A Node wrapper around the [mpremote](https://docs.micropython.org/en/latest/reference/mpremote.html) Python tool to interact with a connected MicroPython device.

Includes Typescript type definitions.

**Note: `mpremote` must be installed separately!**

## Quickstart

Install `mpremote` using Pip:

```bash
$ pip install mpremote
```

Install library from NPM:

```bash
$ npm i @hypericon/mpremote
```

Consume library:

```ts
import { } from "@hypericon/mpremote";

async function doStuff() {
  // TODO
}
doStuff();

```
npm package: @hypericon/node-red-hypertable
Description: Node-RED plugin to interact with Hypertable
Author: Ed Johnson, Hypericon Ltd
Latest version: 0.1.3


# Node-RED Hypertable Plugin

A plugin for [Node-RED](https://nodered.org/) to add nodes to interact with [Hypertable](https://hypertable.co.uk/).

! Only actions within a [Hypertable Project](https://hypertable.net/docs/hypertable/features/projects) can be performed, the plugin cannot interact with [Hypertable Workspaces](https://hypertable.net/docs/hypertable/features/workspaces).

## Usage

## Development

- Install and run Node-RED ([getting started docs](https://nodered.org/docs/getting-started/))
- Clone this repo
- Install the node module locally in the Node-RED install folder
  - usually `npm install <the-full-path-to-the-repo-folder>` in `~/.node-red`
  - see the [Node-RED docs](https://nodered.org/docs/creating-nodes/first-node#testing-your-node-in-node-red)

Restart Node-RED to load edits to the plugin.

### Publishing Updates

Publish an updated version of the NPM package with:

`npm publish --access public`

Update the module in Node-RED's library by clicking `check for update` on the [module's page](https://flows.nodered.org/node/@hypericon/node-red-hypertable).

## TODO

- [ ] add examples

## License

MIT
npm package: @hypericon/pendulum
Description: A simple recurring task scheduler
Author: Ed Johnson, Hypericon Ltd.
Latest version: 0.4.4


# Pendulum

A simple recurring task scheduler.

![npm (scoped)](https://img.shields.io/npm/v/@hypericon/pendulum)

```bash
npm install @hypericon/pendulum
```

# Quickstart

```typescript
import { Pendulum, PendulumTask } from "@hypericon/pendulum";

const scheduler = new Pendulum();

const task: PendulumTask = {
  label: "My task",
  dueTime: Date.now() + 5_000, // 5 seconds in the future
  taskFn: () => {
    console.log("My task has been executed!");
  },
};

scheduler.scheduleTask(task);
scheduler.start();

// 5 seconds later...
// [console]: "My task has been executed!"

const recurringTask: PendulumTask = {
  label: "My recurring task",
  dueTime: 0, // set to zero to calculate automatically for recurring tasks
  rrule: new RRule({
    freq: RRule.SECONDLY,
    interval: 2,
  }),
  taskFn: () => {
    console.log("My recurring task has been executed!");
  },
};
scheduler.scheduleTask(recurringTask);

// [console every 2 seconds]: "My recurring task has been executed!"

const taskWithCustomRecurrence: PendulumTask = {
  label: "Another recurring task",
  dueTime: 0,
  recurrence: {
    getDescription: () => `on the hour`,
    // Return a `Date` when the task will next become due after the parameter
    findNext: (after: Date) => {
      // If the task is being checked on the hour, execute it now
      if (after.getMinutes() === 0 && after.getSeconds() === 0) {
        return after;
      }
      // Calculate when the next hour will start
      const d = new Date(after);
      d.setHours(after.getHours() + 1);
      d.setMinutes(0);
      d.setSeconds(0);
      return d;
    },
  },
  taskFn: () => {
    console.log("My recurring task has been executed!");
  },
};
scheduler.scheduleTask(taskWithCustomRecurrence);

// [console on the hour]: "My recurring task has been executed!"

scheduler.stop();
```
npm package: @hypericon/revpi-lib
Description: Library to interact with Kunbus RevPi hardware from Nodejs applications
Author: Ed Johnson, Hypericon Ltd.
Latest version: 0.1.2


# RevPi Lib

![npm (scoped)](https://img.shields.io/npm/v/@hypericon/revpi-lib)

Library to interact with Kunbus RevPi hardware from Nodejs applications.

# Installation

```
$ npm i @hypericon/revpi-lib
```

# Usage

Simple example:

```typescript
// The `model` parameter helps catch errors when attempting to interact with non-existent hardware
const revpi = new RevPiLib({ model: "Core" });

// The last value written to the LEDs is tracked, allowing LEDs to have their colours individually
// controlled by the application
await revpi.ledSetA1("green");
await wait(1000);
await revpi.ledSetA2("red");
await wait(1000);
await revpi.ledSetA1("orange");
await wait(1000);
await revpi.ledSetA2("off");
await wait(1000);
await revpi.ledsAllOff();

/** Simple wait function for example code */
async function wait(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve(), ms);
  });
}
```

Optionally override the default logger by passing another as a parameter to the `RevPiLib` constructor options:

```typescript
import { RevPiLogger } from "@hypericon/revpi-lib";

const myLogger: RevPiLogger = {
  // etc.
};

const revpi = new RevPiLib({
  model: "Core",
  logger: myLogger,
});
```

# Details

The library executes commands using `piTest` which comes pre-installed on RevPi units.

More info here: https://revolutionpi.com/tutorials/overview-revpi-core/on-revpi-core/

# Development

```
$ npm run dev
```
npm package: @hyperingenuity/dapper
Description: Schema-less LDAP and Radius Server for small organizations
Author: Mark Barr
Latest version: 0.3.0

# dapper
Schema-less LDAP and Radius Server for small organizations

## Install
```bash
yarn install

# When not running in docker:
sudo setcap cap_net_raw,cap_net_bind_service=+ep `which node`
```
npm package: @hyperingenuity/graphite
Description: Git Graph Visualization
Author: Mark Barr
Latest version: 0.4.5

# graphite
Git Graph Visualization


```
Usage: graphite [options]

Options:
  --version       Show version number                                  [boolean]
  --background    svg background color                [string] [default: "#333"]
  --data          include html data attributes on commits nodes in graph
                                                      [boolean] [default: false]
  --descriptions  include commit descriptions in graph[boolean] [default: false]
  --filename      file name to use when saving results
                                                 [string] [default: "graph.svg"]
  --head          use the current HEAD instead of primary branch HEAD
                                                      [boolean] [default: false]
  --labels        label commits in graph              [boolean] [default: false]
  --limit         maximum number of commits to follow
                                                    [number] [default: Infinity]
  --primary       primary branch name               [string] [default: "master"]
  --repository    path to the git repository
                                 [string] [default: "/home/mark/repos/graphite"]
  --save          save results to a file rather than printing to stdout
                                                       [boolean] [default: true]
  --shape         shape to draw for commits in graph
                    [string] [choices: "circle", "hexagon"] [default: "hexagon"]
  --size          size of graph rows in pixels            [number] [default: 10]
  --stashes       include stashes in graph            [boolean] [default: false]
  --strokeWidth   stroke width for svg elements in pixels  [number] [default: 2]
  --textColor     svg text color                      [string] [default: "#FFF"]
  --titles        include html title attributes on commit nodes in the graph
                                                      [boolean] [default: false]
  --config        Path to JSON config file
  -h, --help      Show help                                            [boolean]
  ```
npm package: @hyperingenuity/ip-access-control
Description: Allow, Deny style access control for IP access validation
Author: Mark Barr
Latest version: 0.3.0

# ip-access-control
Allow, Deny style access control for IP access validation.

## Installation
```bash
# NPM
npm install --save @hyperingenuity/ip-access-control

# Yarn
yarn add @hyperingenuity/ip-access-control
```

## Usage
To create an access control validator for a given scheme:
```javascript
const IPAccessControl = require('@hyperingenuity/ip-access-control');

const accessValidator = new IPAccessControl({
  order: 'deny, allow',
  allow: [ '0.0.0.0/0' ],
  deny: []
});
```
To validate a request IP against the validator:
```javascript
const allowed = accessValidator.check('127.0.0.1'); // Boolean return value
```
npm package: @hyperingenuity/jira-client
Description: Wrapper for the JIRA API
Author: Steven Surowiec
Latest version: 8.3.0

# JavaScript JIRA API for node.js #

A node.js module, which provides an object oriented wrapper for the Jira Rest API.

[![Documentation](https://img.shields.io/badge/Documentation--green.svg)](https://jira-node.github.io/)
[![Jira Rest API](https://img.shields.io/badge/Jira%20Rest%20API--green.svg)](http://docs.atlassian.com/jira/REST/latest/)
[![Run tests](https://github.com/jira-node/node-jira-client/workflows/Run%20tests/badge.svg)](https://github.com/jira-node/node-jira-client/actions)
[![npm](https://img.shields.io/npm/v/jira-client.svg)](https://www.npmjs.com/package/jira-client)
[![Downloads](https://img.shields.io/npm/dm/jira-client.svg)](https://npmjs.com/jira-client)
[![Install Size](https://packagephobia.now.sh/badge?p=jira-client)](https://packagephobia.now.sh/result?p=jira-client)
[![dependency Status](https://david-dm.org/jira-node/node-jira-client/status.svg)](https://david-dm.org/jira-node/node-jira-client)
[![devDependency Status](https://david-dm.org/jira-node/node-jira-client/dev-status.svg)](https://david-dm.org/jira-node/node-jira-client?type=dev)

## Installation ##

Install with the node package manager [npm](http://npmjs.org):

```shell
$ npm install jira-client
```

## Examples ##

### Create the JIRA client ###

```javascript
// With ES5
var JiraApi = require('jira-client');

// With ES6
import JiraApi from 'jira-client';

// Initialize
var jira = new JiraApi({
  protocol: 'https',
  host: 'jira.somehost.com',
  username: 'username',
  password: 'password',
  apiVersion: '2',
  strictSSL: true
});
```

### Find the status of an issue ###

```javascript
// ES5
// We are using an ES5 Polyfill for Promise support. Please note that if you don't explicitly
// apply a catch exceptions will get swallowed. Read up on ES6 Promises for further details.
jira.findIssue(issueNumber)
  .then(function(issue) {
    console.log('Status: ' + issue.fields.status.name);
  })
  .catch(function(err) {
    console.error(err);
  });

// ES6
jira.findIssue(issueNumber)
  .then(issue => {
    console.log(`Status: ${issue.fields.status.name}`);
  })
  .catch(err => {
    console.error(err);
  });

// ES7
async function logIssueName() {
  try {
    const issue = await jira.findIssue(issueNumber);
    console.log(`Status: ${issue.fields.status.name}`);
  } catch (err) {
    console.error(err);
  }
}

```

## Documentation ##
Can't find what you need in the readme?  Check out our documentation here: https://jira-node.github.io/
npm package: @hyperingenuity/ldapjs
Description: LDAP client and server APIs
Author: Mark Cavage
Latest version: 1.3.0

# LDAPjs

[!['Build status'][travis_image_url]][travis_page_url]

[travis_image_url]: https://api.travis-ci.org/joyent/node-ldapjs.svg
[travis_page_url]: https://travis-ci.org/joyent/node-ldapjs

LDAPjs makes the LDAP protocol a first class citizen in Node.js.

## Usage

For full docs, head on over to <http://ldapjs.org>.

```javascript
var ldap = require('ldapjs');

var server = ldap.createServer();

server.search('dc=example', function(req, res, next) {
  var obj = {
    dn: req.dn.toString(),
    attributes: {
      objectclass: ['organization', 'top'],
      o: 'example'
    }
  };

  if (req.filter.matches(obj.attributes))
  res.send(obj);

  res.end();
});

server.listen(1389, function() {
  console.log('ldapjs listening at ' + server.url);
});
```

To run that, assuming you've got the [OpenLDAP](http://www.openldap.org/)
client on your system:

    ldapsearch -H ldap://localhost:1389 -x -b dc=example objectclass=*

## Installation

    npm install ldapjs

## License

MIT.

## Bugs

See <https://github.com/mcavage/node-ldapjs/issues>.
npm package: @hyperingenuity/skyfall
Description: Event based webhook handler
Author: Mark Barr
Latest version: 0.5.0

<p align="center">
  <img src="https://github.com/mdbarr/skyfall/blob/master/logo.svg" width="25%" title="Comet by Nikita Golube from flaticons.com">
</p>

# skyfall
Event based webhook handler
npm package: @hyperio/client
Description: <h1 align="center">hyper-client</h1> <p align="center">hyper-client is a client library for the hyper service. This client library gives developers a great developer experience when using the hyper service. Check out the examples!</p> <p align="center">  
Author: Tom Wilson
Latest version: 1.0.4

# README

<h1 align="center">hyper-client</h1>
<p align="center">hyper-client is a client library for the hyper service. This client library gives developers a great developer experience when using the hyper service. Check out the examples!</p>
<p align="center">
  <img src="https://github.com/hyper63/hyper-client/workflows/.github/workflows/test.yml/badge.svg" />
</p>

---

## Table of Contents

- [Getting Started](#getting-started)
- [Installation](#installation)
- [Setup](#setup)
- [Data Service](#data-service)
- [Cache Service](#cache-service)
- [Search Service](#search-service)
- [Storage Service](#storage-service)
- [Queue Service](#queue-service)

## Getting Started

In order to use this client, you will need a hyper connection string, this connection string will consist of a key, secret, server and app. For example, a connection string may look like this:

https://key:secret@cloud.hyper.io/app - this connection string gives the hyper client all of the information it needs in order to successfully connect to the hyper services.

* key/secret pair - secures the connection
* origin - provides the server url
* pathname - provides the hyper app name

The hyper client expects this configuration to be available via the `HYPER` environment variable.

```
npm package: @hyperion-ai/sdk
Description: The official TypeScript/Node.js SDK for the Hyperion AI Gateway
Latest version: 0.1.0

# Hyperion TypeScript SDK

The official TypeScript/Node.js SDK for the Hyperion AI Gateway. This SDK is a thin, type-safe wrapper around the official `openai` SDK, providing native support for Hyperion's caching, routing, and administrative features.

## Installation

```bash
npm install @hyperion-ai/sdk
```

## Quick Start

```typescript
import { HyperionClient } from '@hyperion-ai/sdk';

const client = new HyperionClient({
  apiKey: "your-hyperion-key",
  baseURL: "http://your-gateway:8080/v1"
});

const res = await client.chat.completions.create({
  model: "openai/gpt-5.2",
  messages: [{ role: "user", content: "Explain Hyperion." }],
  // Hyperion-specific config
  hyperion: {
    bypassCache: false,
    tags: ["production"],
    routeIntent: "balanced"
  }
});

console.log(`Cache Status: ${res.hyperion.cacheStatus}`);
console.log(`Similarity Score: ${res.hyperion.similarityScore}`);
```

## Features

- **Standard OpenAI API**: Drop-in replacement for `OpenAI`. All your existing code works exactly the same.
- **Type Safety**: Fully typed `hyperion` config block and response metadata.
- **Enriched Metadata**: Every completion response includes a `.hyperion` property with cache status and semantic similarity details.
- **Admin Client**: Programmatic management of keys, organizations, and budgets.
- **Isomorphic**: Works in Node.js, Vercel Edge, Cloudflare Workers, and the browser.

## Admin Client

The `HyperionAdmin` client provides full control over the gateway management plane.

```typescript
import { HyperionAdmin } from '@hyperion-ai/sdk';

const admin = new HyperionAdmin({ adminKey: "admin_secret" });

// Create a new API key with a spend limit
const key = await admin.keys.create({
  name: "Internal Bot",
  budgetLimitUsd: 50,
  allowedModels: ["gpt-5.2-mini"]
});

// List all keys
const keys = await admin.keys.list();
```

## Using with standard OpenAI SDK

If you don't want to use the `HyperionClient` wrapper, you can manually pass Hyperion headers to the standard OpenAI client:

```typescript
import OpenAI from 'openai';

const client = new OpenAI({ baseURL: "http://your-gateway:8080/v1" });

const response = await client.chat.completions.create({
  model: "gpt-5.2",
  messages: [...],
}, {
  headers: { 'X-Cache-Bypass': 'true' }
});
```
npm package: @hyperion13th144m/markfox-templates
Description: templates for markfox project
Latest version: 0.1.6

This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
npm package: @hyperionacademics/drag-resize-rotate
Description: A Web Component to drag, resize and rotate any element
Latest version: 2.4.0

[![npm][npm-badge]][npm-badge-url]
[![license][npm-license]][npm-license-url]

[npm-badge]: https://img.shields.io/npm/v/@deckdeckgo/drag-resize-rotate
[npm-badge-url]: https://www.npmjs.com/package/@deckdeckgo/drag-resize-rotate
[npm-license]: https://img.shields.io/npm/l/@deckdeckgo/drag-resize-rotate
[npm-license-url]: https://github.com/deckgo/deckdeckgo/blob/main/webcomponents/drag-resize-rotate/LICENSE

# DeckDeckGo - Draggable, Resizable and Rotatable

A Web Component to drag, resize and rotate any element.

## Table of contents

- [Getting Started](#getting-started)
- [License](#license)

## Getting Started

To get started with this Web Component, have a look to its [documentation](https://docs.deckdeckgo.com/?path=/story/components-drag-resize-rotate--drag-resize-rotate).

## License

MIT © [David Dal Busco](mailto:david.dalbusco@outlook.com) and [Nicolas Mattia](mailto:nicolas@nmattia.com)

[deckdeckgo]: https://deckdeckgo.com