open-index/open-npm huggingface dataset:
npm package: @geia/by
Description: User-friendly pretty cluster role names to go through clearer log
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/by

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Colored role names for logging

#### Install
```console
$ npm install @geia/by
```

#### Usage
```js
import { by } from '@geia/by'
const MASTER=by(process,'master')
console.log(MASTER)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/cluster-institute
Description: Fork cluster with configs
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/cluster-institute

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-institute
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-institute
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-institute
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-institute
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-institute
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-institute
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-institute
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-institute
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-institute
```

#### Usage
```js
import { Institute } from '@geia/cluster-institute'
Institute.build({ exec:'path-to-worker/worker.js', env:{} })
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/contractor
Description: Limit concurrency of an array of class instance whose async method is to be called
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/contractor

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/contractor
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/contractor
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/contractor
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/contractor
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/contractor
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/contractor
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/contractor
[url-pp]: https://packagephobia.now.sh/result?p=@geia/contractor
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/contractor
```

#### Usage
```js
import { Institute } from '@geia/contractor'
Institute.build({ exec:'path-to-worker/worker.js', env:{} })
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/descendant-pids
Description: Get descendant pids of a process
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/signaler

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/signaler'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/enum-events
Description: Enum of events
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/enum-events

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/enum-events
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/enum-events
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/enum-events
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/enum-events
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/enum-events
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/enum-events
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/enum-events
[url-pp]: https://packagephobia.now.sh/result?p=@geia/enum-events
[url-github]: https://github.com/hoyeungw/geia

##### Enums of events

#### Install
```console
$ npm install @geia/enum-events
```

#### Usage
```js
import { MESSAGE, EXIT, LISTENING } from '@geia/enum-events'
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/enum-roles
Description: Enum of signals
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/enum-roles

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/enum-roles
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/enum-roles
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/enum-roles
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/enum-roles
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/enum-roles
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/enum-roles
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/enum-roles
[url-pp]: https://packagephobia.now.sh/result?p=@geia/enum-roles
[url-github]: https://github.com/hoyeungw/geia

##### Enums of roles

#### Install
```console
$ npm install @geia/enum-roles
```

#### Usage
```js
import { MASTER, WORKER, AGENT } from '@geia/enum-roles'
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/enum-signals
Description: Enum of signals
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/enum-signals

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/enum-signals
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/enum-signals
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/enum-signals
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/enum-signals
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/enum-signals
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/enum-signals
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/enum-signals
[url-pp]: https://packagephobia.now.sh/result?p=@geia/enum-signals
[url-github]: https://github.com/hoyeungw/geia

##### Enums of signals

#### Install
```console
$ npm install @geia/enum-signals
```

#### Usage
```js
import { SIGINT, SIGQUIT, SIGTERM } from '@geia/enum-signals'
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/promise-lobby
Description: Limit concurrency of an array of class instance whose async method is to be called
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/promise-lobby

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/promise-lobby
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/promise-lobby
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/promise-lobby
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/promise-lobby
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/promise-lobby
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/promise-lobby
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/promise-lobby
[url-pp]: https://packagephobia.now.sh/result?p=@geia/promise-lobby
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/promise-lobby
```

#### Usage
```js
import { Institute } from '@geia/promise-lobby'
Institute.build({ exec:'path-to-worker/worker.js', env:{} })
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/signaler
Description: Register exit and signal handlers to process
Author: Hoyeung Wong
Latest version: 0.1.5

# @geia/signaler

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/signaler'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-alias
Description: Alias for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-alias

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-alias'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-colors
Description: EventEmitter for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-colors

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-colors'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-events
Description: EventEmitter for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-events

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-events'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-helpers
Description: Helpers for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-colors

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-colors'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-program
Description: Curses like basic functionality for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-colors

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-colors'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-terminfo-parser
Description: Terminfo parser for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-colors

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-colors'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geia/tui-unicode
Description: Unicode for tui
Author: Hoyeung Wong
Latest version: 0.0.19

# @geia/tui-colors

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@geia/cluster-fork
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@geia/cluster-fork
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@geia/cluster-fork
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@geia/cluster-fork
[badge-npm-license]: https://flat.badgen.net/npm/license/@geia/cluster-fork
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@geia/cluster-fork
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/geia
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/geia

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@geia/cluster-fork
[url-pp]: https://packagephobia.now.sh/result?p=@geia/cluster-fork
[url-github]: https://github.com/hoyeungw/geia

