open-index/open-npm huggingface dataset:
npm package: @hanzo/zap
Description: ZAP — Zero-copy Agent Protocol. Hanzo-branded wrapper over @zap-proto/zap.
Author: Hanzo AI
Latest version: 1.0.0

# @hanzo/zap

Zero-copy Agent Protocol (ZAP) SDK for TypeScript/JavaScript.

**1000x faster than MCP/JSON-RPC** through binary wire protocol with zero-copy serialization.

## Installation

```bash
npm install @hanzo/zap
# or
pnpm add @hanzo/zap
```

## Quick Start

### Client

```typescript
import { ZapClient } from '@hanzo/zap';

// Connect to a ZAP server
const client = await ZapClient.connect('zap://localhost:9999');

// List available tools
const tools = await client.listTools();
console.log('Tools:', tools.map(t => t.name));

// Call a tool
const result = await client.callTool('read_file', { path: 'README.md' });
console.log('Content:', result.content);

// Batch multiple calls
const results = await client.batch([
  { name: 'read_file', args: { path: 'package.json' } },
  { name: 'git_status', args: {} },
]);

// Clean up
await client.close();
```

### Server

```typescript
import { ZapServer } from '@hanzo/zap';

const server = new ZapServer({
  name: 'my-tools',
  version: '1.0.0',
});

// Register a tool
server.registerTool({
  name: 'greet',
  description: 'Greet someone by name',
  inputSchema: {
    type: 'object',
    properties: {
      name: { type: 'string', description: 'Name to greet' },
    },
    required: ['name'],
  },
  handler: async ({ name }) => `Hello, ${name}!`,
});

// Start server
await server.listen(9999);
console.log('ZAP server listening on port 9999');
```

## Wire Protocol

ZAP uses a simple length-prefixed binary format:

```
+----------+----------+------------------+
| Length   | MsgType  | Payload          |
| (4 bytes)| (1 byte) | (variable)       |
| LE u32   |          | JSON             |
+----------+----------+------------------+
```

## API

### ZapClient

- `ZapClient.connect(url)` - Connect to server
- `client.listTools()` - List available tools
- `client.callTool(name, args)` - Call a tool
- `client.batch(calls)` - Call multiple tools
- `client.ping()` - Check connection
- `client.close()` - Close connection

### ZapServer

- `new ZapServer({ name, version })` - Create server
- `server.registerTool({ name, description, inputSchema, handler })` - Register tool
- `server.listen(port, options)` - Start listening
- `server.close()` - Stop server

## Policies

```typescript
import { ApprovalPolicy, SandboxPolicy } from '@hanzo/zap';

// Approval policies (when to ask for human approval)
ApprovalPolicy.UnlessTrusted  // Only auto-approve known-safe reads
ApprovalPolicy.OnFailure      // Auto-approve, escalate on failure
ApprovalPolicy.OnRequest      // Model decides (default)
ApprovalPolicy.Never          // Never ask

// Sandbox policies
const sandbox: SandboxPolicy = {
  mode: 'workspace-write',
  writableRoots: ['/home/user/project'],
  networkAccess: true,
};
```

## License

