open-index/open-npm huggingface dataset:
npm package: @soloseng/celo-devchain
Description: Ganache setup with core Celo contracts for local testing and development.
Author: Zviad Metreveli
Latest version: 5.0.0

# celo-devchain

Ganache-cli setup with core Celo contracts for local testing and development.

## Usage

```
> npm install --save-dev @terminal-fi/celo-devchain
> npx celo-devchain --port 7545
```

```
# Run sanity tests and print all core contract addresses:
> npx @terminal-fi/celo-devchain --test
```

NOTE: @celo/ganache-cli works only with Node 10 or Node 12 versions. Using Node 14 or later
will result in errors.

NOTE: @celo/ganache-cli currently doesn't support locally signed transactions. If you send
a locally signed transaction it will throw: `Error: Number can only safely store up to 53 bits`
error and crash. Thus you have to make sure your ContractKit doesn't actually have the private
keys for test addresses and send transactions to be signed by ganache-cli itself.

Example code that uses this package: https://github.com/zviadm/celo-hellocontracts

## Chain Data

Chain data in `./chains` folder is generated using steps described here: https://docs.celo.org/developer-guide/development-chain.
```
# Start with a fresh checkout to avoid build complications.
> git clone https://github.com/celo-org/celo-monorepo.git
> git fetch --all --tags
> git tag -l celo-core-contracts*
> git checkout tags/celo-core-contracts-{version}

# Yarn commands can take a while to run.
> yarn
> yarn build

> cd packages/protocol
# NOTE: Following command is found in: sdk/contractkit/package.json, at some point the desired --upto flag can change
# based on changes in core-contracts, thus you might have to adjust it too, depending on which version of core-contracts
# you are attempting to build.
> yarn devchain generate-tar .tmp/devchain.tar.gz --migration_override ../dev-utils/src/migration-override.json --upto 25
```

You can also use `celo-devchain` with custom generated chain data:
```
> npx celo-devchain --file <path to custom chain data>
```
npm package: @soloseng/ganache-core
Description: A library to create a local blockchain for fast Ethereum development.
Author: David Murdoch
Latest version: 0.9.0-beta.4

# `@soloseng/ganache-core`

The `@soloseng/ganache-core` npm package.

See [README.md](../../../README.md) for info.

### Architecture

See [ARCHITECTURE.md](ARCHITECTURE.md)
npm package: @soloseng/hardhat
Description: Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
Author: Nomic Labs LLC
Latest version: 2.12.2