##### Fork cluster with configs

#### Install
```console
$ npm install @geia/cluster-fork
```

#### Usage
```js
import { Signaler } from '@geia/tui-colors'
Signaler.register(instance,process,)
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @geins/cms
Description: Content Management System package for the Geins SDK. Provides access to navigation menus, CMS pages with widgets, and content areas.
Latest version: 0.10.0

# @geins/cms

Content Management System package for the Geins SDK. Provides access to navigation menus, CMS pages with widgets, and content areas.

## Install

```bash
npm install @geins/cms @geins/core
# or
yarn add @geins/cms @geins/core
```

`@geins/core` is a peer dependency and must be installed alongside this package.

## Quick start

```ts
import { GeinsCore } from '@geins/core';
import { GeinsCMS } from '@geins/cms';

const core = new GeinsCore({ apiKey: '...', accountName: '...', channel: '...' });
const cms = new GeinsCMS(core);

// Fetch a navigation menu
const menu = await cms.menu.get({ menuLocationId: 'main-menu' });

// Fetch a CMS page by alias
const page = await cms.page.get({ alias: '/about' });

// Fetch a content area
const area = await cms.area.get({ family: 'category', areaName: 'hero' });
```

## API overview

| Export | Description |
|---|---|
| `GeinsCMS` | CMS entry point — exposes `menu`, `page`, and `area` services. |

### GeinsCMS services

- **`cms.menu`** — `get({ menuLocationId })` — Fetch navigation menus by location.
- **`cms.page`** — `get({ alias })` — Fetch CMS pages with widget data.
- **`cms.area`** — `get({ family, areaName })` — Fetch content areas (widget containers).

## Documentation

See the [full documentation](https://sdk.geins.dev/packages/cms/) for detailed usage.

## License

MIT
npm package: @geins/core
Description: Foundation package for the Geins SDK. Provides the API client, channel management, event bus, storage abstractions, and error types that all domain packages build on.
Latest version: 0.10.0

# @geins/core

Foundation package for the Geins SDK. Provides the API client, channel management, event bus, storage abstractions, and error types that all domain packages build on.

## Install

```bash
npm install @geins/core
# or
yarn add @geins/core
```

## Quick start

```ts
import { GeinsCore } from '@geins/core';

const core = new GeinsCore({
  apiKey: 'your-api-key',
  accountName: 'your-account',
  channel: 'your-channel-id',
  environment: 'prod',
});

// Channel info
const channel = await core.channel.current();

// Event bus
core.events.listenerAdd((msg) => console.log(msg), 'USER');
```

## API overview

| Export | Description |
|---|---|
| `GeinsCore` | Root entry point — holds the API client, channel, events, and settings. |
| `EventService` | In-process event bus with cross-tab BroadcastChannel support. |
| `StorageInterface` | Pluggable storage abstraction (cookie, memory, or custom). |
| `CookieStorageAdapter` | Default `StorageInterface` backed by browser cookies. |
| `MemoryStorage` | In-memory `StorageInterface` for tests and server-side usage. |
| `GeinsError` | Base error class with typed `GeinsErrorCode`. |
| `AuthError`, `CartError`, `CheckoutError` | Domain-specific error subclasses. |
| `NetworkRequestError`, `TimeoutError`, `RateLimitError` | Network-layer errors. |
| `BasePackage` | Abstract base class for domain packages (CRM, CMS, OMS). |
| `BaseApiService` | Abstract base class for GraphQL-backed services. |

## Documentation

See the [full documentation](https://sdk.geins.dev/packages/core/) for detailed usage.

## License

MIT
npm package: @geins/crm
Description: Customer Relationship Management package for the Geins SDK. Provides user authentication (login, refresh, password reset) and profile management.
Latest version: 0.10.0

# @geins/crm

Customer Relationship Management package for the Geins SDK. Provides user authentication (login, refresh, password reset) and profile management.

## Install

```bash
npm install @geins/crm @geins/core
# or
yarn add @geins/crm @geins/core
```

`@geins/core` is a peer dependency and must be installed alongside this package.

## Quick start

### Stateless (server-side)

```ts
import { GeinsCore } from '@geins/core';
import { GeinsCRM } from '@geins/crm';

