open-index/open-npm huggingface dataset:
npm package: @prestojs/final-form
Description: Integration with [react-final-form](https://github.com/final-form/react-final-form) that fills out the widget to use based on a ViewModel field.
Latest version: 0.0.37

# React Final Form Integration

Integration with [react-final-form](https://github.com/final-form/react-final-form) that fills out
the widget to use based on a ViewModel field.

TODO: Review/expand this once interface settled

## Basic usage

```js
import React from 'react';
import { Form } from '@prestojs/final-form';

function UserForm(onSubmit) {
    return (
        <Form onSubmit={onSubmit}>
            <Form.Item field={User.fields.firstName} />
            <Form.Item field={User.fields.lastName} />
            <Form.Item field={User.fields.email} />
            <Form.Item field={User.fields.email} name="emailConfirmation" label="Confirm Email" />
            <Form.Item>
                <Form.Field name="signUpNewsletter">
                    {({ input }) => <Checkbox {...input}>Sign up to newsletter?</Checkbox>}
                </Form.Field>
            </Form.Item>
            <button type="submit">Submit</button>
        </Form>
    );
}
```
npm package: @prestojs/routing
Description: Provides base primitives for dealing with routing.
Latest version: 0.0.37

# Routing

Provides base primitives for dealing with routing.

## Define URL Patterns

See [path-to-regexp](https://github.com/pillarjs/path-to-regexp) for more details on
accepted format for pattern definitions.

```js
import { UrlPattern } from '@prestojs/routing';
const userList = new UrlPattern('/users/');
const userDetail = new UrlPattern('/users/:id/');

// Resolve to a URL
userList.resolve();
// /users/
userDetail.resolve({ id: 5 });
// /users/5/
// Optionally add query parameters
url.resolve({ id: 5 }, { query: { showAddresses: true } });
// /users/5/?showAddresses=true
```

## Define named URLs

This allows you to lookup URLs based on a name

```js
// urls.js
import { NamedUrlPatterns, UrlPattern } from '@prestojs/routing';

export default new NamedUrlPatterns({
    'user-list': new UrlPattern('/users/'),
    'user-detail': new UrlPattern('/users/:id/'),
});

// ... elsewhere
import namedUrls from '../urls.js';

namedUrls.resolve('user-list');
// /users/
namedUrls.resolve('user-detail', { id: 5 }, { query: { showAddresses: true } });
// /users/5/?showAddresses=true

// Or to get the pattern direclty without resolving URL
namedUrls.get('user-list');
// UrlPattern('/users/')
```
npm package: @prestojs/ui
Description: Base types and components for UI integration with prestojs.
Latest version: 0.0.37

# UI

Base types and components for UI integration with prestojs.

To use wrap your app with the `UiProvider`:

```js
import { render } from 'react-dom';
import { UiProvider } from '@prestojs/ui';
import { getWidgetForField as getDateWidget } from 'customdatepackage';
import { getWidgetForField as getAntdWidget } from '@prestojs/ui-antd';

import App from './App';

function getWidgetForField(field) {
    // Add any app specific customisations here
    if (field instanceof BooleanField) {
        return CustomBooleanWidget;
    }
    // Otherwise fall back to specific UI library defaults
    let widget;
    if ((widget = getDateWidget(field))) return widget;
    if ((widget = getAntdWidget(field))) return widget;

    // Fall through to any parent UiProvider. If there is none or they
    // don't provide a widget for this field then an error will be thrown
}

render(
    <UiProvider getWidgetForField={getWidgetFromField}>
        <App />
    </UiProvider>,
    document.getElementById('root')
);
```
npm package: @prestonarnold/config
Description: An easy to use configuration management library for Node.js applications.
Latest version: 1.0.0

# @prestonarnold/config

An easy to use configuration management library for Node.js applications.

## Usage

```typescript
import { validate } from "@prestonarnold/validate";
import { createConfig } from "@prestonarnold/config";

const userSchema = validate.object({
    PORT: validate.number().default(3000),
    NODE_ENV: validate.string().default("development"),
});

const config = createConfig({
    schema: userSchema,
    validator: (data, schema) => {
        const res = schema.parse(data);
        if (!res.success) throw new Error(res.errors.join(", "));
        return res.data;
    },
    sources: [
        'env', // process.env
        'file:.env', // dotenv
    ],
})

console.log(config.get('PORT'));
console.log(config.get('NODE_ENV'));
console.log(config.all());
```
npm package: @prestonarnold/core
Description: Core runtime and command system for the Termina CLI / TUI framework.
Latest version: 0.0.0

# @termina/core

Core runtime and command system for the Termina CLI / TUI framework.

State: no command-line parser yet

### Installation

```bash
npm install @termina/core
```

### Usage

```typescript
import { createRunner } from "@termina/core";

const termina = createRunner();

termina.command("hello", () => console.log("Hello from termina!"));
```
npm package: @prestonarnold/events
Description: A lightweight, async event bus for TypeScript/JavaScript applications.
Latest version: 1.0.2

# @prestonarnold/events

A lightweight, async event bus for TypeScript/JavaScript applications.

## Installation
```bash
npm install @prestonarnold/events
```
OR
```bash
yarn add @prestonarnold/events
```

## Explicit API Example
```typescript
import { createEventBus } from "@prestonarnold/events";

const bus = createEventBus<{
  "user:login": { userId: string };
  "user:logout": { userId: string };
}>();

const userModule = {
  async handleLogin({ userId }: { userId: string }) {
    console.log("[Explicit] User logged in:", userId);
  },
  logAll(event: string, payload: any) {
    console.log("[Explicit][ALL]", event, payload);
  }
};

bus.on("user:login", userModule.handleLogin.bind(userModule));
bus.onAll(userModule.logAll.bind(userModule));

(async () => {
  await bus.emit("user:login", { userId: "123" });
})();
```

## Decorator API Example
```typescript
import { createEventBus } from "@prestonarnold/events";
import { on, onAll } from "@prestonarnold/events/decorators";

const bus = createEventBus<{
  "user:login": { userId: string };
  "user:logout": { userId: string };
}>();

class UserModuleDecorated {
  @on(bus, "user:login")
  async handleLogin({ userId }: { userId: string }) {
    console.log("[Decorator] User logged in:", userId);
  }

  @onAll(bus)
  logAll(event: string, payload: any) {
    console.log("[Decorator][ALL]", event, payload);
  }
}

const _ = new UserModuleDecorated();

(async () => {
  await bus.emit("user:login", { userId: "456" });
})();
```
npm package: @prestonarnold/log
Description: A logging library, built with TypeScript.
Author: Preston Arnold
Latest version: 1.0.2

# @prestonarnold/log

A simple, OOP logger for Node.js and the browser.

## Installation

```bash
npm install @prestonarnold/log
```
OR
```bash
yarn add @prestonarnold/log
```

## Usage

```typescript
import { Logger, colour } from "@prestonarnold/log";

const logger = new Logger({
    prefix: "My Logger",
    showTimestamp: true,
    level: "debug",
    sinks: [console.log], // not required, defaults to console.log
});

// Log messages (with properity colouring)
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warning message");
logger.error("This is an error message");

// Log messages (with custom colouring)
logger.debug(colour.red("This is a debug message"));
logger.info(colour.green("This is an info message"));
logger.warn(colour.yellow("This is a warning message"));
logger.error(colour.red("This is an error message"));
```
npm package: @prestonarnold/validate
Description: A lightweight, type-safe validation library for TypeScript.
Author: Preston Arnold
Latest version: 2.3.0

# @prestonarnold/validate

A lightweight, type-safe validation library for TypeScript.

## Installation

```bash
npm install @prestonarnold/validate
```
OR
```bash
yarn add @prestonarnold/validate
```

## Usage

```typescript
import { validate } from '@prestonarnold/validate';

const userSchema = validate.object({
  name: validate.string().min(1),
  age: validate.number().min(0).int()
});

const result = userSchema.parse({ name: "Preston", age: 16 });
if (result.success) {
  console.log(result.data);  // { name: "Preston", age: 16 }
}

```
## Defaults

```typescript
import { validate } from '@prestonarnold/validate';

const schema = validate.object({
  name: validate.string().min(1).default("John"),
  age: validate.number().min(0).int().default(50)
});

const res = schema.parse({});
// { success: true, data: { name: "John", age: 50 } }

```

## API

```typescript
validate.object(shape: Record<string, BaseSchema<any>>): ObjectSchema<Shape>
validate.string(): StringSchema
validate.number(): NumberSchema
```

## License
MIT
npm package: @prestyj/ai
Description: Unified LLM streaming API for Anthropic and OpenAI
Latest version: 4.3.15

# @prestyj/ai

<p align="center">
  <strong>Unified LLM streaming API. Four providers. One interface.</strong>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@prestyj/ai"><img src="https://img.shields.io/npm/v/@prestyj/ai?style=for-the-badge" alt="npm version"></a>
  <a href="../../LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge" alt="MIT License"></a>
</p>

One function. Flat options. Switch providers by changing a string. No adapters, no plugins, no wrapper classes.

Part of the [EZCoder Framework](../../README.md) monorepo.

---

## Install

```bash
npm i @prestyj/ai
```

---

## How it works

Call `stream()` with a provider, model, and messages. That's the entire API.

- **`for await`** gives you streaming events (`text_delta`, `thinking_delta`, `toolcall_done`, etc.)
- **`await`** gives you the final response (`message`, `stopReason`, `usage`)

Same function, same call. Dual-nature `StreamResult` — async iterable and thenable.

Tool parameters are Zod schemas. Converted to JSON Schema at the provider boundary automatically.

---

## Providers

| Provider | Models | Notes |
|---|---|---|
| `anthropic` | Claude Opus 4.6, Sonnet 4.6, Haiku 4.5 | Extended thinking, prompt caching, server-side compaction |
| `openai` | GPT-4.1, o3, o4-mini | Supports OAuth (codex endpoint) and API keys |
| `glm` | GLM-5.1, GLM-4.7 | Z.AI platform, OpenAI-compatible |
| `moonshot` | Kimi K2.5 | Moonshot platform, OpenAI-compatible |

---

## Stream events

| Event | Description |
|---|---|
| `text_delta` | Incremental text output |
| `thinking_delta` | Extended thinking output (Anthropic) |
| `toolcall_delta` | Streaming tool call arguments |
| `toolcall_done` | Completed tool call with parsed args |
| `server_toolcall` | Server-side tool invocation |
| `server_toolresult` | Server-side tool result |
| `done` | Stream finished, includes stop reason |
| `error` | Error occurred |

---

## Options

| Option | Type | Description |
|---|---|---|
| `provider` | `"anthropic" \| "openai" \| "glm" \| "moonshot"` | Required |
| `model` | `string` | Required |
| `messages` | `Message[]` | Required |
| `tools` | `Tool[]` | Tool definitions with Zod schemas |
| `toolChoice` | `"auto" \| "none" \| "required" \| { name }` | Tool selection strategy |
| `serverTools` | `ServerToolDefinition[]` | Server-side tool definitions |
| `maxTokens` | `number` | Max output tokens |
| `temperature` | `number` | Sampling temperature |
| `topP` | `number` | Nucleus sampling |
| `stop` | `string[]` | Stop sequences |
| `thinking` | `"low" \| "medium" \| "high" \| "max"` | Extended thinking (Anthropic) |
| `apiKey` | `string` | Provider API key |
| `baseUrl` | `string` | Custom endpoint |
| `signal` | `AbortSignal` | Cancellation |
| `cacheRetention` | `"none" \| "short" \| "long"` | Prompt cache preference |
| `compaction` | `boolean` | Server-side compaction (Anthropic only) |

---

## License

MIT
npm package: @preszhou/ivue-ui
Description: some vue components based on iview from projects
Author: zhoucumt
Latest version: 0.1.4

# iview-ui

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Run your tests
```
npm run test
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @pret/contract-helpers
Description: **disclaimer**: this package is highly unstable. Once we reach a certain level of stability, we'll bump the version to 1.x and add appropriate documentation.
Latest version: 0.27.6

# @aave/contract-helpers

**disclaimer**: this package is highly unstable. Once we reach a certain level
of stability, we'll bump the version to 1.x and add appropriate documentation.

The `@aave/contract-helpers` package offers a set of services which allow
querying aggregated on-chain data via rpc.

## Installation

Install the package in your project directory with:

```sh
// with npm
npm install @aave/contract-helpers

// with yarn
yarn add @aave/contract-helpers
```