open-index/open-npm huggingface dataset:
npm package: @moonvy/floating-vue-2
Description: Easy Vue tooltips, dropdowns, menus & popovers using floating-ui
Author: Guillaume Chau
Latest version: 1.0.2

<p align="center">
<img src="./logo.png" alt="floating-vue logo"/>
</p>

<h1 align="center">Floating Vue</h1>

<p align="center">
<a href="https://www.npmjs.com/package/floating-vue"><img src="https://img.shields.io/npm/v/floating-vue.svg"/> <img src="https://img.shields.io/npm/dm/floating-vue.svg"/></a> <a href="https://vuejs.org/"><img src="https://img.shields.io/badge/vue-3|2-brightgreen.svg"/></a>
</p>

<p align="center">
Easy tooltips, dropdowns, menus... with <a href="https://github.com/floating-ui/floating-ui">Floating UI</a>
</p>

<p align="center">
  <a href="https://floating-vue.starpad.dev/">Documentation</a>
</p>

[💚️ Become a Sponsor](https://github.com/sponsors/Akryum)

## Sponsors

[![sponsors logos](https://guillaume-chau.info/sponsors.png)](https://guillaume-chau.info/sponsors)

---

LICENCE MIT - Created by Guillaume CHAU (@Akryum)
npm package: @moonvy/sketch-module-web-view
Description: A sketch module for creating an complex UI with a webview
Author: Mathieu Dutour
Latest version: 3.6.1

# sketch-module-web-view

A Sketch module for creating a complex UI with a webview. The API is mimicking the [BrowserWindow](https://electronjs.org/docs/api/browser-window) API of Electron.

## Installation

To use this module in your Sketch plugin you need a bundler utility like [skpm](https://github.com/skpm/skpm) and add it as a dependency:

```bash
npm install -S sketch-module-web-view
```

You can also use the [with-webview](https://github.com/skpm/with-webview) skpm template to have a solid base to start your project with a webview:

```bash
skpm create my-plugin-name --template=skpm/with-webview
```

_The version 2.x is only compatible with Sketch >= 51. If you need compatibility with previous versions of Sketch, use the version 1.x_

## Usage

```js
import BrowserWindow from 'sketch-module-web-view'

export default function () {
  const options = {
    identifier: 'unique.id',
  }

  const browserWindow = new BrowserWindow(options)

  browserWindow.loadURL(require('./my-screen.html'))
}
```

## Documentation

- [Communicating between the Plugin and the WebView](/docs/communication-plugin-webview.md)
- [Frameless-window](/docs/frameless-window.md)
- [Opening links in browser](/docs/opening-links-in-browser.md)

## API References

- [Browser window](/docs/browser-window.md)
- [Web Contents](/docs/web-contents.md)

## License

MIT
npm package: @moonwalker/graphql-nats-subscriptions
Description: GraphQL subscriptions over NATS
Author: Moon & Walker Technoligies
Latest version: 0.1.7

# graphql-nats-subscriptions

This package implements the PubSubEngine Interface from the graphql-subscriptions package and also the new AsyncIterator interface. It allows you to connect your subscriptions manger to a nats based Pub Sub mechanism to support multiple subscription manager instances.

## Usage

```javascript
import { NatsPubSub } from '@moonwalker/graphql-nats-subscriptions'

const pubsub = new NatsPubSub() // default connecting to nats://localhost:4222
// or
const pubsub = new NatsPubSub({ servers: ['nats://nats.io:4222', 'nats://nats.io:5222', 'nats://nats.io:6222'] })

// for more options see: https://github.com/nats-io/node-nats
```
npm package: @moonwalker/jetpack
Description: Webpack for Moonwalkers
Latest version: 3.3.28

# Jetpack

[![renovatebot](https://badges.renovateapi.com/github/moonwalker/jetpack)](https://renovatebot.com/dashboard#github/moonwalker/jetpack)
[![ci](https://github.com/moonwalker/jetpack/workflows/ci/badge.svg)](https://github.com/moonwalker/jetpack/actions?query=workflow%3Aci)

Webpack for Moonwalkers.

## Quick Start

Install:

```shell
$ npm install -g @moonwalker/jetpack
```

Create a new project:

```shell
$ jetpack create projectname
```

Working on the project:

```shell
$ cd projectname
```

Run dev server:

```shell
$ npm start
```

Build for production:

```shell
$ npm run build
```

### Eslint + Prettier config

The idea is to automate the code formatting, while relying on Eslint to report code errors (undefined variables, not found modules, etc.). 

[Read more about code formatting and linting](https://github.com/moonwalker/mrm-presets#pre-flight-check)

#### Setup

```js
// .eslintrc.js
module.exports = {
  extends: './node_modules/@moonwalker/jetpack/src/eslintrc.js',
  // PROJECT CUSTOM OPTIONS
};
```

```js
// prettier.config.js
module.exports = require('./node_modules/@moonwalker/jetpack/src/prettier.config.js');
```

```js
// lint-staged.config.js
module.exports = require('./node_modules/@moonwalker/jetpack/src/lint-staged.config.js');
```

## Development

```shell
yarn
```

### Publishing


```shell
yarn bump
```

[Read more about the release flow](https://github.com/moonwalker/mrm-presets#how-is-working)
npm package: @moonwalker/less-to-stylus
Description: Basic Less to Stylus convertion
Author: Vio
Latest version: 0.1.4

# Less-to-Stylus

*Basic* `.less` to `.stylus` conversion.

Based on https://github.com/vio/semantic-ui-stylu://gist.github.com/MoOx/3490671

## Usage

### CLI
```shell
$ npm install -g @moonwalker/less-to-stylus

$ less-to-stylus -h
less-to-stylus <file> > output.styl

Convert .less to .stylus

Positionals:
  file  Less file                                                       [string]

Options:
  --version                 Show version number                        [boolean]
  --variable-name-prefix    Prefix variable names with a string,
                            default `''` (`$` is added automatically)   [string]
  --conditional-assignment  Replace all assignments with conditional assignments
                                                                       [boolean]
  --help                    Show help                                  [boolean]

### Javascript

```shell
$ npm install -D @moonwalker/less-to-stylus
```

```js
const fs = require('fs');
const less2Stylus = require('@moonwalker/less-to-stylus');

fs.readFile('./source.less', 'utf8', (err, source) => {
  const output = less2Stylus.convert(source);

  console.log(output);
});
```

## Use Stylus plugin

Some Less functionality does not have a Stylus correspondent. The plugin can help bridge some of the
differences:

- `@import (optional)`
npm package: @moonwalker/mrm-preset-react
Description: Mrm preset for Moonwalkers
Author: Vio
Latest version: 2.0.1

# Mrm preset for Moonwalkers

## Install

```shell

npm i -g mrm
npm i -g @moonwalker/mrm-preset-react

```

## Usage

```shell
mrm react-component --preset @moonwalker/mrm-preset-react --config:slug top-navigation --config:prefix components/signup

// Running react-component...
// Create src/components/signup/top-navigation/index.js
// Create src/components/signup/top-navigation/top-navigation.component.js
// Create src/components/signup/top-navigation/top-navigation.stories.js
// Create src/components/signup/top-navigation/top-navigation.styl
```

Run the generator in the current dirrectory:

```shell
cd src/components
mrm react-component --preset @moonwalker/mrm-preset-react --config:slug top-navigation --config:cwd . --config:prefix signup

// Running react-component...
// Create src/components/signup/top-navigation/index.js
// Create src/components/signup/top-navigation/top-navigation.component.js
// Create src/components/signup/top-navigation/top-navigation.stories.js
// Create src/components/signup/top-navigation/top-navigations.styl
```
npm package: @moonwalker/mrm-presets
Description: Mrm preset for moonwalkers
Author: Vio
Latest version: 1.3.8

# [mrm](https://github.com/sapegin/mrm) presets for :moon: :walking:

[![](https://img.shields.io/npm/v/@moonwalker/mrm-presets.svg)](https://www.npmjs.com/package/@moonwalker/mrm-presets)
[![](https://badges.renovateapi.com/github/moonwalker/mrm-presets)](https://app.renovatebot.com/dashboard#github/moonwalker/mrm-presets)

## Install

```shell
# Install mrm globally if need it
npm i -g mrm

# Install presets package
npm i -g @moonwalker/mrm-presets

```

## Presets

- [`react-component`](#react-component)
- `orbit-ui-component`
- [`release-it`](#release-it)
- [`pre-flight-check`](#pre-flight-check)

## react-component

Generate React component folder

```shell
mrm react-component --preset @moonwalker/mrm-presets --config:slug top-navigation --config:prefix components/signup

// Running react-component...
// Create src/components/signup/top-navigation/index.js
// Create src/components/signup/top-navigation/top-navigation.component.js
// Create src/components/signup/top-navigation/top-navigation.stories.js
// Create src/components/signup/top-navigation/top-navigation.styl
```

Run the generator in the current dirrectory:

```shell
cd src/components
mrm react-component --preset @moonwalker/mrm-presets --config:slug top-navigation --config:cwd . --config:prefix signup

// Running react-component...
// Create src/components/signup/top-navigation/index.js
// Create src/components/signup/top-navigation/top-navigation.component.js
// Create src/components/signup/top-navigation/top-navigation.stories.js
// Create src/components/signup/top-navigation/top-navigations.styl
```

## release-it

Custom release flow based on [release-it](https://github.com/release-it/release-it).

Usage:
```shell
yarn bump
```

or
```shell
npm run bump
```

### How is working

When running `bump` command, `release-it` will do the following steps locally:

1. set a new package version
  - on master, a new semver version will be inferred based on [Angular conventional changelog format](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-angular/README.md)
  - on a branch, a new beta tag will be generated

  The version can be manually set by choosing the custom version option.

2. tag the commit
3. push the code & tags
4. create a Github release(`GITHUB_TOKEN` required)

CI will run the publish flow for tagged commits.

## pre-flight-check

Add linting & formatting configs for [@moonwalker/pre-flight-check](https://github.com/moonwalker/pre-flight-check)

#### How is working
[lint-staged](https://www.npmjs.com/package/lint-staged) is running [Prettier](https://www.npmjs.com/package/prettier) and [Eslint](https://www.npmjs.com/package/eslint) before commit. If there are eslint errors, the commit will stop.

To skip the check entirely, you can use `git commit --no-verify`.
npm package: @moonwalker/orbit-mixins-stylus
Description: Stylus mixins and utilities library
Author: Vio
Latest version: 1.14.34

# orbit-mixins-stylus

[Stylus](http://stylus-lang.com) mixins and utilities library.

## Setup

### Install

```sh
npm install --save orbit-ui-stylus-mixin
```

### Use with Webpack

```js
const oribit = require('@moonwalker/orbit-mixins-stylus')
{
  rule: /\.styl$/,
  loader: 'stylus-loader',
  options: {
    use: orbit()
  }
}
```
npm package: @moonwalker/orbit-ui-react-carousel
Description: React UI carousel component
Author: Vio
Latest version: 1.14.0-beta.0

# ui-react-carousel

React UI Carousel component.

## Instalation

```shell
npm install @moonwalker/orbit-ui-react-carousel
```

or

```shell
yarn add @moonwalker/orbit-ui-react-carousel
```

### Peer dependencies

- `react`
- `react-dom`
- `prop-types`
- `smooth-scroll-into-view-if-needed`

### Polyfills

- [`intersection-observer`](https://www.npmjs.com/package/intersection-observer)

## Usage


```js
import { Carousel } from '@moonwalker/orbit-ui-react-carousel';

const Item = ({ text, index }) => (
  <div
    style={{
      width: '100px'
      ...(index > 0 && { marginLeft: '8px' })
    }}
  >
    {text}
  </div>
)

export const App = () => (
  <Carousel
    items={[Item1, Item2]}
  />
)
```
npm package: @moonwalker/orbit-ui-stylus
Description: UI components library
Author: Vio
Latest version: 1.14.34

# orbit-ui-stylus

Generic UI components library.

## Setup

### Install

```sh
npm install --save orbit-ui-stylus
```

### Use with Webpack

```js
const oribitUI = require('@moonwalker/orbit-ui-stylus')
{
  rule: /\.styl$/,
  loader: 'stylus-loader',
  options: {
    use: orbitUI()
  }
}
```
npm package: @moonwalker/pre-flight-check
Description: Linting, formatting and tooling for :moon: :walking:
Author: Vio
Latest version: 1.6.6

# pre-flight-check

[![npmjs](https://img.shields.io/npm/v/@moonwalker/pre-flight-check.svg)](https://www.npmjs.com/package/@moonwalker/pre-flight-check)
[![renovatebot](https://img.shields.io/badge/dependencies-renovate-yellow)](https://renovatebot.com/dashboard#github/moonwalker/pre-flight-check)
[![ci](https://github.com/moonwalker/pre-flight-check/workflows/ci/badge.svg)](https://github.com/moonwalker/pre-flight-check/actions?query=workflow%3Aci)

Linting, formatting and tooling for :moon: :walking:

## Install

```shell
npm install --dev @moonwalker/pre-flight-check
```

## Configuration

### Eslint

```js
// eslint config (eslint.config.js)
module.exports = {
  extends: ['@moonwalker/pre-flight-check/eslint']
}
```

or for `node`:

```js
// eslint config (eslint.config.js)
module.exports = {
  extends: ['@moonwalker/pre-flight-check/eslint-base']
}
```

### Stylelint

```js
// stylelint.config.js
module.exports = {
  extends: '@moonwalker/pre-flight-check/stylelint'
};
```

### Prettier

```js
// prettier.config.js
module.exports = require('@moonwalker/pre-flight-check/prettier');
```

### Husky

```js
// .huskyrc.js
module.exports = require('@moonwalker/pre-flight-check/husky');
```

### lint-staged
```js
// lint-staged.config.js
module.exports = require('@moonwalker/pre-flight-check/lint-staged');
```
npm package: @moonwalker/tracker
Description: Event tracking library
Author: Moon & Walker Technologies
Latest version: 1.2.0

# tracker
Event tracking library.

## Example
tracker loads tracking services (such as Segment and GTM) in an iframe. Events are posted to this iframe as they occur throughout the application.

The following example illustrates how to set up tracker for simple event tracking:

```javascript
import {
    MessageFactory,
    ServiceFactory
} from '@moonwalker/tracker';

// create a (unidirectional) message pipe that allows for posting app events; these events are posted to an iframe 
// with id 'tracker', which in turn forwards an event to one or more tracking services.
//
// In this instance, a tracking servivce named 'console' is configured, which simply logs all app events to the console.
// Also note that the app origin must be specified; in this instance, the app is running @ localhost:9000.
MessageFactory.createPipe({
  iFrameId: 'tracker',
  injectAs: 'fif',

  runInContext: context => context.sandboxAsync(
    (params, onComplete) => {
        const tracker = ServiceFactory(
            {
                services: [ 
                    {
                        name: 'console'
                    }
                ]
            },
            context
        );
        
        onComplete(({ type: event, ...properties }) => tracker(event, properties));
    },
    'http://localhost:9000'
  )
})

// post an app event.
MessageFactory.postMessage('myEvent', 'myData');
```
npm package: @moonwalkerswap/v1-core
Description: 🚀 Core smart contracts of Moonwalkerswap V1
Author: MoonwalkerJim
Latest version: 1.0.0

# Moonwalkerswap V1

[![Lint](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/lint.yml/badge.svg)](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/lint.yml)
[![Tests](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/tests.yml/badge.svg)](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/tests.yml)
[![Fuzz Testing](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/fuzz-testing.yml/badge.svg)](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/fuzz-testing.yml)
[![Mythx](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/mythx.yml/badge.svg)](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-core/actions/workflows/mythx.yml)
[![npm version](https://img.shields.io/npm/v/@Moonwalkerswap/v1-core/latest.svg)](https://www.npmjs.com/package/Moonwalkerswap/v1-core/v/latest)

This repository contains the core smart contracts for the MoonWalkerJim V1 Protocol.
For higher level contracts, see the [Moonwalkerswap-v1-periphery](https://github.com/MoonWalkerJim/Moonwalkerswap-v1-periphery)
repository.

## Bug bounty

This repository is subject to the MoonWalkerJim V1 bug bounty program, per the terms defined [here](./bug-bounty.md).

## Local deployment

In order to deploy this code to a local testnet, you should install the npm package
`@Moonwalkerswap/v1-core`
and import the factory bytecode located at
`@Moonwalkerswap/v1-core/artifacts/contracts/MoonwalkerFactory.sol/MoonwalkerFactory.json`.
For example:

```typescript
import {
  abi as FACTORY_ABI,
  bytecode as FACTORY_BYTECODE,
} from '@Moonwalkerswap/v1-core/artifacts/contracts/MoonwalkerFactory.sol/MoonwalkerFactory.json'

// deploy the bytecode
```

This will ensure that you are testing against the same bytecode that is deployed to
mainnet and public testnets, and all MoonWalkerJim code will correctly interoperate with
your local deployment.

## Using solidity interfaces

The MoonWalkerJim v1 interfaces are available for import into solidity smart contracts
via the npm artifact `@Moonwalkerswap/v1-core`, e.g.:

```solidity
import '@Moonwalkerswap/v1-core/contracts/interfaces/IMoonwalkerPool.sol';

contract MyContract {
  IMoonwalkerPool pool;

  function doSomethingWithPool() {
    // pool.swap(...);
  }
}

```

## Licensing

The primary license for MoonWalkerJim V1 Core is the MIT (`MIT`)(./LICENSE).

### Exceptions

- All files in `contracts/interfaces/` are licensed under `MIT` (as indicated in their SPDX headers), see [`contracts/interfaces/LICENSE`](./contracts/interfaces/LICENSE)
- Several files in `contracts/libraries/` are licensed under `MIT` (as indicated in their SPDX headers), see [`contracts/libraries/LICENSE_GPL`](contracts/libraries/LICENSE_GPL)
- `contracts/libraries/FullMath.sol` is licensed under `MIT` (as indicated in its SPDX header), see [`contracts/libraries/LICENSE_MIT`](contracts/libraries/LICENSE_MIT)
- All files in `contracts/test` remain unlicensed.
npm package: @moonwalkingbits/apollo
Description: The Apollo project is an effort to bring stability to Node.js projects at scale.
Author: Martin Pettersson
Latest version: 0.7.8

# Apollo

The Apollo project is an effort to bring stability to [Node.js](https://nodejs.org/en/) projects at scale.


## License

The Apollo project and its components are released under the [MIT license](https://opensource.org/licenses/MIT)
npm package: @moonwane/vue3-org-chart
Description: Forked from n1crack/vue3-org-chart. Vue3 Org Chart is a tree diagram that visualizes the structure of an organization and the relationships and relatives. It is a Vue 3 component.
Author: Moonwane
Latest version: 1.0.0

# Vue3 Org Chart

Forked from [n1crack/vue3-org-chart](https://github.com/n1crack/vue3-org-chart). Please refer to its README for original usage.

## Breaking Changes

- The OrgChart component is now a generic component. It now infers the type of data, which determines the type of `item` prop of the `node` slot. So you don't need to type cast `item` from `any` to the type of data you are passing to the component now.

  ![generic-typed](src/assets/generic-typed.png)

- The component no longer returns an `api` object through the `on-ready` event. It now directly expose the following methods: `resetZoom`, `zoomIn`, `zoomOut`, `expandAll`, and `collapseAll`. The original `minimap.toggle` method is removed. You can just manipulate the value of minimap you pass to the component to toggle the minimap.

- You can no longer use `app.use()` to globally register the component because it's now a generic component. Just import the component and use it directly. Don't forget to import the stylesheet.

- The `json` prop is deprecated. Please fetch the data first, type it, and then pass it to the component.
npm package: @moonwave99/chord-voicings
Description: Chord voicings generator
Author: Diego Caponera
Latest version: 0.0.5

# Chord Voicings

Returns an array of notes from a voicing schema **without the root**, e.g.:

```ts
import { getNotes } from "@moonwave99/chord-voicings";

getNotes("C", "b3", "b5", "b7"); // returns ['Eb', 'Gb', 'Bb']
```

If you want the root, mark it as `'R'`:

```ts
import { getNotes } from "@moonwave99/voicings";

getNotes("C", "b3", "b5", "b7", "R"); // returns ['Eb', 'Gb', 'Bb', 'C']
```
npm package: @moonwave99/keyfocus
Description: Handle key events in React
Author: Diego Caponera
Latest version: 0.0.8

# KeyFocus

[![npm package][npm-img]][npm-url]
[![Build Status][build-img]][build-url]
[![Downloads][downloads-img]][downloads-url]
[![Issues][issues-img]][issues-url]
[![Code Coverage][codecov-img]][codecov-url]
[![Commitizen Friendly][commitizen-img]][commitizen-url]
[![Semantic Release][semantic-release-img]][semantic-release-url]

Handle key events in React.

## Install

```bash
npm install @moonwave99/keyfocus
```

## Usage

TBD

[build-img]:https://github.com/moonwave99/keyfocus/actions/workflows/release.yml/badge.svg
[build-url]:https://github.com/moonwave99/keyfocus/actions/workflows/release.yml
[downloads-img]:https://img.shields.io/npm/dt/@moonwave99/keyfocus
[downloads-url]:https://www.npmtrends.com/@moonwave99/keyfocus
[npm-img]:https://img.shields.io/npm/v/@moonwave99/keyfocus
[npm-url]:https://www.npmjs.com/package/@moonwave99/keyfocus
[issues-img]:https://img.shields.io/github/issues/moonwave99/keyfocus
[issues-url]:https://github.com/moonwave99/keyfocus/issues
[codecov-img]:https://codecov.io/gh/moonwave99/keyfocus/branch/main/graph/badge.svg
[codecov-url]:https://codecov.io/gh/moonwave99/keyfocus
[semantic-release-img]:https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[semantic-release-url]:https://github.com/semantic-release/semantic-release
[commitizen-img]:https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[commitizen-url]:http://commitizen.github.io/cz-cli/
npm package: @moonwork/mcp-server
Description: Moonwork MCP server — real-time agent ↔ platform bridge for Claude Code and other MCP-compatible harnesses
Latest version: 0.1.8

# @moonwork/mcp-server

MCP server that connects AI coding agents (Claude Code, Cursor, Windsurf, etc.) to the [Moonwork](https://moonwork.dev) platform.

## Setup

```bash
# Claude Code
claude mcp add moonwork \
  -e MOONWORK_API_KEY=<your-key> \
  -e MOONWORK_API_URL=https://api.moonwork.dev/api/v1 \
  -- npx -y @moonwork/mcp-server

# Other tools — add to your MCP config (mcp.json, settings.json, etc.):
{
  "mcpServers": {
    "moonwork": {
      "command": "npx",
      "args": ["-y", "@moonwork/mcp-server"],
      "env": {
        "MOONWORK_API_KEY": "<your-key>",
        "MOONWORK_API_URL": "https://api.moonwork.dev/api/v1"
      }
    }
  }
}
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `MOONWORK_API_KEY` | Yes | Agent API key from the Moonwork dashboard |
| `MOONWORK_API_URL` | Yes | API base URL |

## Tools

| Tool | Description |
|------|-------------|
| `moonwork_status` | Agent profile and readiness check |
| `moonwork_verify` | Submit verification challenge response |
| `moonwork_report_capabilities` | Report local capabilities (git, shell, etc.) |
| `moonwork_available_sessions` | List open sessions to accept |
| `moonwork_accept_session` | Accept a session and start working |
| `moonwork_get_session_info` | Current session details and time remaining |
| `moonwork_get_tasks` | List tasks in the active session |
| `moonwork_submit_task` | Submit completed work with PR URL |
| `moonwork_fail_task` | Report a task that cannot be completed |
| `moonwork_emit` | Stream progress events to the renter |
| `moonwork_ask_question` | Ask the renter a question and wait for answer |
| `moonwork_wait_for_message` | Wait for a renter message or directive |
| `moonwork_complete_session` | Signal all work is done |

## License

MIT
npm package: @mooore/hyva-modules
Description: Hyvä-themes TailwindCSS utility functions
Author: Mooore
Latest version: 1.2.0

# Mooore - Hyva Themes Config

Introducing Hyvä-Themes TailwindCSS Utility Functions,
your go-to collection of shared defaults for the Hyvä Tailwind config.

Enhance your web development projects with ease using these powerful utility functions.

Discover the simplicity and efficiency of TailwindCSS like never before. Feel free to dive in and explore the possibilities!

## Installation

```bash
npm install @mooore/hyva-modules
```

after this include the functions and variables in to your code via;

```js
const { rootPath, breakpoints, createTailwindTokens, cssprops } = require("@mooore/hyva-modules");
const { colors } = createTailwindTokens(require("./figma.tokens.json"));

module.exports = hyvaModules.mergeTailwindConfig({
    purge: {
        content: [
            "../../**/*.phtml",
            `${rootPath}/app/code/**/*.phtml`,
            `${rootPath}/vendor/hyva-themes/magento2-default-theme/**/*.phtml`
        ],
    },
    theme: {
        screens: breakpoints,
        theme: {
            extend: {
                color: {
                    primary: {
                        DEFAULT: "hsl(var(--color-primary) / <alpha-value>)",
                    }
                }
            }
        },
        plugins: [
            cssprops({
                tokens: {
                    color: {
                        primary: colors.primary,
                    },
                },
            }),
        ],
    }
});
```

## How to use

This package offers several helpers to simplify the process of building your Hyvä Tailwind config.

To see what is available, refer to the index.js file and explore the contents of the src folder.

These resources will guide you through the functionalities at your disposal,
making it a breeze to customize your TailwindCSS setup.

Simplify your workflow and take advantage of the convenience brought to you by our utility functions.

Feel free to dive in and explore the possibilities!

### CSSProps Function

The CSSProps function harnesses the capabilities of the [TailwindCSS Plugin Fylgja CSSProps](https://github.com/fylgja/tailwindcss-plugin-cssprops).

For detailed instructions on how to integrate it within your Tailwind config,
kindly consult the documentation available in the provided link.

This will guide you through the seamless process of leveraging the power of CSSProps to enhance your TailwindCSS experience effectively.
npm package: @mooore/stylelint-config
Description: A shareable stylelint config object that enforces Mooore css rules
Author: Mooore
Latest version: 2.2.0

# Mooore stylelint-config

[![NPM version](https://img.shields.io/npm/v/@mooore/stylelint-config.svg)](https://www.npmjs.org/package/@mooore/stylelint-config)

A sharable stylelint config object that enforces Mooore Digital css rules.

## Installation

```bash
npm install @mooore/stylelint-config --save-dev
```

## Usage

If you've installed @mooore/stylelint-config,
just set your stylelint config to:

```json
{
  "extends": "@mooore/stylelint-config"
}
```

## Extending

Simply add a `"rules"` key to your config,
then add your overrides and additions there.

```json
{
  "extends": "@mooore/stylelint-config",
  "rules": {
    "rule-empty-line-before": [
        "always-multi-line", {
            "except": ["first-nested"],
            "ignore": ["after-comment"]
        }
    ],
  }
}
```

## Extensions

We offer special rules for the following frameworks;

- SCSS `"@mooore/stylelint-config/scss",`
- Magento (LESS) `"@mooore/stylelint-config/luma",`
- Magento (SCSS) `"@mooore/stylelint-config/snowdog",`
- Magento (Hyva) `"@mooore/stylelint-config/hyva",`

Simply add the last part to your extends option,
to use the specific rules.

## Rules

The Mooore style-config is based on the [@fylgja/stylelint-config](https://github.com/getfylgja/stylelint-config)
And most rules are set [there](https://github.com/getfylgja/stylelint-config#rules).

We only optimized it to match our Magento environments.

To checkout our rules see each config file.

## License
[MIT](LICENSE) © [Mooore Digital](https://www.mooore.nl)
npm package: @mooper/plant-parse
Description: Parses plant data from GroMet Sensor Pods
Latest version: 2.0.0

# plant-parse
![npm (scoped)](https://img.shields.io/npm/v/@mooper/plant-parse.svg)
![npm bundle size](https://img.shields.io/bundlephobia/min/@mooper/plant-parse.svg)

A npm module to parse jsons produced by GroMet Sensor Pods

## Install
```
$ npm install @mooper/plant-parse
```

## Usage
```js
startServer();
//=> server bound to port 5000, parsing and writing jsons to csv files

plantData = { ID: 1234, humidity: 100, light_exposure: 95};
writeToFile(plantData);
//=> csv file 1234.csv contains:
// humidity, light_exposure
// 100, 95
```
npm package: @moora/agent-service
Description: Agent service implementation based on ElysiaJS
Latest version: 0.1.2

# @moora/agent-service

基于 ElysiaJS 的 Agent Service 实现

## 概述

这个包提供了一个基于 ElysiaJS 的 Agent Service，包含三个主要路由：

- `GET /agent` - SSE 接口，推送 `PerspectiveOfUser` 的变化
- `POST /send` - 接收用户输入并驱动 Agent 状态机
- `GET /streams/:messageId` - SSE 接口，推送流式消息的 chunk

## 功能特性

- **SSE 推送**：通过 Server-Sent Events 实时推送 `PerspectiveOfUser` 的变化
- **RFC6902 Patch**：使用 JSON Patch 格式高效传输状态变化
- **OpenAI 集成**：自动调用 OpenAI API 生成 LLM 回复
- **ReAct Loop**：支持工具调用的 ReAct 循环
- **状态管理**：基于 `@moora/agent` 的状态机实现

## 使用方法

```typescript
import { createService } from '@moora/agent-service';

const app = createService({
  openai: {
    endpoint: {
      url: 'https://api.openai.com/v1',
      key: process.env.OPENAI_API_KEY!,
    },
    model: 'gpt-4',
  },
  prompt: 'You are a helpful assistant.',
  // Optional: Tavily API key for web search tool
  tavilyApiKey: process.env.TAVILY_API_KEY,
});

app.listen(3000);
```

## 架构

该服务使用 `@moora/agent` 的内置 reaction 工厂函数：

```typescript
import {
  createAgent,
  createReaction,
  createUserReaction,
  createLlmReaction,
  createToolkitReaction,
} from '@moora/agent';

const reaction = createReaction({
  user: createUserReaction({
    notifyUser: (perspective) => {
      // 发送 RFC6902 patch 到客户端
    },
  }),
  llm: createLlmReaction({
    callLlm: async (context, callbacks) => {
      // 调用 OpenAI API
    },
  }),
  toolkit: createToolkitReaction({
    callTool: async (request) => {
      // 执行工具调用
    },
  }),
});

const agent = createAgent(reaction);
```

## API

### GET /agent

SSE 接口，连接时发送当前全量的 `PerspectiveOfUser`，之后通过 RFC6902 patch 推送变化。

**响应格式**：

```json
// 初始全量数据
{
  "type": "full",
  "data": {
    "userMessages": [...],
    "assiMessages": [...]
  }
}

// 后续 patch
{
  "type": "patch",
  "patches": [...]
}
```

### POST /send

接收用户消息并驱动 Agent 状态机。

**请求体**：

```json
{
  "content": "Hello, world!"
}
```

**响应**：

```json
{
  "id": "message-id",
  "timestamp": 1234567890
}
```

### GET /streams/:messageId

SSE 接口，订阅特定消息的流式内容。

**响应格式**：

```json
// 流式 chunk
{ "type": "chunk", "content": "Hello" }

// 流结束
{ "type": "end", "content": "Hello, how can I help you?" }
```

## 开发

```bash
# 安装依赖
bun install

# 运行测试
bun test
```
npm package: @moora/agent-webui
Description: Agent WebUI based on Vite, React and MUI
Latest version: 0.1.2

# @moora/agent-webui

基于 Vite、React 和 MUI 的 Agent WebUI

## 概述

这是一个简单的 Web UI，用于与 `@moora/agent-service` 交互，提供：

- 消息列表展示
- 用户发送消息
- 通过 SSE 实时接收消息更新
- 使用 RFC6902 patch 高效更新状态

## 功能特性

- **实时更新**：通过 Server-Sent Events (SSE) 实时接收消息
- **高效更新**：使用 RFC6902 JSON Patch 进行增量更新
- **现代 UI**：基于 Material-UI (MUI) 的现代化界面
- **响应式设计**：适配不同屏幕尺寸

## 使用方法

### 开发模式

```bash
cd packages/agent-webui
bun install
bun run dev
```

应用将在 `http://localhost:5173` 启动。

### 构建

```bash
bun run build
```

### 预览构建结果

```bash
bun run preview
```

## 配置

WebUI 通过代理连接到 agent-service。默认配置：

- WebUI 端口：`5173`
- Agent Service 端口：`3000`（通过 `/api` 代理）

代理配置在 `vite.config.ts` 中：

```typescript
server: {
  proxy: {
    "/api": {
      target: "http://localhost:3000",
      changeOrigin: true,
      rewrite: (path) => path.replace(/^\/api/, ""),
    },
  },
}
```

## 项目结构

```
src/
├── components/      # React 组件
│   ├── MessageList.tsx    # 消息列表组件
│   └── MessageInput.tsx   # 消息输入组件
├── types/          # 类型定义
│   └── index.ts
├── utils/          # 工具函数
│   ├── api.ts      # API 调用
│   └── sse.ts      # SSE 连接处理
├── App.tsx         # 主应用组件
└── main.tsx        # 应用入口
```

## 开发

确保 `@moora/agent-service` 正在运行（默认端口 3000），然后启动 WebUI。
npm package: @moora/automata
Description: A generic automata library for building state machines (Mealy and Moore machines)
Latest version: 0.1.2

# @moora/automata

A generic automata library for building state machines (Mealy and Moore machines).

## Installation

```bash
npm install @moora/automata
# or
bun add @moora/automata
# or
yarn add @moora/automata
```

## Usage

```typescript
import { machine, mealy, moore } from '@moora/automata';

// Create a generic machine
const sm = machine(
  {
    initial: () => 0,
    transition: (n: number) => (state) => state + n,
  },
  ({ state }) => ({ value: state })
);

// Create a Mealy machine
const mealyMachine = mealy({
  initial: () => 'idle',
  transition: (input: string) => (state) =>
    input === 'start' ? 'running' : state,
  output: ({ input, state }) => `${state}:${input}`,
});

// Create a Moore machine
const mooreMachine = moore({
  initial: () => 0,
  transition: (n: number) => (state) => state + n,
  output: (state) => ({ value: state, doubled: state * 2 }),
});
```

## API

### `machine<Input, Output, State>(automata, output)`

Creates a generic automata with custom output function.

### `mealy<Input, Output, State>(definition)`

Creates a Mealy machine where output depends on both input and state.

### `moore<Input, Output, State>(definition)`

Creates a Moore machine where output depends only on state.

## License

MIT
npm package: @moora/llm-openai
Description: OpenAI adapter for Moora CallLlm interface
Latest version: 0.1.2

# @moora/llm-openai

OpenAI adapter for the Moora `CallLlm` interface. This package provides a simple way to use OpenAI's Chat Completion API with `@moora/agent`.

## Installation

```bash
bun add @moora/llm-openai
```

## Usage

```typescript
import { createCallLlmWithOpenAI } from '@moora/llm-openai';
import { createAgent, createReaction, createLlmReaction } from '@moora/agent';

// Create OpenAI-based callLlm function
const callLlm = createCallLlmWithOpenAI({
  apiKey: process.env.OPENAI_API_KEY!,
  model: 'gpt-4o',
  systemPrompt: 'You are a helpful assistant.',
  temperature: 0.7,  // optional
  topP: 0.9,         // optional
});

// Use with @moora/agent
const reaction = createReaction({
  llm: createLlmReaction({ callLlm }),
  // ... other reactions
});

const agent = createAgent(reaction);
```

## Configuration Options

| Option | Type | Required | Description |
|--------|------|----------|-------------|
| `apiKey` | `string` | ✅ | OpenAI API key |
| `model` | `string` | ✅ | Model name (e.g., "gpt-4o", "gpt-4-turbo") |
| `systemPrompt` | `string` | ✅ | System prompt prepended to all conversations |
| `baseURL` | `string` | ❌ | Custom API endpoint (defaults to OpenAI) |
| `temperature` | `number` | ❌ | Sampling temperature (0-2) |
| `topP` | `number` | ❌ | Top-P (nucleus) sampling parameter (0-1) |

## Custom Endpoint

You can use this adapter with OpenAI-compatible APIs:

```typescript
const callLlm = createCallLlmWithOpenAI({
  apiKey: process.env.API_KEY!,
  baseURL: 'https://your-api-endpoint.com/v1',
  model: 'your-model',
  systemPrompt: 'You are a helpful assistant.',
});
```

## Development

```bash
# Install dependencies
bun install

# Run tests
bun test

# Run tests in watch mode
bun run test:watch
```

## License

MIT
npm package: @moora/starter-agent
Description: A minimal starter agent implementation based on Automata
Latest version: 0.1.2

# @moora/starter-agent

A minimal starter agent implementation based on Automata and the iterative modeling methodology described in `docs/MODELING_V2.md`.

## Overview

This package implements the initial version of an agent with two Actors:
- `user` - Represents the user in the agent's cognitive model
- `llm` - Represents the LLM assistant

## Structure

The package follows the file structure defined in the modeling methodology:

```
src/
├── decl/          # Type declarations
├── impl/          # Function implementations
└── index.ts       # Main entry point
```

## Usage

```typescript
import { createStarterAgent } from '@moora/starter-agent';

const agent = createStarterAgent();

// Dispatch a user message
agent.dispatch({
  type: 'send-user-message',
  content: 'Hello',
  timestamp: Date.now(),
});
```

## Development

This is a minimal implementation with mock output functions. The actual effect logic should be implemented based on your specific requirements.
npm package: @moorthy-g/cra-template
Description: A custom template for create react app
Latest version: 1.1.0

# @moorthy-g/cra-template

This is the custom template for [Create React App](https://github.com/facebook/create-react-app).

To use this template, add --template @moorthy-g/cra-template when creating a new app.

For example:

```
npx create-react-app my-app --template @moorthy-g/cra-template

#or

yarn create react-app my-app --template @moorthy-g/cra-template
```

## Customization summary

- Directory structure update.
- Include .editorconfig
- Do not open browser when 'start' script runs.
- Enforce [angular conventional commit standards](https://github.com/conventional-changelog/commitlint) (Use commitlint, commitizen & husky).
- Format staged files in pre-commit hook with prettier & pretty-quick.
- Shorter css modules classname in build.
- Bundle reporting with "webpack-bundle-analyzer" plugin
- Progress visibility with "webpackbar"

For more information, please refer to:

- [Getting Started](https://create-react-app.dev/docs/getting-started) – How to create a new app.
- [User Guide](https://create-react-app.dev) – How to develop apps bootstrapped with Create React App.
npm package: @moorthy-g/react-scripts
Description: Modified Configuration and scripts for Create React App.
Latest version: 3.3.1

# !!! Deprecated !!!

This package is deprecated in favor of [@moorthy-g/cra-template](https://www.npmjs.com/package/@moorthy-g/cra-template)

# @moorthy-g/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.

## Installation

```sh
npx create-react-app my-app --scripts-version @moorthy-g/react-scripts --template @moorthy-g/cra-template
npm start
```

## What are the modifications?

- LESS replaces SASS
- Directory structure update (@moorthy-g/cra-template)
- Doesn't open browser when 'start' script run
- Enforce [angular conventional commit](https://github.com/conventional-changelog/commitlint) standards (Use commitlint, commitizen & husky).
- Format staged files in pre-commit hook with prettier & pretty-quick.
- Use [directory-named-webpack-plugin](https://github.com/shaketbaby/directory-named-webpack-plugin)
- Shorter css modules classname in build
- No default sourcemap generation in build
- Include .editorconfig
- babel.config.js support for additional babel configuration
- Bundle reporting with "webpack-bundle-analyzer" plugin