open-index/open-npm huggingface dataset:
npm package: @proto-kit/protocol
Description: Protocol contains to all circuit-aware data types and provers
Latest version: 0.1.1-develop.2137

# YAB: Protocol

Protocol contains to all circuit-aware data types and provers

### StateTransitionProver

The StateTransitionProver takes a list of StateTransitions, checks and proves their precondition and update to the respective merkletree represented by the state root public input.

In the public input, the prover transitions from two fields:

- state root
- transitions hash

The transitions hash is the commitment to a hash list where every state transition gets appended one-by-one.

The StateTransitionsProver batches the application of multiple state transitions together.
If the amount of state transitions if greater than the batch size, the seperate proofs can be merged together.

In the end, the publicInput of the StateTransitionProof should contain the following content:

- `fromTransitionsHash: 0` To prove that all STs have been applied, the transitionsHash must start at zero (i.e. a empty hash list)
- `toTransitionsHash` This value must be the same as the transitionsHash in the AppChainProof to guarantee that all (and same) statetransitions that have been outputted by the AppChain have been applied
- `from- and toStateRoot` These values represent the root of the state tree and will later be stitched together to arrive at the final stateroot for a bundle

### BlockProver

The BlockProver's responsibility is to verify and put together the AppChainProof and StateTransitionProof.
It verifies that the transitionsHash is the same across both proofs and then takes the new state root proved by the STProof.

In the end, the BlockProof proofs that:

- the AppChain has been executed correctly
- the resulting state changes have been applied correctly and fully to the state root

Multiple BlockProofs will then be merged together, signed by the sequencer and published to the base layer.

### RollupMerkleTree

The RollupMerkleTree is a custom merkle tree implementation that supports the injection of a storage adapter.
The interface for that adapter can be found as the interface `MerkleTreeStorage`.

Adapters can implement any storage backend, like In-Memory and Database, and supports a process called "virtualization".
Virtualization is the process of layering different Adapters on top of each other.
For example if I want to simulate some transactions to a merkle tree, I can virtualize a database adapter into a MemoryAdapter.
If I am happy with the result, I can merge the results into the database or, if not, discard them without writing the changes to the database.
npm package: @proto-kit/sdk
Description: SDK for developing privacy enabled application chains.
Latest version: 0.1.1-develop.2137

# YAB: SDK

SDK for developing privacy enabled application chains.

To use an appchain, you should use the following syntax as provided by this example:

```typescript
const appChain = AppChain.from({
  sequencer: Sequencer.from({
    graphql: GraphQLServerModule,
  }),

  runtime: Runtime.from({
    runtimeModules: {
      admin: Admin,
    },

    state: new InMemoryStateService(),
  }),
});

appChain.configure({
  sequencer: {
    graphql: {
      port: 8080,
    },
  },

  runtime: {
    admin: {
      publicKey: "123",
    },
  },
});

await appChain.start();
```

The AppChain takes two arguments, a Runtime and a Sequencer.

1. The Runtime holds all modules that have provable code.
   In a nutshell, all "smart contract" logic that a developer wants to create for their rollup.
   For more documentation on Runtime, please refer to @protokit/module

2. The Sequencer definition.
   A sequencer is responsible for all services that interact with the Runtime, but are not provable code itself.
   That could be a GraphQL interface, P2P networking layer, database layer, ...
npm package: @proto-kit/sequencer
Description: This package includes everything that is required to run a sequencer
Latest version: 0.1.1-develop.2137

# YAB: Sequencer

This package includes everything that is required to run a sequencer

## Sequencer

A Sequencer is structure similar to a Runtime.
It is given a list of SequencerModules, that are then dynamically instantiated and resolved by the Sequencer.
When calling `.start()` on a sequencer, the sequencer starts up all the modules and exposes the services provided by them.

### Sequencer modules

A Sequencer module is an abstract class that needs to be extended by any concrete sequencer module implementation(s).

```typescript
export abstract class SequencerModule<
  Config
> extends ConfigurableModule<Config> {
  public abstract start(): Promise<void>;

  // more properties
}
```

The generic type parameter `Config` refers to the configuration object a module consumes.
More on that below.

The `start()` method is called by the sequencer when it gets started.
It returns a Promise that has to resolve after initialization, since it will block in the sequencer startup.
That means that you mustn't `await server.start()` for example.
npm package: @proto-nexus/google-protobuf
Description: Generate DSL for GraphQL Nexus from Protocol Buffers IDL
Author: izumin5210
Latest version: 0.6.2

# @proto-nexus/google-protobuf