const core = new GeinsCore({ apiKey: '...', accountName: '...', channel: '...' });
const crm = new GeinsCRM(core);

// Login
const response = await crm.auth.login({ username: 'user@example.com', password: '...' });

// Get user profile (requires a valid user token)
const user = await crm.user.get(userToken);
```

### Session (browser-side)

```ts
import { CrmSession } from '@geins/crm';

const session = new CrmSession(crm, {
  storage: customStorageAdapter, // optional, defaults to cookies
  events: core.events,           // optional, enables cross-tab sync
});

await session.login({ username: 'user@example.com', password: '...' });
const user = await session.getUser(); // auto-refreshes expired tokens
session.logout();
```

## API overview

| Export | Description |
|---|---|
| `GeinsCRM` | Stateless CRM entry point — exposes `auth` and `user` services. |
| `CrmSession` | Browser-side session with token persistence, auto-refresh, and event emission. |

### GeinsCRM services

- **`crm.auth`** — `login()`, `refresh()`, `getUser()`, `authorized()`, `changePassword()`
- **`crm.user`** — `get(token)`, `update(input, token)`, `create(input)`

### CrmSession

- **`session.login(credentials)`** — Login and persist tokens.
- **`session.getUser()`** — Get profile with auto-refresh.
- **`session.authorized()`** — Check session validity.
- **`session.logout()`** — Clear all stored tokens.

## Documentation

See the [full documentation](https://sdk.geins.dev/packages/crm/) for detailed usage.

## License

MIT
npm package: @geins/oms
Description: Order Management System package for the Geins SDK. Provides cart operations, checkout flow, order retrieval, and checkout token generation.
Latest version: 0.10.0

# @geins/oms

Order Management System package for the Geins SDK. Provides cart operations, checkout flow, order retrieval, and checkout token generation.

## Install

```bash
npm install @geins/oms @geins/core
# or
yarn add @geins/oms @geins/core
```

`@geins/core` is a peer dependency and must be installed alongside this package.

## Quick start

### Stateless (server-side)

```ts
import { GeinsCore } from '@geins/core';
import { GeinsOMS } from '@geins/oms';

const core = new GeinsCore({ apiKey: '...', accountName: '...', channel: '...' });
const oms = new GeinsOMS(core);

// Create a cart and add an item
const cart = await oms.cart.create();
const updated = await oms.cart.addItem(cart.id, { skuId: 123, quantity: 2 });

// Generate a checkout token
const token = await oms.createCheckoutToken({ cartId: cart.id });
```

### Session (browser-side)

```ts
import { CartSession } from '@geins/oms';

const session = new CartSession(oms.cart, 'en-US', {
  storage: customStorageAdapter, // optional, defaults to cookies
  events: core.events,           // optional, enables cart events
});

// Add / remove / update items with auto-quantity logic
await session.items.add({ skuId: 123, quantity: 1 });
await session.items.remove({ skuId: 123 });
await session.items.update({ skuId: 123, quantity: 5 });

// Promotion codes and shipping
await session.promotionCode.apply('SAVE10');
await session.shippingFee.set(49);
```

## API overview

| Export | Description |
|---|---|
| `GeinsOMS` | Stateless OMS entry point — exposes `cart`, `checkout`, and `order` services. |
| `CartSession` | Browser-side cart session with storage persistence and event emission. |

### GeinsOMS services

- **`oms.cart`** — `create()`, `get(id)`, `addItem()`, `updateItem()`, `deleteItem()`, `copy()`, `complete()`
- **`oms.checkout`** — Checkout validation and order creation.
- **`oms.order`** — `get(orderId)` — Retrieve order summaries.
- **`oms.createCheckoutToken(options)`** — Generate tokens for external checkout pages.

### CartSession

- **`session.items`** — `add()`, `remove()`, `update()`, `delete()`, `clear()`, `get()`
- **`session.promotionCode`** — `apply(code)`, `remove()`
- **`session.shippingFee`** — `set(fee)`
- **`session.merchantData`** — `set(data)`, `get()`

## Documentation

See the [full documentation](https://sdk.geins.dev/packages/oms/) for detailed usage.

## License

MIT