open-index/open-npm huggingface dataset:
npm package: @standard-community/standard-json
Description: [![npm version](https://img.shields.io/npm/v/@standard-community/standard-json.svg)](https://npmjs.org/package/@standard-community/standard-json "View this project on NPM") [![npm downloads](https://img.shields.io/npm/dm/@standard-community/standard-json)
Latest version: 0.3.5

# Standard JSON

[![npm version](https://img.shields.io/npm/v/@standard-community/standard-json.svg)](https://npmjs.org/package/@standard-community/standard-json "View this project on NPM")
[![npm downloads](https://img.shields.io/npm/dm/@standard-community/standard-json)](https://www.npmjs.com/package/@standard-community/standard-json)

Standard Schema Validator's JSON Schema Converter

## Installation

Install the main package -

```sh
pnpm add @standard-community/standard-json
```

For some specific vendor, install the respective package also -

| Vendor  | Package |
| ------- | ------- |
| Zod v3  | `zod-to-json-schema` |
| Valibot | `@valibot/to-json-schema` |

## Usage

```ts
import { toJsonSchema } from "@standard-community/standard-json";

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = await toJsonSchema(schema);
```

### Sync Usage

This is useful for -

#### Adding support for Unsupported validation libs

```ts
import { toJsonSchema, loadVendor } from "@standard-community/standard-json";
import { convertSchemaToJson } from "your-validation-lib";

// The lib should support Standard Schema, like Sury
// as we use 'schema["~standard"].vendor' to get the vendor name
// Eg. loadVendor(zod["~standard"].vendor, convertorFunction)
loadVendor("validation-lib-name", convertSchemaToJson)

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = toJsonSchema(schema);
```

#### Customize the toJSONFunction of a supported lib

```ts
import { toJsonSchema, loadVendor } from "@standard-community/standard-json";
import zodHandler from "@standard-community/standard-json/zod";

// Or pass a custom implmentation
loadVendor("zod", zodHandler())

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = await toJsonSchema(schema);
```
npm package: @standard-community/standard-openapi
Description: [![npm version](https://img.shields.io/npm/v/@standard-community/standard-openapi.svg)](https://npmjs.org/package/@standard-community/standard-openapi "View this project on NPM") [![npm downloads](https://img.shields.io/npm/dm/@standard-community/standard
Latest version: 0.2.9

# Standard OpenAPI

[![npm version](https://img.shields.io/npm/v/@standard-community/standard-openapi.svg)](https://npmjs.org/package/@standard-community/standard-openapi "View this project on NPM")
[![npm downloads](https://img.shields.io/npm/dm/@standard-community/standard-openapi)](https://www.npmjs.com/package/@standard-community/standard-openapi)
[![license](https://img.shields.io/npm/l/@standard-community/standard-openapi)](LICENSE)

Standard Schema Validator's OpenAPI Schema Converter

## Installation

Install the main package -

```sh
pnpm add @standard-community/standard-openapi
```

For some specific vendor, install the respective package also -

| Vendor  | Package |
| ------- | ------- |
| Zod v3  | `zod-openapi@4` |
| Valibot | `@valibot/to-json-schema` |

## Usage

```ts
import { toOpenAPISchema } from "@standard-community/standard-openapi";

// Define your schema
const schema = v.pipe(
    v.object({
        myString: v.string(),
        myUnion: v.union([v.number(), v.boolean()]),
    }),
    v.description("My neat object schema"),
);

// Convert it to OpenAPI Schema
const openapiSchema = await toOpenAPISchema(schema);
```

### Sync Usage

#### Adding support for Unsupported validation libs

```ts
import { toOpenAPISchema, loadVendor } from "@standard-community/standard-openapi";
import { convertSchemaToJson } from "your-validation-lib";

// The lib should support Standard Schema, like Sury
// as we use 'schema["~standard"].vendor' to get the vendor name
// Eg. loadVendor(zod["~standard"].vendor, convertorFunction)
loadVendor("validation-lib-name", convertSchemaToJson)

// Define your validation schema
const schema = {
    // ...
};

// Convert it to OpenAPI Schema
const openapiSchema = toOpenAPISchema(schema);
```

#### Customize the toOpenAPISchema of a supported lib

```ts
import { z } from "zod/v4";
import { toJSONSchema } from "zod/v4/core";
import { toOpenAPISchema, loadVendor } from "@standard-community/standard-openapi";
import { convertToOpenAPISchema } from "@standard-community/standard-openapi/convert";

// Or pass a custom implmentation
loadVendor("zod", (schema, context) => {
    return convertToOpenAPISchema(toJSONSchema(schema, {
        io: "input"
    }), context);
})

// Define your schema
const schema = z.object({
    myString: z.string(),
    myUnion: z.union([z.number(), z.boolean()]),
}),

// Convert it to OpenAPI Schema
const openapiSchema = await toOpenAPISchema(schema);
```
npm package: @standard-config/eslint
Description: TypeScript-first ESLint config designed to complement Oxlint
Author: Dom Porada
Latest version: 2.1.0

[![](https://img.shields.io/npm/v/%40standard-config%2Feslint)](https://www.npmjs.com/package/@standard-config/eslint) [![](https://img.shields.io/github/actions/workflow/status/standard-config/eslint/test.yaml)](https://github.com/standard-config/eslint/actions/workflows/test.yaml) [![](https://img.shields.io/codecov/c/github/standard-config/eslint)](https://codecov.io/github/standard-config/eslint)

# @standard-config/eslint

TypeScript-first ESLint config designed to complement [**@standard-config/oxlint**](https://github.com/standard-config/oxlint). Focuses primarily on stylistic and React-related rules not available in Oxlint.

## Install

```sh
npm install --save-dev @standard-config/eslint
```

```sh
pnpm add --save-dev @standard-config/eslint
```

## Usage

Create your `eslint.config.ts`:

```ts
import { defineConfig } from '@standard-config/eslint';

export default defineConfig();
```

### React

The React-related rules included with Standard Config are off by default. You can enable them by setting `react: true` at the root of your config.

```ts
import { defineConfig } from '@standard-config/eslint';

export default defineConfig({
    react: true,
});
```

### Skipping ESLint

Standard Config comes with a set of utilities that can translate this config to Oxlint, eliminating the need to run ESLint. This relies on Oxlint’s experimental [JS Plugins](https://oxc.rs/docs/guide/usage/linter/js-plugins.html) support.

In your `oxlint.config.ts`:

```ts
import { defineOxlintConfig } from '@standard-config/eslint/utilities';

export default defineOxlintConfig({
    react: true,
    rules: {
        /* Optional overrides */
    },
});
```

## Related

- [**@standard-config/oxlint**](https://github.com/standard-config/oxlint)
- [**@standard-config/prettier**](https://github.com/standard-config/prettier)
- [**@standard-config/tsconfig**](https://github.com/standard-config/tsconfig)

## License

MIT © [Dom Porada](https://dom.engineering)
npm package: @standard-config/oxlint
Description: Curated Oxlint config with sensible defaults
Author: Dom Porada
Latest version: 1.7.0

[![](https://img.shields.io/npm/v/%40standard-config%2Foxlint)](https://www.npmjs.com/package/@standard-config/oxlint) [![](https://img.shields.io/github/actions/workflow/status/standard-config/oxlint/test.yaml)](https://github.com/standard-config/oxlint/actions/workflows/test.yaml) [![](https://img.shields.io/codecov/c/github/standard-config/oxlint)](https://codecov.io/github/standard-config/oxlint)

# @standard-config/oxlint

Curated Oxlint config with sensible defaults. Designed as a careful, environment-agnostic baseline for writing better TypeScript.

- If you’re adopting Oxlint, this config will get you started right away.
- If you’re migrating from [**xo**](https://github.com/xojs/xo), you’ll feel right at home.
- For additional rules not yet implemented in Oxlint, see [**@standard-config/eslint**](https://github.com/standard-config/eslint).

## Install

```sh
npm install --save-dev @standard-config/oxlint
```

```sh
pnpm add --save-dev @standard-config/oxlint
```

For [type-aware linting](https://oxc.rs/docs/guide/usage/linter/type-aware.html), make sure both `oxlint` and `oxlint-tsgolint` are installed.

## Usage

Create your `oxlint.config.ts`:

```ts
import { defineConfig } from '@standard-config/oxlint';

export default defineConfig();
```

### Overrides

You can override the defaults by passing your own [config options](https://oxc.rs/docs/guide/usage/linter/config-file-reference.html).

```ts
import { defineConfig } from '@standard-config/oxlint';

export default defineConfig({
    rules: {
        'typescript/consistent-type-definitions': ['error', 'interface'],
    },
});
```

### React

Standard Config includes a set of React-related rules that are off by default. You can enable them by setting `react: true` at the root of your config.

```ts
import { defineConfig } from '@standard-config/oxlint';

export default defineConfig({
    react: true,
});
```

## FAQ

### Can I use this config with Vite+?

Absolutely. In your `vite.config.ts`:

```ts
import { defineOxlintConfig } from '@standard-config/oxlint';
import { defineConfig } from 'vite-plus';

export default defineConfig({
    lint: defineOxlintConfig({
        react: true,
        rules: {
            /* Optional overrides */
        },
    }),
});
```

## Related

- [**@standard-config/eslint**](https://github.com/standard-config/eslint)
- [**@standard-config/prettier**](https://github.com/standard-config/prettier)
- [**@standard-config/tsconfig**](https://github.com/standard-config/tsconfig)

## License

MIT © [Dom Porada](https://dom.engineering)
npm package: @standard-config/prettier
Description: TypeScript-first Prettier config
Author: Dom Porada
Latest version: 1.12.0

[![](https://img.shields.io/npm/v/%40standard-config%2Fprettier)](https://www.npmjs.com/package/@standard-config/prettier) [![](https://img.shields.io/github/actions/workflow/status/standard-config/prettier/test.yaml)](https://github.com/standard-config/prettier/actions/workflows/test.yaml) [![](https://img.shields.io/codecov/c/github/standard-config/prettier)](https://codecov.io/github/standard-config/prettier)

# @standard-config/prettier

TypeScript-first Prettier config with carefully considered details.

- Uses the [`oxc` parser](https://oxc.rs/docs/guide/usage/parser.html) for lightning-fast TypeScript and JavaScript formatting.
- Formats shell scripts out of the box, including `git` hook files.
- Formats HTML fragments in `README.md` and any other GitHub-Flavored Markdown document.
- Sorts all JSON files, with curated order patterns for common config files like `package.json`, `tsconfig.json`, and more.

## Install

```sh
npm install --save-dev @standard-config/prettier
```

```sh
pnpm add --save-dev @standard-config/prettier
```

## Usage

Create your `prettier.config.ts`:

```ts
import { defineConfig } from '@standard-config/prettier';

export default defineConfig();
```

You can override the defaults by passing your own [config options](https://prettier.io/docs/options).

```ts
import { defineConfig } from '@standard-config/prettier';

export default defineConfig({
    useTabs: false,
});
```

### .editorconfig

For a consistent editor experience, you can use the included [`.editorconfig`](https://editorconfig.org) file in addition to the Prettier configuration.

```sh
ln -s node_modules/@standard-config/prettier/.editorconfig
```

## Related

- [**@standard-config/oxlint**](https://github.com/standard-config/oxlint)
- [**@standard-config/tsconfig**](https://github.com/standard-config/tsconfig)
- [**prettier-plugin-expand-json**](https://github.com/porada/prettier-plugin-expand-json)
- [**prettier-plugin-markdown-html**](https://github.com/porada/prettier-plugin-markdown-html)
- [**prettier-plugin-yaml**](https://github.com/porada/prettier-plugin-yaml)

## License

MIT © [Dom Porada](https://dom.engineering)
npm package: @standard-config/tsconfig
Description: Strict config for modern TypeScript runtimes
Author: Dom Porada
Latest version: 3.1.0

[![](https://img.shields.io/npm/v/%40standard-config%2Ftsconfig)](https://www.npmjs.com/package/@standard-config/tsconfig) [![](https://img.shields.io/badge/TypeScript_6.0-baseline-success)](tsconfig.json)

# @standard-config/tsconfig

Strict config for modern TypeScript runtimes. Designed around `node`’s type stripping and tuned for `noEmit` checks.

## Install

```sh
npm install --save-dev @standard-config/tsconfig
```

```sh
pnpm add --save-dev @standard-config/tsconfig
```

## Usage

Create your `tsconfig.json`:

```json
{
    "extends": "@standard-config/tsconfig",
    "include": [
        "**/*"
    ],
    "exclude": [
        "node_modules"
    ]
}
```

### Bundlers

For projects that require a compilation step, use `@standard-config/tsconfig/bundler` instead. Being slightly more permissive, it’s the recommended base config for Next.js, Vite-based projects, and other React apps.

```json
{
    "extends": "@standard-config/tsconfig/bundler"
}
```

## License

MIT © [Dom Porada](https://dom.engineering)
npm package: @standard-library/flaneur
Description: Tell the flaneur where you'd like to go, and there the flaneur will take you.
Author: Standard Library
Latest version: 0.3.0

# flaneur

Tell the flaneur where you'd like to go, and there the flaneur will take you.

## Installation

```shell
yarn add @standard-library/flaneur
```

## Usage

```es6
import flâneur from "@standard-library/flaneur";

const scrollY = K.fromEvents(window, "scroll").map(() => window.scrollTop);
const flânerie = flâneur({}, scrollY);

const interestingThings = K.sequentially(1000, [450, 100, 1000]);

flânerie.regard(interestingThings);
```
npm package: @standard-library/galvo
Description: Not a slideshow
Author: Standard Library
Latest version: 0.3.0

# galvo

Acts as a "higher order stream" which manages a collection of stuff with a single "active" item. You might use it to coordinate a slideshow.

Implemented using Kefir.js.

## Installation

```shell
yarn add @standard-library/galvo
```

## Usage

```javascript
const items = ["a", "b", "c"];
const advance = K.interval(3000).take(3);
const slideshow = galvo({ advance }, items);

slideshow.current.log();
// => a---b---c---a
slideshow.previous.log();
// => ----a---b---c
```
npm package: @standard-library/galvo-clicker
Description: Not a paginator
Author: Standard Library
Latest version: 0.1.3
Deprecated: package renamed to galvo-dom-clicker

# galvo-clicker

A function that, given a class name, creates an element with a corresponding click event stream. Could be used for adding left and right arrows to a slideshow.

## Installation

```shell
yarn add @standard-library/galvo-clicker
```

## Usage

```javascript
import clicker from "@standard-library/galvo-clicker";

button = clicker("button");

button.element
// => <div class="button"></div>
button.click
// => Kefir.Stream
```

Using [galvo](https://github.com/standard-library/galvo) this event stream can be used to move forward and backward in a sequence of elements:

```javascript
import galvo from "@standard-library/galvo";
import clicker from "@standard-library/galvo-clicker";

const next = clicker("paginator");
const sequence = galvo({
  advance: next.click
}, ["a", "b", "c"]);

next.element.click();
next.element.click();

sequence.current
// => a---b---c
```
npm package: @standard-library/galvo-dom-clicker
Description: Not a paginator
Author: Standard Library
Latest version: 0.3.0

# galvo-dom-clicker

A function that, given a class name, creates an element with a corresponding click event stream. Could be used for adding left and right arrows to a slideshow.

## Installation

```shell
yarn add @standard-library/galvo-dom-clicker
```

## Usage

```javascript
import clicker from "@standard-library/galvo-dom-clicker";

button = clicker("button");

button.element
// => <div class="button"></div>
button.click
// => Kefir.Stream
button.mousedown
// => Kefir.Stream
button.mouseup
// => Kefir.Stream
```

Using [galvo](https://github.com/standard-library/galvo) this event stream can be used to move forward and backward in a sequence of elements:

```javascript
import galvo from "@standard-library/galvo";
import clicker from "@standard-library/galvo-dom-clicker";

const next = clicker("paginator");
const sequence = galvo({
  advance: next.click
}, ["a", "b", "c"]);

next.element.click();
next.element.click();

sequence.current
// => a---b---c
```
npm package: @standard-library/galvo-dom-surface
Description: Not a touchpad
Author: Standard Library
Latest version: 0.2.0

# galvo-dom-surface

A function that, given an element, creates streams for swiping around. Currently supports swiping left and right and generic swiping. (Pull requests welcome.)

Implemented using Kefir.js and Hammer.js.

## Installation

```shell
yarn add @standard-library/galvo-dom-surface
```

## Usage

```javascript
import surface from "@standard-library/galvo-dom-surface";

const touchpad = surface(document.querySelector(".touchpad"));

touchpad.swipe
// => Kefir.Stream
touchpad.swipe.left
// => Kefir.Stream
touchpad.swipe.right
// => Kefir.Stream
```

Using [galvo](https://github.com/standard-library/galvo) this event stream can be used to move forward and backward in a sequence of elements:

```javascript
import galvo from "@standard-library/galvo";
import surface from "@standard-library/galvo-dom-surface";

const { swipe } = surface(document.querySelector(".touchpad"));
const sequence = galvo({
  advance: swipe.right,
  recede: swipe.left
}, ["a", "b", "c"]);

// Do a few swipes right, then one left

sequence.current
// => a---b---c---b
```
npm package: @standard-library/galvo-surface
Description: Not a touchpad
Author: Standard Library
Latest version: 0.1.0
Deprecated: package renamed to galvo-dom-surface

# galvo-surface

A function that, given an element, creates streams for swiping around. Currently supports swiping left and right and generic swiping. (Pull requests welcome.)

Implemented using Kefir.js and Hammer.js.

## Installation

```shell
yarn add @standard-library/galvo-surface
```

## Usage

```javascript
import surface from "@standard-library/galvo-surface";

const touchpad = surface(document.querySelector(".touchpad"));

touchpad.swipe
// => Kefir.Stream
touchpad.swipe.left
// => Kefir.Stream
touchpad.swipe.right
// => Kefir.Stream
```

Using [galvo](https://github.com/standard-library/galvo) this event stream can be used to move forward and backward in a sequence of elements:

```javascript
import galvo from "@standard-library/galvo";
import surface from "@standard-library/galvo-surface";

const { swipe } = surface(document.querySelector(".touchpad"));
const sequence = galvo({
  advance: swipe.right,
  recede: swipe.left
}, ["a", "b", "c"]);

// Do a few swipes right, then one left

sequence.current
// => a---b---c---b
```
npm package: @standard-library/is
Description: Concise Object.is
Author: Standard Library
Latest version: 1.0.0

# is

When `Object.is` is too many keystrokes.

## Installation

```shell
yarn add @standard-library/is
```

## Usage

Use anywhere you might otherwise want to check equality. Never again use the vastly inferior `===` and `==`. Also: functional.

```
const is = require("@standard-library/is");

is(1, 1);
// => true

is(1, 2);
// => false

[true, true, true, true].reduce(is, true);
// => true
```
npm package: @standard-library/kefir-evolve
Description: Given an object containing Kefir streams as values, emits new objects with the stream events under the corresponding key.
Author: Jack Jennings
Latest version: 1.2.0

# kefir-evolve

Given an object containing Kefir streams as values, emits new objects with the stream events under the corresponding key.

## Installation

```shell
npm install @standard-library/kefir-evolve
```

## Usage

```javascript
import evolve from "kefir-evolve";

const initial = { height: 0 };
const styles = evolve({
  color: Kefir.sequentially(1000, ["red", "green", "blue"]),
  height: Kefir.sequentially(500, [10, 50, 100])
}, initial);

// [evolve] <value> { height: 0 }
// [evolve] <value> { height: 10 }
// [evolve] <value> { height: 50, color: "red" }
// [evolve] <value> { height: 100, color: "red" }
// [evolve] <value> { height: 100, color: "green" }
// [evolve] <value> { height: 100, color: "blue" }
// [evolve] <end>
```
npm package: @standard-library/kefir-matches-media
Description: Kefir event stream wrapper around matchMedia API
Author: Standard Library
Latest version: 0.1.1

# Kefir.matchesMedia

Wraps the browser [`matchMedia` API](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia) in a Kefir property stream. The resulting property is the boolean value equal to the media query match.

## Installation

```shell
yarn add @standard-library/kefir-matches-media
```

## Usage

```es6
import matchesMedia from "@standard-library/kefir-matches-media";

const isNarrow = matchesMedia(window, "(max-width: 500px)");
# <value> true
# ... resize browser to be narrow
# <value> false
```
npm package: @standard-log/core
Description: Core library for `standard-log`
Author: Homa Wong
Latest version: 3.0.1

# @standard-log/core

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

[![Circle CI][circleci-image]][circleci-url]
[![Travis CI][travis-image]][travis-url]
[![Codecov][codecov-image]][codecov-url]
[![Coveralls Status][coveralls-image]][coveralls-url]

Core library for [`standard-log`](https://github.com/unional/standard-log)

[circleci-image]: https://circleci.com/gh/unional/standard-log/tree/master.svg?style=shield
[circleci-url]: https://circleci.com/gh/unional/standard-log/tree/master
[codecov-image]: https://codecov.io/gh/unional/standard-log/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/unional/standard-log
[coveralls-image]: https://coveralls.io/repos/github/unional/standard-log/badge.svg
[coveralls-url]: https://coveralls.io/github/unional/standard-log
[downloads-image]: https://img.shields.io/npm/dm/standard-log/core.svg?style=flat
[downloads-url]: https://npmjs.org/package/standard-log/core
[npm-image]: https://img.shields.io/npm/v/standard-log/core.svg?style=flat
[npm-url]: https://www.npmjs.com/package/standard-log/core
[travis-image]: https://travis-ci.com/unional/standard-log.svg?branch=master
[travis-url]: https://travis-ci.com/unional/standard-log?branch=master
npm package: @standard-log/types
Description: Types for `standard-log`
Author: Homa Wong
Latest version: 2.0.0

# @standard-log/types

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

[![Circle CI][circleci-image]][circleci-url]
[![Travis CI][travis-image]][travis-url]
[![Codecov][codecov-image]][codecov-url]
[![Coveralls Status][coveralls-image]][coveralls-url]

Log level logic for [`standard-log`](https://github.com/unional/standard-log)

[circleci-image]: https://circleci.com/gh/unional/standard-log/tree/master.svg?style=shield
[circleci-url]: https://circleci.com/gh/unional/standard-log/tree/master
[codecov-image]: https://codecov.io/gh/unional/standard-log/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/unional/standard-log
[coveralls-image]: https://coveralls.io/repos/github/unional/standard-log/badge.svg
[coveralls-url]: https://coveralls.io/github/unional/standard-log
[downloads-image]: https://img.shields.io/npm/dm/standard-log/types.svg?style=flat
[downloads-url]: https://npmjs.org/package/standard-log/types
[npm-image]: https://img.shields.io/npm/v/standard-log/types.svg?style=flat
[npm-url]: https://www.npmjs.com/package/standard-log/types
[travis-image]: https://travis-ci.com/unional/standard-log.svg?branch=master
[travis-url]: https://travis-ci.com/unional/standard-log?branch=master
npm package: @standard-schema/utils
Description: The official runtime utils for Standard Schema
Author: Fabian Hiller
Latest version: 0.3.0

# Standard Schema Utils

There are two common tasks that third-party libraries perform after validation fails. The first is to flatten the issues by creating a dot path to more easily associate the issues with the input data. This is commonly used in form libraries. The second is to throw an error that contains all the issue information. To simplify both tasks, Standard Schema also ships a utils package that provides a `getDotPath` function and a `SchemaError` class.

```sh
npm install @standard-schema/utils   # npm
yarn add @standard-schema/utils      # yarn
pnpm add @standard-schema/utils      # pnpm
bun add @standard-schema/utils       # bun
deno add jsr:@standard-schema/utils  # deno
```

## Get Dot Path

To generate a dot path, simply pass an issue to the `getDotPath` function. If the issue does not contain a path or the path contains a key that is not of type `string` or `number`, the function returns `null`.

```ts
import type { StandardSchemaV1 } from "@standard-schema/spec";
import { getDotPath } from "@standard-schema/utils";

async function getFormErrors(schema: StandardSchemaV1, data: unknown) {
  const result = await schema["~standard"].validate(data);
  const formErrors: string[] = [];
  const fieldErrors: Record<string, string[]> = {};
  if (result.issues) {
    for (const issue of result.issues) {
      const dotPath = getDotPath(issue);
      if (dotPath) {
        if (fieldErrors[dotPath]) {
          fieldErrors[dotPath].push(issue.message);
        } else {
          fieldErrors[dotPath] = [issue.message];
        }
      } else {
        formErrors.push(issue.message);
      }
    }
  }
  return { formErrors, fieldErrors };
}
```

## Schema Error

To throw an error that contains all issue information, simply pass the issues of the failed schema validation to the `SchemaError` class. The `SchemaError` class extends the `Error` class with an `issues` property that contains all the issues.

```ts
import type { StandardSchemaV1 } from "@standard-schema/spec";
import { SchemaError } from "@standard-schema/utils";

async function validateInput<TSchema extends StandardSchemaV1>(
  schema: TSchema,
  data: unknown,
): Promise<StandardSchemaV1.InferOutput<TSchema>> {
  const result = await schema["~standard"].validate(data);
  if (result.issues) {
    throw new SchemaError(result.issues);
  }
  return result.value;
}
```
npm package: @standard-software/copipe
Description: simple code parts
Author: Satoshi Yamamoto
Latest version: 1.2.3

# Copipe.js
simple code parts

## URL
standard-software/Copipe.js: simple code parts  
https://github.com/standard-software/copipejs

@standard-software/copipe - npm  
https://www.npmjs.com/package/@standard-software/copipe


## for node webpack etc.. 

### npm install
    npm i @standard-software/copipe

### How to use type CommonJS

```
// index.js
const copipe = require("@standard-software/copipe");

console.log(
  'copipe.VERSION', copipe.VERSION
);
```
    node index.js

### How to use type ES Modules

```
// index.mjs
import copipe from '@standard-software/copipe';

console.log(
  'copipe.VERSION', copipe.VERSION
);
```
    node --experimental-modules index.mjs

## for web

### Setting to use Debug Version

```
<script>
  var require = function() {
    return copipe;
  };
  var module = {};
</script>
  <script src="../copipe_core.js"></script>
  <script src="../copipe_console.js"></script>
  <script src="../copipe_polyfill.js"></script>
<script>
  console.log(copipe.VERSION);
</script>
```
- refer to ./debug/web/test/test_debug_copipe.html

### Setting to use Release Version

```
<script>
  var module = {};
</script>
  <script src="../copipe.js"></script>
<script>
  console.log(copipe.VERSION);
</script>
```
- refer to ./release/web/test/test_release_copipe.html

## for WSH(Window Scripting Host / Windows10)

### Setting to use Debug Version

- refer to ./debug/wsh/test/test_debug_copipe.wsf

### Setting to use Release Version

- refer to ./release/wsh/test/test_release_copipe.wsf


## Version

### 2.0.0
#### 2019/09/26(Thu)
Next Product  
[standard-software / Parts.js](https://github.com/standard-software/partsjs)

### 1.2.3
#### 2019/09/26(Thu)
- document update

### 1.2.2
#### 2019/09/26(Thu)
- document update

### 1.2.1
#### 2019/06/09(Sun)
- update parameter args
  numberToString, stringToNumber, stringToInteger
  string.includes, string.matchFormat

### 1.2.0
#### 2019/06/08(Sat)
- add numberToString, stringToNumber, stringToInteger
- add isNaNStrict
- add matchFormat

### 1.1.0
#### 2019/06/06(Thu)
- update isThrown no args thrown value.
- update compare.match
- update string.include and consoleHook
- add Polyfill statsWith endsWith
- update compare.equal or
- add compare.matchValue defaultValue

### More Info
[VERSION_EN.md](./VERSION_EN.md)
npm package: @standardbeagle/dart-query
Description: Production-ready MCP server for Dart AI task management with batch operations, SQL-like selectors, CSV import, and zero context rot
Author: StandardBeagle
Latest version: 0.8.2

# dart-query

MCP server for [Dart AI](https://dartai.com) task management, optimized for batch operations and minimal context usage.

Instead of looping through tasks one-by-one (filling your context window with intermediate JSON), dart-query uses DartQL selectors and server-side batch operations to update hundreds of tasks in a single call. A 50-task update that would normally consume ~30K tokens takes ~200 tokens with zero context rot.

## Quick Start

### 1. Get Your Dart AI Token

Visit https://app.dartai.com/?settings=account and copy your token (starts with `dsa_`).

### 2. Configure MCP

**npx (recommended)**

```json
{
  "mcpServers": {
    "dart-query": {
      "command": "npx",
      "args": ["-y", "@standardbeagle/dart-query"],
      "env": {
        "DART_TOKEN": "dsa_your_token_here"
      }
    }
  }
}
```

**SLOP-MCP (v0.10.0+)**

```bash
slop register dart-query \
  --command npx \
  --args "-y" "@standardbeagle/dart-query" \
  --env DART_TOKEN=dsa_your_token_here \
  --scope user
```

### 3. Verify

```
info({ level: "overview" })
```

### 4. Example: Batch Update

```typescript
// Preview first
batch_update_tasks({
  selector: "dartboard = 'Engineering' AND priority = 'high'",
  updates: { status: "Doing" },
  dry_run: true
})

// Execute
batch_update_tasks({
  selector: "dartboard = 'Engineering' AND priority = 'high'",
  updates: { status: "Doing" },
  dry_run: false
})
```

## Tools

| Group | Tools | Purpose |
|-------|-------|---------|
| Discovery | `info`, `get_config` | Explore capabilities, workspace config |
| Task CRUD | `create_task`, `get_task`, `update_task`, `delete_task`, `add_task_comment` | Single task operations |
| Query | `list_tasks`, `search_tasks` | Find tasks with filters or full-text search |
| Batch | `batch_update_tasks`, `batch_delete_tasks`, `get_batch_status` | Bulk operations with DartQL selectors |
| Import | `import_tasks_csv` | Bulk create from CSV with validation |
| Docs | `list_docs`, `create_doc`, `get_doc`, `update_doc`, `delete_doc` | Document management |

See **[TOOLS.md](./TOOLS.md)** for full parameter references, DartQL syntax, and CSV import format.

## DartQL Selectors

SQL-like WHERE clauses for targeting tasks in batch operations:

```sql
dartboard = 'Engineering' AND priority = 'high' AND tags CONTAINS 'bug'
due_at < '2026-01-18' AND status != 'Done'
title LIKE '%auth%'
```

## Safety

All Dart AI operations are production (no sandbox). dart-query provides:

- **Dry-run mode** on all batch operations — preview before executing
- **Validation phase** for CSV imports — catch errors before creating anything
- **Confirmation flag** (`confirm: true`) required for batch deletes
- **Recoverable deletes** — tasks move to trash, not permanent deletion

## License

MIT
npm package: @standardbeagle/devtool-mcp
Description: DEPRECATED: This package has been renamed to @standardbeagle/agnt. Please switch to the new package.
Author: Standard Beagle
Latest version: 0.6.0

# @standardbeagle/devtool-mcp

> **DEPRECATED**: This package has been renamed to [@standardbeagle/agnt](https://www.npmjs.com/package/@standardbeagle/agnt).

## Migration

```bash
npm uninstall @standardbeagle/devtool-mcp
npm install -g @standardbeagle/agnt
```

## What Changed?

The package has been rebranded from `devtool-mcp` to `agnt` to better reflect its purpose as an AI coding agent toolkit.

All functionality remains the same. The `devtool-mcp` command will continue to work through this wrapper, but new features and updates will only be published to `@standardbeagle/agnt`.

## New Package

Visit [@standardbeagle/agnt](https://github.com/standardbeagle/agnt) for:

- Latest documentation
- New features
- Bug fixes
- Community support
npm package: @standardbeagle/mcp-debug
Description: A debugging and development tool for MCP servers with hot-swapping, session recording, and automated playback testing
Author: StandardBeagle
Latest version: 1.1.6

# MCP Debug

<!-- mcp-name: io.github.standardbeagle/mcp-debug -->

A debugging and development tool for [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) servers.

## Installation

```bash
# Run directly with npx (recommended)
npx @standardbeagle/mcp-debug --help

# Or install globally
npm install -g @standardbeagle/mcp-debug
mcp-debug --help
```

## Features

- **Hot-Swap Development** - Replace server binaries without disconnecting MCP clients
- **Session Recording & Playback** - Record JSON-RPC traffic for debugging and testing
- **Development Proxy** - Multi-server aggregation with tool prefixing
- **Dynamic Server Management** - Add/remove servers at runtime

## Quick Start

```bash
# Start proxy with config
npx @standardbeagle/mcp-debug --proxy --config config.yaml

# Record a session
npx @standardbeagle/mcp-debug --proxy --config config.yaml --record session.jsonl

# Playback recorded requests
npx @standardbeagle/mcp-debug --playback-client session.jsonl | ./your-mcp-server
```

## Programmatic Usage

```javascript
const { binaryPath } = require("@standardbeagle/mcp-debug");
const { spawn } = require("child_process");

const child = spawn(binaryPath, ["--proxy", "--config", "config.yaml"]);
```

## Documentation

See the [GitHub repository](https://github.com/standardbeagle/mcp-debug) for full documentation.

## License

MIT License
npm package: @standardbeagle/ps-claude
Description: Windows PowerShell wrapper for Claude CLI
Latest version: 1.2.1

# ps-claude

A Windows PowerShell wrapper for the Claude CLI tool that bridges Windows environments with WSL (Windows Subsystem for Linux). You must have already have installed claude in your default WSL2 distro.

## What it does

`ps-claude` allows you to run the Claude CLI from Windows PowerShell/Command Prompt by automatically:
- Converting Windows paths to WSL mount paths (`C:\path` → `/mnt/c/path`)
- Launching WSL with proper environment
- Forwarding all arguments to Claude CLI
- Maintaining interactive I/O streams

## Installation

### One-line PowerShell Install
```powershell
iwr -useb https://github.com/standardbeagle/ps-claude/releases/latest/download/ps-claude.exe -outfile ps-claude.exe
```

### NPM Install
```bash
npm install -g @standardbeagle/ps-claude
```

## Usage

Once installed, use `ps-claude` exactly like you would use `claude`:

```powershell
# Start Claude
ps-claude

# Pass arguments
ps-claude --help
ps-claude -p "Hello Claude"

# Works from any Windows directory
cd C:\MyProject
ps-claude
```

## Requirements

- Windows 10/11 with WSL enabled
- Claude CLI installed in WSL environment
- Go 1.19+ (for building from source)

## Building from Source

```bash
make build
```

Or manually:
```bash
GOOS=windows GOARCH=amd64 go build -o ps-claude.exe
```

## How it Works

1. Detects current Windows working directory
2. Converts path to WSL mount format (`/mnt/c/...`)
3. Launches WSL with interactive bash session
4. Locates Claude CLI in WSL environment
5. Forwards all arguments and maintains I/O streams