> **⚠️ DEPRECATED**: This package is no longer maintained.
> GraphQL Nexus development has stopped.
> Please consider migrating to [protoc-gen-pothos](https://github.com/proto-graphql/proto-graphql-js/tree/main/packages/protoc-gen-pothos) with [protobuf-es](https://github.com/bufbuild/protobuf-es).

Build GraphQL schema from Protobuf and Nexus.

- repository: https://github.com/proto-graphql/proto-graphql-js
npm package: @proto-nexus/proto-fields-plugin
Description: Nexus plugin for building subset types from proto-nexus's artifacts
Author: izumin5210
Latest version: 0.5.7

# @proto-nexus/proto-fields-plugin

> **⚠️ DEPRECATED**: This package is no longer maintained.
> GraphQL Nexus development has stopped.
> Please consider migrating to [protoc-gen-pothos](https://github.com/proto-graphql/proto-graphql-js/tree/main/packages/protoc-gen-pothos) with [protobuf-es](https://github.com/bufbuild/protobuf-es).

[![npm version](https://badge.fury.io/js/%40proto-nexus%2Fproto-fields-plugin.svg)](https://badge.fury.io/js/%40proto-nexus%2Fproto-fields-plugin) |

Nexus plugin for building subset types from proto-nexus's artifacts

```proto
// profile.proto

message Profile {
  // Required. User's first name.
  string first_name = 1;
  // Required. User's middle name.
  string middle_name = 2;
  // Required. User's last name.
  string last_name = 3;

  // Required.
  string introduction = 4;
}
```

```ts
import { makeSchema, inputObjectType } from "nexus";
import { protoFieldsPlugin } from "@proto-nexus/proto-fields-plugin";

import { ProfileInput } from "./path/to/protoc-gen-plugin-artifacts/profile_pb_nexus.ts";

const NameInput = inputObjectType({
  name: "NameInput",
  definition(t) {
    t.fromProto(ProfileInput, ["firstName", "middleName", "lastName"]);
  }
})

export schema = makeSchema({
  types: [ProfileInput, NameInput],
  plugins: [protoFieldsPlugin()],
})

// # Types will be generated:
//
// input NameInput {
//   """Required. User's first name."""
//   firstName: String!
//
//   """Required. User's middle name."""
//   middleName: String!
//
//   """Required. User's last name."""
//   lastName: String!
// }
//
// input ProfileInput {
//   """Required. User's first name."""
//   firstName: String!
//
//   """Required. User's middle name."""
//   middleName: String!
//
//   """Required. User's last name."""
//   lastName: String!
//
//   """Required."""
//   introduction: String!
// }
```
npm package: @proto-nexus/protobufjs
Description: Generate DSL for GraphQL Nexus from Protocol Buffers IDL
Author: izumin5210
Latest version: 0.6.2

# @proto-nexus/protobufjs

> **⚠️ DEPRECATED**: This package is no longer maintained.
> GraphQL Nexus development has stopped.
> Please consider migrating to [protoc-gen-pothos](https://github.com/proto-graphql/proto-graphql-js/tree/main/packages/protoc-gen-pothos) with [protobuf-es](https://github.com/bufbuild/protobuf-es).

Build GraphQL schema from Protobuf and Nexus.

- repository: https://github.com/proto-graphql/proto-graphql-js
npm package: @proto-ui/l-wrapper.vue
Description: Proto UI - LWrapper
Author: Rainfore
Latest version: 0.6.1

<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成，为了方便在 GitHub 和 NPM 上查阅。如需修改，请查看源文件 -->

# LWrapper 透传页

## 示例
在设置 VueRouter 时，经常会遇到这样的场景：模块需要显示一些内容，往往要重定向到第一个子路由（比如列表页面），而它自身只要配一个什么都不做的容器组件。

它的模板很简单：

``` htm
<div><router-view></router-view></div>
```

### 基本用法

``` js
import { LWrapper } from 'proto-ui.vusion';

{ path: 'blog', component: LWrapper, children: [
    { path: 'list', component: import(/* webpackChunkName: blog */ './list') },
    { path: 'detail', component: import(/* webpackChunkName: blog */ './detail') },
    { path: 'create', component: import(/* webpackChunkName: blog */ './create') },
    { path: 'modify', component: import(/* webpackChunkName: blog */ './modify') },
] };
```

## API

暂无
npm package: @proto-ui/s-logo.vue
Description: 常见的网站标识。
Author: Rainfore
Latest version: 0.6.1

<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成，为了方便在 GitHub 和 NPM 上查阅。如需修改，请查看源文件 -->

# ULogo 标识

**UI 组件**, **行内展示**

常见的网站标识。

## 示例
### 基本用法

``` html
<u-linear-layout>
    <u-logo></u-logo>
    <u-logo color="inverse" href="/proto-ui/" target="_blank"></u-logo>
</u-linear-layout>
```

### 添加副标题

``` html
<u-linear-layout>
    <u-logo href="/proto-ui/">原型组件</u-logo>
    <u-logo color="inverse" href="https://vusion.github.io/icon-sets" target="_blank">图标库</u-logo>
</u-linear-layout>
```

## API

暂无
npm package: @proto-xyz/ui-components
Description: ## Run the below command in terminal
Latest version: 0.0.11

# How to setup

## Run the below command in terminal

```sh
npm run setup
```

## Run the app

To run the app, run one of the below commands

_For development environment:_

```sh
npm run dev
```

_For production environment:_

```sh
npm run preview
```

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: "latest",
    sourceType: "module",
    project: ["./tsconfig.json", "./tsconfig.node.json", "./tsconfig.app.json"],
    tsconfigRootDir: __dirname,
  },
};
```

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
npm package: @proto.email/random-words
Description: Minified version | Generate one or more common English words
Author: Thomas Boutell
Latest version: 1.1.1-min

# random-words

# This is minified version of [@random-words](https://www.npmjs.com/package/random-words) by [Thomas Boutell](https://github.com/boutell)

## Generate one or more common English words

`random-words` generates random words for use as sample text. We use it to generate random blog posts when testing [Apostrophe](http://apostrophecms.org).

Cryptographic-quality randomness is NOT the goal, as speed matters for generating sample text and security does not. `Math.random()` is used.

Installation:

    npm install @proto.email/random-words

Examples:

    var randomWords = require('@proto.email/random-words');

    console.log(randomWords());
    army

    console.log(randomWords(5));
    ['army', 'beautiful', 'became', 'if', 'actually']

    console.log(randomWords({ min: 3, max: 10 }));
    ['became', 'arrow', 'article', 'therefore']

    console.log(randomWords({ exactly: 2 }));
    ['beside', 'between']

    console.log(randomWords({ exactly: 5, join: ' ' }))
    'army beautiful became if exactly'
    
    console.log(randomWords({ exactly: 5, join: '' }))
        'armybeautifulbecameifexactly'

    console.log(randomWords({exactly: 5, maxLength: 4}))
    ['army','come','eye','five','fur']

    console.log(randomWords({exactly:5, wordsPerString:2}))
    [ 'salt practical', 'also brief', 'country muscle', 'neighborhood beyond', 'grew pig' ]

    console.log(randomWords({exactly:5, wordsPerString:2, separator:'-'}))
    [ 'equator-variety', 'salt-usually', 'importance-becoming', 'stream-several', 'goes-fight' ]

    console.log(randomWords({exactly:5, wordsPerString:2, formatter: (word)=> word.toUpperCase()}))
    [ 'HAVING LOAD', 'LOST PINE', 'GAME SLOPE', 'SECRET GIANT', 'INDEED LOCATION' ]

    console.log(randomWords({exactly:5, wordsPerString:2, formatter: (word, index)=> {
        return index === 0 ? word.slice(0,1).toUpperCase().concat(word.slice(1)) : word;
    }}))
    [ 'Until smoke', 'Year strength', 'Pay knew', 'Fallen must', 'Chief arrow' ]
npm package: @proto.ui/adapter-base
Description: Base package for building Proto UI adapters.
Latest version: 0.0.1

# @proto.ui/adapter-base

Base package for building Proto UI adapters.

## Purpose

Provides the base template, shared host wiring, and common runtime bridges for building Proto UI adapters.

## Package Role

Adapter foundation package used to translate Proto UI contracts into concrete host integrations.

## Install

```bash
npm install @proto.ui/adapter-base@0.0.1
```

## Internal Structure

- `src/events/`
- `src/gate/`
- `src/host/`
- `src/index.ts`
- `src/lifecycle/`
- `src/types.ts`
- `src/wiring/`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-anatomy`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-context`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-focus`
- `@proto.ui/module-props`
- `@proto.ui/module-rule-expose-state-web`
- `@proto.ui/module-rule-meta`
- `@proto.ui/runtime`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/adapter-react
Description: Translates Proto UI prototypes into React component functions for use with Proto UI adapters.
Latest version: 0.0.1

# @proto.ui/adapter-react

Translates Proto UI prototypes into React component functions for use with Proto UI adapters.

## Purpose

Translates Proto UI prototypes into React component functions that run through the Proto UI adapter contracts.

## Package Role

Adapter package intended to be used together with Proto UI prototypes and the shared runtime stack.

## Install

```bash
npm install @proto.ui/adapter-react@0.0.1
```

## Internal Structure

- `src/adapt.ts`
- `src/index.ts`
- `src/platform/`
- `src/runtime/`
- `src/template.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/adapter-base`
- `@proto.ui/core`
- `@proto.ui/module-anatomy`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-context`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-expose-state`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-focus`
- `@proto.ui/module-props`
- `@proto.ui/module-rule-expose-state-web`
- `@proto.ui/module-rule-meta`
- `@proto.ui/runtime`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/adapter-vue
Description: Translates Proto UI prototypes into Vue component functions for use with Proto UI adapters.
Latest version: 0.0.1

# @proto.ui/adapter-vue

Translates Proto UI prototypes into Vue component functions for use with Proto UI adapters.

## Purpose

Translates Proto UI prototypes into Vue component functions that run through the Proto UI adapter contracts.

## Package Role

Adapter package intended to be used together with Proto UI prototypes and the shared runtime stack.

## Install

```bash
npm install @proto.ui/adapter-vue@0.0.1
```

## Internal Structure

- `src/adapt.ts`
- `src/index.ts`
- `src/platform/`
- `src/runtime/`
- `src/template.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/adapter-base`
- `@proto.ui/core`
- `@proto.ui/module-anatomy`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-context`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-expose-state`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-focus`
- `@proto.ui/module-props`
- `@proto.ui/module-rule-expose-state-web`
- `@proto.ui/module-rule-meta`
- `@proto.ui/runtime`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/adapter-web-component
Description: Translates Proto UI prototypes into Web Components component functions for use with Proto UI adapters.
Latest version: 0.0.1

# @proto.ui/adapter-web-component

Translates Proto UI prototypes into Web Components component functions for use with Proto UI adapters.

## Purpose

Translates Proto UI prototypes into Web Components component functions that run through the Proto UI adapter contracts.

## Package Role

Adapter package intended to be used together with Proto UI prototypes and the shared runtime stack.

## Install

```bash
npm install @proto.ui/adapter-web-component@0.0.1
```

## Internal Structure

- `src/adapt.ts`
- `src/commit.ts`
- `src/debug/`
- `src/feedback-style.ts`
- `src/host-display.ts`
- `src/index.ts`
- `src/platform/`
- `src/props.ts`
- `src/runtime/`
- `src/slot-projector.ts`
- `src/style.ts`

## Related Internal Packages

- `@proto.ui/adapter-base`
- `@proto.ui/core`
- `@proto.ui/module-context`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-expose-state`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-props`
- `@proto.ui/module-test-sys`
- `@proto.ui/runtime`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/core
Description: Proto UI core syntax and protocol primitives.
Latest version: 0.0.1

# @proto.ui/core

Proto UI core syntax and protocol primitives.

## Purpose

Provides the core authoring syntax, protocol primitives, and shared contracts used across Proto UI packages.

## Package Role

Core package for defining prototypes, handles, template primitives, and protocol-facing developer APIs.

## Install

```bash
npm install @proto.ui/core@0.0.1
```

## Internal Structure

- `src/anatomy.ts`
- `src/as-focus-group.ts`
- `src/as-focus-scope.ts`
- `src/as-focusable.ts`
- `src/as-overlay.ts`
- `src/as-trigger.ts`
- `src/caps/`
- `src/effects/`
- `src/errors/`
- `src/focus.ts`
- `src/handles.ts`
- `src/index.ts`
- `src/module/`
- `src/overlay.ts`
- `src/prototype.ts`
- `src/spec/`
- `src/state.ts`

## Related Internal Packages

- None

## License

MIT
npm package: @proto.ui/module-anatomy
Description: Proto UI module that provides anatomy capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-anatomy

Proto UI module that provides anatomy capability for adapters.

## Purpose

Provides anatomy capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-anatomy@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/error.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-expose`

## License

MIT
npm package: @proto.ui/module-as-trigger
Description: Proto UI module that provides as-trigger capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-as-trigger

Proto UI module that provides as-trigger capability for adapters.

## Purpose

Provides as-trigger capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-as-trigger@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-event`

## License

MIT
npm package: @proto.ui/module-base
Description: Base package for building Proto UI modules.
Latest version: 0.0.1

# @proto.ui/module-base

Base package for building Proto UI modules.

## Purpose

Provides the base template, shared capabilities, and development utilities for building Proto UI modules.

## Package Role

Module foundation package used to implement adapter-facing modules in a consistent way.

## Install

```bash
npm install @proto.ui/module-base@0.0.1
```

## Internal Structure

- `src/caps-vault/`
- `src/create-module.ts`
- `src/index.ts`
- `src/module-base.ts`
- `src/system-caps.ts`

## Related Internal Packages

- `@proto.ui/core`

## License

MIT
npm package: @proto.ui/module-context
Description: Proto UI module that provides context capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-context

Proto UI module that provides context capability for adapters.

## Purpose

Provides context capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-context@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/center.ts`
- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-event
Description: Proto UI module that provides event capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-event

Proto UI module that provides event capability for adapters.

## Purpose

Provides event capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-event@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/error.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/kernel.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-expose
Description: Proto UI module that provides expose capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-expose

Proto UI module that provides expose capability for adapters.

## Purpose

Provides expose capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-expose@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/error.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/kernel.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`

## License

MIT
npm package: @proto.ui/module-expose-state
Description: Proto UI module that provides state expose capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-expose-state

Proto UI module that provides state expose capability for adapters.

## Purpose

Provides state expose capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-expose-state@0.0.1
```

## Internal Structure

- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-expose`
- `@proto.ui/module-state`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-expose-state-web
Description: Proto UI module that provides web state expose capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-expose-state-web

Proto UI module that provides web state expose capability for adapters.

## Purpose

Provides web state expose capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-expose-state-web@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-expose-state`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-feedback
Description: Proto UI module that provides feedback capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-feedback

Proto UI module that provides feedback capability for adapters.

## Purpose

Provides feedback capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-feedback@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`

## License

MIT
npm package: @proto.ui/module-focus
Description: Proto UI module that provides focus capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-focus

Proto UI module that provides focus capability for adapters.

## Purpose

Provides focus capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-focus@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/center.ts`
- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-overlay
Description: Proto UI module that provides overlay capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-overlay

Proto UI module that provides overlay capability for adapters.

## Purpose

Provides overlay capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-overlay@0.0.1
```

## Internal Structure

- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-props
Description: Proto UI module that provides props capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-props

Proto UI module that provides props capability for adapters.

## Purpose

Provides props capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-props@0.0.1
```

## Internal Structure

- `src/.DS_Store`
- `src/caps.ts`
- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/kernel/`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-rule
Description: Proto UI module that provides rule capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-rule

Proto UI module that provides rule capability for adapters.

## Purpose

Provides rule capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-rule@0.0.1
```

## Internal Structure

- `src/compile.ts`
- `src/create.ts`
- `src/eval.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/intent-builder.ts`
- `src/types.ts`
- `src/when-builder.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-context`
- `@proto.ui/module-feedback`
- `@proto.ui/module-props`
- `@proto.ui/module-state`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-rule-expose-state-web
Description: Proto UI module that provides rule-based web state expose capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-rule-expose-state-web

Proto UI module that provides rule-based web state expose capability for adapters.

## Purpose

Provides rule-based web state expose capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-rule-expose-state-web@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-rule`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-rule-meta
Description: Proto UI module that provides rule metadata capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-rule-meta

Proto UI module that provides rule metadata capability for adapters.

## Purpose

Provides rule metadata capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-rule-meta@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-rule`

## License

MIT
npm package: @proto.ui/module-state
Description: Proto UI module that provides state capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-state

Proto UI module that provides state capability for adapters.

## Purpose

Provides state capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-state@0.0.1
```

## Internal Structure

- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/kernel.ts`
- `src/types.ts`
- `src/validate.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/module-state-accessibility
Description: Proto UI module that provides state accessibility capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-state-accessibility

Proto UI module that provides state accessibility capability for adapters.

## Purpose

Provides state accessibility capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-state-accessibility@0.0.1
```

## Internal Structure

- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-state`

## License

MIT
npm package: @proto.ui/module-state-interaction
Description: Proto UI module that provides state interaction capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-state-interaction

Proto UI module that provides state interaction capability for adapters.

## Purpose

Provides state interaction capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-state-interaction@0.0.1
```

## Internal Structure

- `src/create.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/module-state`

## License

MIT
npm package: @proto.ui/module-test-sys
Description: Proto UI module that provides test system capability for adapters.
Latest version: 0.0.1

# @proto.ui/module-test-sys

Proto UI module that provides test system capability for adapters.

## Purpose

Provides test system capability to adapters running Proto UI prototypes.

## Package Role

Adapter-facing module package used by the Proto UI runtime and adapter layer.

## Install

```bash
npm install @proto.ui/module-test-sys@0.0.1
```

## Internal Structure

- `src/caps.ts`
- `src/create.ts`
- `src/impl.ts`
- `src/index.ts`
- `src/types.ts`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-base`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/prototypes-base
Description: Base Proto UI prototype library for reusable interaction prototypes.
Latest version: 0.0.1

# @proto.ui/prototypes-base

Base Proto UI prototype library for reusable interaction prototypes.

## Purpose

Provides the base Proto UI prototype library and reusable interaction prototypes that work with Proto UI adapters.

## Package Role

Prototype library package intended to be consumed together with Proto UI adapters.

## Install

```bash
npm install @proto.ui/prototypes-base@0.0.1
```

## Internal Structure

- `src/button/`
- `src/dropdown/`
- `src/hover-card/`
- `src/index.ts`
- `src/switch/`
- `src/tabs/`
- `src/toggle/`
- `src/tools/`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-focus`

## License

MIT
npm package: @proto.ui/prototypes-shadcn
Description: shadcn-style Proto UI prototype library for adapter-driven components.
Latest version: 0.0.1

# @proto.ui/prototypes-shadcn

shadcn-style Proto UI prototype library for adapter-driven components.

## Purpose

Provides a shadcn-style Proto UI prototype library that works with Proto UI adapters.

## Package Role

Prototype library package intended to be consumed together with Proto UI adapters.

## Install

```bash
npm install @proto.ui/prototypes-shadcn@0.0.1
```

## Internal Structure

- `src/button/`
- `src/hover-card/`
- `src/index.ts`
- `src/switch/`
- `src/tabs/`
- `src/toggle/`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-event`
- `@proto.ui/module-rule-meta`
- `@proto.ui/prototypes-base`

## License

MIT
npm package: @proto.ui/runtime
Description: Proto UI runtime that executes prototypes under the Proto UI contracts.
Latest version: 0.0.1

# @proto.ui/runtime

Proto UI runtime that executes prototypes under the Proto UI contracts.

## Purpose

Implements the runtime execution flow that adapters can host under the Proto UI contracts.

## Package Role

Runtime package that coordinates setup, rendering, lifecycle, module orchestration, and host execution boundaries.

## Install

```bash
npm install @proto.ui/runtime@0.0.1
```

## Internal Structure

- `src/index.ts`
- `src/instance/`
- `src/kernel/`
- `src/orchestrator/`

## Related Internal Packages

- `@proto.ui/core`
- `@proto.ui/module-anatomy`
- `@proto.ui/module-as-trigger`
- `@proto.ui/module-base`
- `@proto.ui/module-context`
- `@proto.ui/module-event`
- `@proto.ui/module-expose`
- `@proto.ui/module-expose-state`
- `@proto.ui/module-expose-state-web`
- `@proto.ui/module-feedback`
- `@proto.ui/module-focus`
- `@proto.ui/module-overlay`
- `@proto.ui/module-props`
- `@proto.ui/module-rule`
- `@proto.ui/module-rule-expose-state-web`
- `@proto.ui/module-rule-meta`
- `@proto.ui/module-state`
- `@proto.ui/module-state-accessibility`
- `@proto.ui/module-state-interaction`
- `@proto.ui/module-test-sys`
- `@proto.ui/types`

## License

MIT
npm package: @proto.ui/types
Description: Shared type definitions for Proto UI packages.
Latest version: 0.0.1

# @proto.ui/types

Shared type definitions for Proto UI packages.

## Purpose

Provides the unified type definitions shared by the rest of the Proto UI package graph.

## Package Role

Type foundation package used by core, runtime, modules, adapters, and prototype libraries.

## Install

```bash
npm install @proto.ui/types@0.0.1
```

## Internal Structure

- `src/context.ts`
- `src/event.ts`
- `src/feedback/`
- `src/index.ts`
- `src/ir/`
- `src/props.ts`
- `src/rule/`
- `src/semantics.ts`
- `src/state.ts`

## Related Internal Packages

- None

## License

MIT
npm package: @protoarch.angular/linters
Description: ESLint, Stylelint & Prettier configs for Angular apps
Author: Sergey Romanchuk
Latest version: 18.1.1

# @protoarch.angular/linters

ESlint, Stylelint & Prettier rules for Angular applications.

## Setup

Install from npm

```bash
npm i @protoarch.angular/linters --save-dev
```

### ESLint + Prettier

Include configurations:

`.eslintrc.js`

```javascript
const {join} = require('path');

module.exports = {
    root: true,
    extends: ['./node_modules/@protoarch.angular/linters/eslint/index.js'],
    parserOptions: {
        ecmaVersion: 2022,
        project: join(__dirname, './tsconfig.json'),
        sourceType: 'module',
    },
};
```

`.prettierrc.js`

```javascript
module.exports = {
    ...require('./node_modules/@protoarch.angular/linters/prettier/prettier.config.js'),
};
```

Add npm-script:

```json
"lint": "npm exec -- eslint --config ./.eslintrc.js --debug "src/**/*.{js,ts,html}"",
"lint:fix": "npm exec -- eslint --config ./.eslintrc.js --fix --debug "src/**/*.{js,ts,html}""
```

Add `.eslintignore` file

```text
dist
node_modules
coverage
*.less
*.css
```

### Stylelint

`stylelint.config.js`

```javascript
const styleLint = require('@protoarch.angular/linters/stylelint/stylelint.config.js');

module.exports = {
    ...styleLint,
    rules: {
        ...styleLint.rules,
        'no-empty-source': null,
    },
};
```

Add npm-script:

```json
"lint": "npm exec -- stylelint --config ./.stylelintrc \"src/**/*.less\"",
"lint:fix": "npm exec -- stylelint --config ./.stylelintrc --fix \"src/**/*.less\""
```

#### VSCODE

> .vscode/settings.json

```json
"stylelint.validate": [
    "css",
    "less",
    "postcss",
    "scss"
],
```

#### WebStorm

Configure pattern in Preferences > Stylelint

```
{**/*,*}.{css,less,pcss,scss}
```
npm package: @protoarch.angular/validation-message
Description: Module for AB tests
Author: Sergey Romanchuk
Latest version: 19.0.0-0

# @protoarch.angular/validation-message

**ValidationMessageModule** gives you possibility to localize form validators and it automatically puts localized validator error message to markup (if there is one).
Fully compatable with angular [reactive form validators](https://angular.io/guide/reactive-forms#step-2-making-a-field-required).

Before (dirty \*ngIf markup):

```html
<input
    id="name"
    name="name"
    class="form-control"
    required
    minlength="4"
    appForbiddenName="bob"
    #name="ngModel"
/>
<div *ngIf="name.errors.minlength">Name must be at least 4 characters long.</div>
```

After (clean markup with auto inserting error messages):

```html
<input
    prtValidationMessage
    name="email"
    type="email"
    class="form-control"
    formControlName="email"
/>
```

-   [Demo project](https://github.com/Romanchuk/angular-i18next-demo)
-   [Live demo](https://romanchuk.github.io/angular-i18next-demo/)

## Installation

1. > npm install @protoarch.angular/validation-message
2. Import **ValidationMessageModule** to module where you expect to enable error message to form fields
3. Set **prtValidationMessage directive** to any form fields

## Providers

### I18NextValidationMessageModule

Bridge for "@protoarch.angular/validation-message" for translate error messages via i18next.

Requirements:

1. > npm install i18next angular-i18next
2. > import **I18NextValidationMessageModule** from `@protoarch.angular/validation-message/provider-i18next`
   > (replaces ValidationMessageModule)

### Custom providers

You can implement your own provider. Check source code of **I18NextValidationMessageModule** as example
npm package: @protoblocks/babel-core
Description: Babel compiler core.
Author: The Babel Team
Latest version: 8.0.3

# @babel/core

> Babel compiler core.

See our website [@babel/core](https://babeljs.io/docs/en/babel-core) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen) associated with this package.

## Install

Using npm:

```sh
npm install --save-dev @babel/core
```

or using yarn:

```sh
yarn add @babel/core --dev
```
npm package: @protoblocks/babel-parser
Description: A JavaScript parser
Author: The Babel Team
Latest version: 8.0.2

# @babel/parser

> A JavaScript parser

See our website [@babel/parser](https://babeljs.io/docs/en/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%20(babylon)%22+is%3Aopen) associated with this package.

## Install

Using npm:

```sh
npm install --save-dev @babel/parser
```

or using yarn:

```sh
yarn add @babel/parser --dev
```
npm package: @protoblocks/babel-traverse
Description: The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes
Author: The Babel Team
Latest version: 8.0.2

# @babel/traverse

> The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes

See our website [@babel/traverse](https://babeljs.io/docs/en/babel-traverse) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen) associated with this package.

## Install

Using npm:

```sh
npm install --save-dev @babel/traverse
```

or using yarn:

```sh
yarn add @babel/traverse --dev
```
npm package: @protoblocks/babel-types
Description: Babel Types is a Lodash-esque utility library for AST nodes
Author: The Babel Team
Latest version: 8.0.0

# @babel/types

> Babel Types is a Lodash-esque utility library for AST nodes

See our website [@babel/types](https://babeljs.io/docs/en/babel-types) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package.

## Install

Using npm:

```sh
npm install --save-dev @babel/types
```

or using yarn:

```sh
yarn add @babel/types --dev
```
npm package: @protobuf-ts-toolkit/browser-logger
Description: Browser console logging interceptor for gRPC calls with styled output
Author: smnbbrv
Latest version: 1.0.3

# @protobuf-ts-toolkit/browser-logger

Browser console logging interceptor for gRPC calls.

## Installation

```bash
npm install @protobuf-ts-toolkit/browser-logger
```

## Usage

```typescript
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';
import { createBrowserLogger } from '@protobuf-ts-toolkit/browser-logger';

const transport = new GrpcWebFetchTransport({
  baseUrl: 'https://api.example.com',
  interceptors: [createBrowserLogger()],
});
```

### Log Level

```typescript
// Use console.info instead of console.debug
createBrowserLogger({ level: 'info' });

// Use console.error (only logs errors by default anyway)
createBrowserLogger({ level: 'error' });
```

### Filtering

```typescript
// Only log unary calls
createBrowserLogger({
  shouldLog: ({ callType }) => callType === 'unary',
});

// Only log specific services
createBrowserLogger({
  shouldLog: ({ method }) => method.service.typeName.includes('UserService'),
});

// Disable in production
createBrowserLogger({
  shouldLog: () => process.env.NODE_ENV !== 'production',
});
```

## Configuration

```typescript
interface BrowserLoggerConfig {
  // Filter which calls to log (default: () => true)
  shouldLog?: (context: LogContext) => boolean;

  // Log level: 'debug' | 'info' | 'error' (default: 'debug')
  level?: LogLevel;
}

interface LogContext {
  method: MethodInfo;
  callType: 'unary' | 'serverStreaming' | 'clientStreaming' | 'duplex';
  level: LogLevel;
}
```

## Output

```
[gRPC] → UserService/GetUser { id: "123" }
[gRPC] ← UserService/GetUser (45.2ms) { name: "John", email: "john@example.com" }

[gRPC] → EventService/StreamEvents (stream) { filter: "all" }
[gRPC] ↓ EventService/StreamEvents (+120.5ms) { type: "created", ... }
[gRPC] ↓ EventService/StreamEvents (+250.3ms) { type: "updated", ... }
[gRPC] ← EventService/StreamEvents complete (1250.0ms)

[gRPC] ✗ UserService/GetUser (32.1ms) NotFoundError: User not found
```
npm package: @protobuf-ts-toolkit/grpc-web-hybrid
Description: Hybrid gRPC-web transport: HTTP for unary/server-streaming, WebSocket for client-streaming/duplex
Author: smnbbrv
Latest version: 1.0.0

# @protobuf-ts-toolkit/grpc-web-hybrid

Hybrid gRPC-web transport that automatically routes calls to the appropriate transport:

- **Unary & Server Streaming**: HTTP/fetch via `GrpcWebFetchTransport`
- **Client Streaming & Duplex**: WebSocket via `@improbable-eng/grpc-web`

## Why?

Standard gRPC-web over HTTP only supports unary and server streaming. Client streaming and bidirectional streaming require WebSocket support. This transport handles routing automatically.

## Installation

```bash
npm install @protobuf-ts-toolkit/grpc-web-hybrid @protobuf-ts/grpcweb-transport @improbable-eng/grpc-web
```

## Usage

```typescript
import { GrpcWebHybridTransport } from '@protobuf-ts-toolkit/grpc-web-hybrid';

const transport = new GrpcWebHybridTransport({
  baseUrl: 'https://api.example.com',
  interceptors: [
    createErrorInterceptor(),
    createOtelInterceptor(),
  ],
});

const client = new MyServiceClient(transport);

// Unary call - uses HTTP
await client.getUser({ id: '123' });

// Server streaming - uses HTTP
for await (const event of client.streamEvents({}).responses) {
  console.log(event);
}

// Client streaming - uses WebSocket
const upload = client.uploadChunks({});
await upload.requests.send({ data: chunk1 });
await upload.requests.send({ data: chunk2 });
await upload.requests.complete();
const result = await upload.response;

// Bidirectional streaming - uses WebSocket
const chat = client.chat({});
chat.responses.onNext((msg) => console.log('Received:', msg));
await chat.requests.send({ text: 'Hello' });
```

## Configuration

```typescript
interface GrpcWebHybridTransportOptions {
  // Base URL for the gRPC server
  // Use empty string '' to use current origin (browser only)
  baseUrl: string;

  // Interceptors applied to all calls
  interceptors?: RpcInterceptor[];
}
```

## Browser Usage

Use empty string for `baseUrl` to automatically use the current origin:

```typescript
const transport = new GrpcWebHybridTransport({
  baseUrl: '', // Uses window.location.origin
});
```