open-index/open-npm huggingface dataset:
npm package: @mito-forms/core
Description: Declarative Forms
Author: Vladislav Eroshin
Latest version: 0.2.23-beta

# @mito-forms/core

**Mito Forms Core** is the lightweight, framework-agnostic core engine for building dynamic, state-managed forms.  
It provides a highly flexible and minimalistic foundation for form state management, input validation, and dynamic
updates — without forcing any specific UI framework or heavy dependencies.

This package powers Mito Forms' modular architecture, allowing it to adapt easily to various UI libraries (e.g., React,
Material UI, Bulma, Bootstrap) while keeping your form logic cleanly separated from your components.

---

## Features

- 🚀 **Lightweight:** Minimal runtime footprint with no external UI dependencies.
- 🔄 **Dynamic Forms:** Supports dynamic field updates, conditional logic, and computed fields.
- 🗋l **Validation Engine:** Built-in support for synchronous and asynchronous validation.
- 🧹 **Composable:** Cleanly separate form state, field definitions, and validation logic.
- 🛠️ **Framework-Agnostic:** Integrates easily with React, Vue, Angular, or any rendering system.

---

## Installation

```bash
npm install @mito-forms/core
# or
pnpm add @mito-forms/core
# or
yarn add @mito-forms/core
```

---

## Core Concepts

- **Form State** — Central store for all fields and their metadata (values, errors, touched status, etc.)
- **Field Definitions** — Define initial values, validators, and dynamic behaviors.
- **Validators** — Built-in rules like `required`, `email`, `minLength`, and ability to add custom ones.
- **Subscriptions** — Listen reactively to form or field-level changes.

---

## Documentation

| Section                            | Link          |
|:-----------------------------------|:--------------|
| Full API Reference                 | (coming soon) |
| Building a Custom UI               | (coming soon) |
| Adapters (React, Bulma, Bootstrap) | (coming soon) |

(Documentation contributions welcome!)

---

## Contributing

We welcome contributions to improve Mito Forms Core!  
If you'd like to help:

1. Fork the repository
2. Create a new branch
3. Submit a pull request

Please ensure your code follows the existing style and passes all tests.

---

## License

MIT License © 2025 [Vladislav Eroshin](https://github.com/vlad-eroshin)
npm package: @mitoai/gintonic-api
Description: This projects contains a reference API implementation, which using a  koa server exposes the transformed API and subsequently routes requests to the source API. We encourage that you develop your own API that fits your needs.!
Author: Christian Budde Christensen
Latest version: 0.2.0
Deprecated: Implement it yourself :) 

# GraphQL Transformer reference API

This projects contains a reference API implementation, which using a 
koa server exposes the transformed API and subsequently routes requests to the
source API. We encourage that you develop your own API that fits your needs.! 

Notice that this API is accepting JWT tokens, which when verified will
be exchanged for an upstream token. Accepting tokens that will only work for 
this API enables strong access separation, and can potentially remove the need
for scopes or other authentication mechanisms.  Assuming that the target API
is only accepting tokens with audience claim `T`, the upstream api only tokens with audience 
claim `S`, and that `S =/= T` then there is no chance that the user of the target API
can access data on the upstream API. Pretty neato! 

This API is configurable by environment variables, which includes:


| Variable | Description |
|----------|-------------|
| `TRANSFORMATION` | The GraphQL Transformation. If omitted, the API will look for the file `transformation.grapqht` in the current working directory. |
| `SCHEMA` | The upstream schema. If omitted, the schema will first look for the file `schema.graphql` in the current working directory. If not found it will be fetched on start up. |
| `UPSTREAM_URL` | The url for the upstream server. |
| `AUTH_CLIENT_ID` | Client id used for generating upstream tokens.|
| `AUTH_CLIENT_SECRET` | Client secret used for generating upstream tokens. |
| `AUTH_AUDIENCE` | Audience claim for the target api server. |
| `AUTH_DOMAIN` | Domain at witch the jwks can be fetched for token verification. |
npm package: @mitoai/gintonic-koa
Description: Koa middleware for gintonic
Author: Christian Budde Christensen
Latest version: 0.2.9

# GraphQL Transformer Koa-middleware

Start using GraphQL Transformer with the koa middleware. 

## Getting started
Install the koa middleware
```bash
npm i @mitoai/gintonic-koa
```

By providing
a schema and transformation (as a string), and a fetcher for executing
source queries, this middleware will expose a GraphQL target
Api returing data from the source API.

```javascript
const Koa = require('koa')
const Router = require('koa-router')
const gt = require('@mitoai/gintonic-koa')
const fetch = require('node-fetch')

const upstreamUrl = "https://example.com/graphql"
const transformationString = "transform schema { query }"

const app = new Koa()

// Execute source query against source API
async function fetcher ({query, variables, operationName, ctx}) {
  const res = await fetch(upstreamUrl, {
    method: "POST",
    body: JSON.stringify({query, variables, operationName}),
    headers: {
      'Content-Type': 'application/json'
    }
  })
  return res.json()
}

const router = new Router()
router.all('/graphql', gt({
  upstreamUrl,
  transformation: transformationString,
  fetcher
}))

app.use(router.routes()).use(router.allowedMethods())

app.listen(1337)

```
npm package: @mitoai/gqltrans-api
Description: This projects contains a reference API implementation, which using a  koa server exposes the transformed API and subsequently routes requests to the source API. We encourage that you develop your own API that fits your needs.!
Author: Christian Budde Christensen
Latest version: 0.1.5
Deprecated: Use @mitoai/gintonic-api

# GraphQL Transformer reference API

This projects contains a reference API implementation, which using a 
koa server exposes the transformed API and subsequently routes requests to the
source API. We encourage that you develop your own API that fits your needs.! 