MIT - Hanzo AI Inc.
npm package: @hanzogui/animations-motion
Description: Motion animation driver for Hanzo GUI, powered by the [Motion](https://motion.dev) library and the Web Animations API (WAAPI).
Latest version: 4.3.1

# @hanzogui/animations-motion

Motion animation driver for Hanzo GUI, powered by the [Motion](https://motion.dev) library and the Web Animations API (WAAPI).

## Features

- **Hybrid Engine**: Combines JavaScript animations with native WAAPI for GPU-accelerated performance
- **Spring Physics**: Natural, physics-based animations with intuitive `damping`, `stiffness`, and `mass` parameters
- **Independent Transforms**: Animate `x`, `y`, `scale`, `rotate` properties separately with different configurations
- **Compositor Thread**: Runs animations smoothly even when the main thread is busy
- **Web-Only**: Optimized for modern web browsers with WAAPI support

## Installation

```bash
yarn add @hanzogui/animations-motion motion
```

## Usage

Add to your Hanzo GUI configuration:

```tsx
import { createAnimations } from '@hanzogui/animations-motion'
import { createGui } from '@hanzo/gui'

export default createGui({
  animations: createAnimations({
    bouncy: {
      type: 'spring',
      damping: 9,
      mass: 0.9,
      stiffness: 150,
    },
    quick: {
      type: 'spring',
      damping: 20,
      mass: 1.2,
      stiffness: 250,
    },
    '100ms': {
      duration: 100,
    },
  }),
  // ...
})
```

## Animation Types

### Spring Animations

```tsx
{
  type: 'spring',
  damping: 10,    // Higher = less bouncy
  stiffness: 100, // Higher = faster
  mass: 1,        // Higher = more inertia
}
```

### Tween Animations

```tsx
{
  duration: 200, // Duration in milliseconds
}
```

## Documentation

For complete documentation, see the [Gui Animations docs](https://gui.hanzo.ai/docs/core/animations).
npm package: @hanzogui/expo-config-plugins
Description: A library for Expo config plugins
Latest version: 10.1.1-fork.1

<!-- Title -->
<h1 align="center">
👋 Welcome to <br><code>@expo/config-plugins</code>
</h1>

<p align="center">A powerful tool for generating native app code from a unified JavaScript interface.</p>

<p align="center">
  <img src="https://flat.badgen.net/packagephobia/install/@expo/config-plugins">

  <a href="https://www.npmjs.com/package/@expo/config-plugins">
    <img src="https://flat.badgen.net/npm/dw/@expo/config-plugins" target="_blank" />
  </a>
</p>

<!-- Body -->

Most basic functionality can be controlled by using the [static Expo config](https://docs.expo.dev/versions/latest/config/app/), but some features require manipulation of the native project files. To support complex behavior we've created config plugins, and mods (short for modifiers).

For more info, please refer to the official Expo docs: [Config Plugins](https://docs.expo.dev/config-plugins/introduction/).

## Environment Variables

### `EXPO_DEBUG`

Print debug information related to static plugin resolution.

### `EXPO_CONFIG_PLUGIN_VERBOSE_ERRORS`

Show all error info related to static plugin resolution. Requires `EXPO_DEBUG` to be enabled.

### `EXPO_USE_UNVERSIONED_PLUGINS`

Force using the fallback unversioned plugins instead of a local versioned copy from installed packages, this should only be used for testing the CLI.
npm package: @hanzogui/immer
Description: Create your next immutable state by mutating the current one
Author: Michel Weststrate
Latest version: 9.0.21-fork.1

<img src="images/immer-logo.svg" height="200px" align="right"/>

# Immer

[![npm](https://img.shields.io/npm/v/immer.svg)](https://www.npmjs.com/package/immer) [![Build Status](https://travis-ci.org/immerjs/immer.svg?branch=main)](https://travis-ci.org/immerjs/immer) [![Coverage Status](https://coveralls.io/repos/github/mweststrate/immer/badge.svg?branch=main)](https://coveralls.io/github/mweststrate/immer?branch=main) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![OpenCollective](https://opencollective.com/immer/backers/badge.svg)](#backers) [![OpenCollective](https://opencollective.com/immer/sponsors/badge.svg)](#sponsors) [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/immerjs/immer)

_Create the next immutable state tree by simply modifying the current tree_

Winner of the "Breakthrough of the year" [React open source award](https://osawards.com/react/) and "Most impactful contribution" [JavaScript open source award](https://osawards.com/javascript/) in 2019

## Contribute using one-click online setup

You can use Gitpod (a free online VS Code like IDE) for contributing online. With a single click it will launch a workspace and automatically:

- clone the immer repo.
- install the dependencies.
- run `yarn run start`.

so that you can start coding straight away.

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)

## Documentation

The documentation of this package is hosted at https://immerjs.github.io/immer/

## Support

Did Immer make a difference to your project? Join the open collective at https://opencollective.com/immer!

## Release notes

https://github.com/immerjs/immer/releases