![](https://user-images.githubusercontent.com/176499/96893278-ebc67580-1460-11eb-9530-d5df3a3d65d0.png) [![NPM Package](https://img.shields.io/npm/v/hardhat.svg?style=flat-square)](https://www.npmjs.org/package/hardhat) [![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/NomicFoundation/hardhat/badge)](https://www.gitpoap.io/gh/NomicFoundation/hardhat)

---

Hardhat is an Ethereum development environment for professionals. It facilitates performing frequent tasks, such as running tests, automatically checking code for mistakes or interacting with a smart contract. Check out the [plugin list](https://hardhat.org/plugins/) to use it with your existing tools.

Built by the [Nomic Foundation](https://nomic.foundation/) for the Ethereum community.

Join our [Hardhat Support Discord server](https://hardhat.org/discord) to stay up to date on new releases, plugins and tutorials.

## Installation

To install Hardhat, go to an empty folder, initialize an `npm` project (i.e. `npm init`), and run

```
npm install --save-dev hardhat
```

Once it's installed, just run this command and follow its instructions:

```
npx hardhat
```

## Documentation

On [Hardhat's website](https://hardhat.org) you will find:

- [Guides to get started](https://hardhat.org/getting-started/)
- [Hardhat Network](https://hardhat.org/hardhat-network/)
- [Plugin list](https://hardhat.org/plugins/)

## Contributing

Contributions are always welcome! Feel free to open any issue or send a pull request.

Go to [CONTRIBUTING.md](./CONTRIBUTING.md) to learn about how to set up Hardhat's development environment.

## Feedback, help and news

[Hardhat Support Discord server](https://hardhat.org/discord): for questions and feedback.

[Follow Hardhat on Twitter.](https://twitter.com/HardhatHQ)

## Happy building!

👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️
npm package: @soloshine/koishi-plugin-adapter-wechatferry
Description: wechatferry适配器，参考zhx47 <2758887317@qq.com>的实现，其依赖异常，我做了修复、重构了部分逻辑、添加了些许功能，后续有缘更新
Latest version: 0.0.2

# @soloshine/koishi-plugin-adapter-wechatferry

[![npm](https://img.shields.io/npm/v/@soloshine/koishi-plugin-adapter-wechatferry?style=flat-square)](https://www.npmjs.com/package/@soloshine/koishi-plugin-adapter-wechatferry)

wechatferry适配器
npm package: @solosync/here-mcp-server
Description: MCP server for HERE Routing and Geocoding APIs
Author: solosync
Latest version: 1.0.0

# HERE MCP Server

MCP server for HERE Routing and Geocoding APIs v8. Provides routing, matrix routing, and geocoding functionality through the Model Context Protocol.

## Installation

### Local Installation
```bash
npm install
npm run build
```

### Global Installation (for npm package)
```bash
npm install -g @solosync/here-mcp-server
```

## Usage

### With Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "here-routing": {
      "command": "node",
      "args": [
        "/path/to/here-mcp-server/dist/mcp-server.js"
      ],
      "env": {
        "HERE_API_KEY": "your-here-api-key-here"
      }
    }
  }
}
```

Or if installed globally:
```json
{
  "mcpServers": {
    "here-routing": {
      "command": "here-mcp-server",
      "env": {
        "HERE_API_KEY": "your-here-api-key-here"
      }
    }
  }
}
```

## Tools

### `here_calculate_route`
Calculate a route between origin and destination using HERE Routing API v8.

**Parameters:**
- `origin` (required): Origin location as lat,lng (e.g., "52.5308,13.3847")
- `destination` (required): Destination location as lat,lng (e.g., "52.5264,13.3686")
- `apiKey` (optional): HERE API key (uses HERE_API_KEY env var if not provided)
- `transportMode` (optional): car, truck, pedestrian, bicycle, scooter, taxi, or bus
- `return` (optional): Array of fields to return (e.g., ["polyline", "summary", "actions"])
- `routingMode` (optional): fast (default) or short
- `alternatives` (optional): Number of alternative routes (0-6)

### `here_calculate_matrix`
Calculate a routing matrix (many-to-many routes) using HERE Matrix Routing API.

**Parameters:**
- `origins` (required): Array of origin locations as lat,lng
- `destinations` (required): Array of destination locations as lat,lng
- `apiKey` (optional): HERE API key (uses HERE_API_KEY env var if not provided)
- `transportMode` (optional): car, truck, pedestrian, bicycle, scooter, taxi, or bus
- `routingMode` (optional): fast (default) or short

### `here_geocode_forward`
Forward geocoding - convert address to coordinates using HERE Geocoding API.

**Parameters:**
- `q` (required): Address or place name to geocode (e.g., "425 W Randolph St, Chicago, IL")
- `apiKey` (optional): HERE API key (uses HERE_API_KEY env var if not provided)
- `limit` (optional): Maximum number of results to return (default: 5)

### `here_geocode_reverse`
Reverse geocoding - convert coordinates to address using HERE Geocoding API.

**Parameters:**
- `at` (required): Coordinates as lat,lng (e.g., "41.8842,-87.6388")
- `apiKey` (optional): HERE API key (uses HERE_API_KEY env var if not provided)

## Environment Variables

- `HERE_API_KEY`: Your HERE API key (required)

## License

MIT
npm package: @solosync/mapbox-mcp-server
Description: MCP server for Mapbox Geocoding API
Author: solosync
Latest version: 1.0.0

# Mapbox MCP Server

MCP server for Mapbox Geocoding API v6. Provides forward geocoding (address to coordinates) functionality through the Model Context Protocol.

## Installation

### Local Installation
```bash
npm install
npm run build
```

### Global Installation (for npm package)
```bash
npm install -g @solosync/mapbox-mcp-server
```

## Usage

### With Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "mapbox-geocoding": {
      "command": "node",
      "args": [
        "/path/to/mapbox-mcp-server/dist/mcp-server.js"
      ],
      "env": {
        "MAPBOX_ACCESS_TOKEN": "your-mapbox-token-here"
      }
    }
  }
}
```

Or if installed globally:
```json
{
  "mcpServers": {
    "mapbox-geocoding": {
      "command": "mapbox-mcp-server",
      "env": {
        "MAPBOX_ACCESS_TOKEN": "your-mapbox-token-here"
      }
    }
  }
}
```

## Tools

### `mapbox_geocode_forward`
Convert address or place name to coordinates using Mapbox Geocoding API.

**Parameters:**
- `q` (required): The address or place name to geocode (e.g., "10121 dewey drive" or "San Francisco, CA")
- `access_token` (optional): Mapbox API access token (uses MAPBOX_ACCESS_TOKEN env var if not provided)
- `permanent` (optional): Whether you intend to store the results (default: false)

**Example:**
```json
{
  "q": "425 W Randolph St, Chicago, IL",
  "permanent": false
}
```

## Environment Variables

- `MAPBOX_ACCESS_TOKEN`: Your Mapbox API access token (required)

## License

MIT
npm package: @solothought/float
Description: CLI command to analyze Flowgger logs
Author: Amit Gupta
Latest version: 1.0.0

# Float (Flowgger LOgs Analysis Terminal)

Float helps you to analyze and visualize logs written by [Flowgger](https://www.npmjs.com/package/@solothought/flowgger) library.

```
$ npm i -g @solothought/float
```

![Flowgger LOgs Analysis Terminal](./assets/image.png)

- first coloum shows the execution time of flow and each step
- All the steps which are not executed are greyed out.
- You must define the template of your log data, path of flow file, and flow log data

Use
```bash
grep FLOW flowgger.log | grep "Flow Name" | head -1 | fla -d flows -t templates/task_template.txt
```
npm package: @solothought/text2obj
Description: Parse text to object for diagraming, automation and other purpose
Author: Amit Gupta
Latest version: 1.0.3

# text2obj
With due respect to all the text to diagram generators, the aim of this library is to parse text given in expected format and generate an intermediate object that can be used to draw diagrams or use in some kind of automation.

Currently, this library supports parsing algorithm(or flow) to generate flow chart.

Sample Flow
```
FLOW: Sample flow 1
version:  1.0
threshold: 6000
LOOP (source is) readable
  THEN read a character (of input buffer)
  IF statement 
    IF another statement
      THEN found here
      AND copy data
    ELSE_IF parallel statement
      DO nothing
      ERR Unexpected end of input
      END
    ELSE last statement
  ELSE something
  IF optional
DO in end
```

```js
const parse = require("@solothought/text2obj/flow")

const flows = parse(flowText);
flows['Sample flow 1];
```
Output
```

[
  {
    "name": "Sample flow 1",
    "headers": {
      "version": "1.0",
      "threshold": "6000"
    },
    "steps": [
      { "msg": "readable", "rawMsg": "(source is) readable", "type": "LOOP", "indent": 0  },
      {
        "msg": "read a character",
        "rawMsg": "read a character (of input buffer)",
        "type": "THEN",
        "indent": 1
      },
      { "msg": "statement", "rawMsg": "statement", "type": "IF", "indent": 1  },
      { "msg": "another statement", "rawMsg": "another statement", "type": "IF", "indent": 2  },
      { "msg": "found here", "rawMsg": "found here", "type": "THEN", "indent": 3  },
      { "msg": "copy data", "rawMsg": "copy data", "type": "AND", "indent": 3  },
      { "msg": "parallel statement", "rawMsg": "parallel statement", "type": "ELSE_IF", "indent": 2  },
      { "msg": "DO nothing", "rawMsg": "DO nothing", "type": "", "indent": 3  },
      {
        "msg": "Unexpected end of input",
        "rawMsg": "Unexpected end of input",
        "type": "ERR",
        "indent": 3
      },
      { "msg": "", "rawMsg": "", "type": "END", "indent": 3  },
      { "msg": "last statement", "rawMsg": "last statement", "type": "ELSE", "indent": 2  },
      { "msg": "something", "rawMsg": "something", "type": "ELSE", "indent": 1  },
      { "msg": "optional", "rawMsg": "optional", "type": "IF", "indent": 1  },
      { "msg": "DO in end", "rawMsg": "DO in end", "type": "", "indent":       }
    ],
    "links": {
      "0":  [ 1, 13 ],
      "1":  [ 2 ],
      "2":  [ 3, 12 ],
      "3":  [ 4, 6 ],
      "4":  [ 5 ],
      "5":  [ 10 ],
      "6":  [ 7, 11 ],
      "7":  [ 8 ],
      "8":  [-1 ],
      "12": [ null, 0 ],
      "13": [-1 ]
    },
    "leveledSteps": [[0,13],[1,2,11,12],[3,6,10],[4,5,7,8,9]]
  }
]
```

- `-1` means end
- `links` represents linking among steps.
- `leveledSteps` are steps on different indentation.