Notice that this API is accepting JWT tokens, which when verified will
be exchanged for an upstream token. Accepting tokens that will only work for 
this API enables strong access separation, and can potentially remove the need
for scopes or other authentication mechanisms.  Assuming that the target API
is only accepting tokens with audience claim `T`, the upstream api only tokens with audience 
claim `S`, and that `S =/= T` then there is no chance that the user of the target API
can access data on the upstream API. Pretty neato! 

This API is configurable by environment variables, which includes:


| Variable | Description |
|----------|-------------|
| `TRANSFORMATION` | The GraphQL Transformation. If omitted, the API will look for the file `transformation.grapqht` in the current working directory. |
| `SCHEMA` | The upstream schema. If omitted, the schema will first look for the file `schema.graphql` in the current working directory. If not found it will be fetched on start up. |
| `UPSTREAM_URL` | The url for the upstream server. |
| `AUTH_CLIENT_ID` | Client id used for generating upstream tokens.|
| `AUTH_CLIENT_SECRET` | Client secret used for generating upstream tokens. |
| `AUTH_AUDIENCE` | Audience claim for the target api server. |
| `AUTH_DOMAIN` | Domain at witch the jwks can be fetched for token verification. |
npm package: @mitoai/gqltrans-koa
Description: Koa middleware for gqltrans
Author: Christian Budde Christensen
Latest version: 0.1.5
Deprecated: Use @mitoai/gintonic-koa

# GraphQL Transformer Koa-middleware

Start using GraphQL Transformer with the koa middleware. 

## Getting started
Install the koa middleware
```bash
npm i @mitoai/gqltrans-koa
```

By providing
a schema and transformation (as a string), and a fetcher for executing
source queries, this middleware will expose a GraphQL target
Api returing data from the source API.

```javascript
const Koa = require('koa')
const Router = require('koa-router')
const gqlt = require('@mitoai/gqltrans-koa')
const fetch = require('node-fetch')

const sourceApiUrl = "..."

const schemaString = "..."
const transformationString = "..."

const app = new Koa()

// Execute source query against source API
async function fetcher ({query, variables, operationName, ctx}) {
  const res = await fetch(sourceApiUrl, {
    method: "POST",
    body: JSON.stringify({query, variables, operationName}),
    headers: {
      'Content-Type': 'application/json'
    }
  })
  return res.json()
}

const router = new Router()
router.all('/graphql', gqlt({
  schema: schemaString,
  transformation: transformationString,
  fetcher
}))

app.use(router.routes()).use(router.allowedMethods())

app.listen(1337)

```
npm package: @mitoai/health
Description: Health for Mito
Author: Christian Budde Christensen
Latest version: 0.2.2

# Mito Health utility

This tool helps determine the whether different parts of the Mito ecosystem is up and running.


## Installation

Install this tool with npm:

```
npm i -g @mitoai/health
```

This installs the command `mithealth` on the path.

## Usage

The following commands are available

```
$ mithealth -h

  Usage: mithealth [options] [command]


  Options:

    -V, --version           output the version number
    -p --project <project>  Google Cloud project name. Defaults to "ntnu-smartmedia"
    -M --metric <metric>    Metric type can be "acked" or "undelivered". Defaults  to "undelivered"
    -h, --help              output usage information


  Commands:

    linreg [options] <subscriptionId>  Linear regression test on subscription
    sum [options] <subscriptionId>     Sum test on subscription

```

### Linear regression

We can test with linear regression over the number of messages in a given metric. If the curve is increasing
linearly with an R<sup>2</sup> value larger or equal to `-c`  over a sample period of `-m` 
minutes, it is assumed that the stream is unhealthy. If unhealthy, the program exits with code `1`.

```
$ mithealth linreg -h

  Usage: linreg [options] <subscriptionId>

  Linear regression test on subscription


  Options:

    -m --sampleMinutes <minutes>  Sample duration in minutes. Default is 20 minutes.
    -c --confidence <confidence>  Confidence for passing between 0 and 1. Default is 0.75.
    -h, --help                    output usage information

```


### Sum

Checking health based on the number of messages in a given metric. We can define upper and lower bounds,
if either is not fulfilled, the stream is declared unhealthy

```
$ mithealth sum -h

  Usage: sum [options] <subscriptionId>

  Sum test on subscription


  Options:

    -m --sampleMinutes <minutes>  Sample duration in minutes. Default is 20 minutes.
    -g --greaterThan <count>      The count that the sum of messages should exceed
    -l --lessThan <count>         The count that the sum of messages should be less than
    -h, --help                    output usage information
```
npm package: @mitoc/constants
Description: Constants for use across MIT Outing Club infrastructure
Author: David Cain
Latest version: 0.4.1

[![Build Status](https://api.travis-ci.com/DavidCain/mitoc-const.svg?branch=master)](https://travis-ci.com/DavidCain/mitoc-const/)
[![PyPI version](https://img.shields.io/pypi/v/mitoc-const.svg)](https://pypi.python.org/pypi/mitoc-const)

# MITOC Constants
This is a set of constants for use across MIT Outing Club infrastructure.

MITOC has a number of projects, many of which reference values used
in other databases or deployed projects. These projects may be deployed
separately, so there's value in having shared values at constants in an
external package.

## Releasing a new version
It's recommended to keep the Python and TypeScript versions in lock-step.
Even if no changes were made in one of the two, it's best to release both
at the same time.

### pypi/Python
First, augment the version in `setup.py`. Then:

```bash
rm -rf dist/ build/ mitoc_const.egg-info/
pipenv run python setup.py sdist bdist_wheel
pipenv run twine upload dist/*
git push origin master
```

### npm/TypeScript
```bash
npm run build
npm publish
```