open-index/open-npm huggingface dataset:
npm package: @revolutionprep/bootstrap
Description: Global styles for Revolution Prep apps
Author: Michel Denegri
Latest version: 1.1.11

# Revolution Prep Bootstrap 4 Themes

Global styles for Revolution Prep apps

## Quick install

### NPM

```sh
npm install @revolutionprep/bootstrap
```

### Import Global Styles
After installation, you can import the SCSS files into your project:

```scss
// Revolution Prep Theme
@import '~@revolutionprep/bootstrap/scss/revolutionprep';
```

**or**

```scss
// Revolution Math Theme
@import '~@revolutionprep/bootstrap/scss/revolutionprep';
```

### functions, mixins and variables
If you need to declare new classes in a JS component, just import this file:

```scss
// Revolution Prep: Functions, variables and mixins
@import '~@revolutionprep/bootstrap/scss/revolutionprep-tools';
```

```scss
// Revolution Math: Functions, variables and mixins
@import '~@revolutionprep/bootstrap/scss/revolutionmath-tools';
```
npm package: @revong/cli
Description: CLI package of revong.com
Author: revouser
Latest version: 0.2.0

```npm i -g @revong/cli```

For usage use:

```revong -h```

```
  -V, --version                               output the version number
  -config, --config [details...]              Create configuration for given details <instance> <api-key> <api-secret>.
  -instance, --instance <instance>            Set default instance for calls.
  -logic-create, --logic-create [details...]  Create logic to remote from given <path> with syntax: "prefix/category/name/suffix compiler        
                                              active|inactive type", ideally it shuld be created using UI or modfied in UI after creation.       
  -logic-pull, --logic-pull [logicId...]      Pull one or more logics by their unique logicId [logicId...].
  -logic-pull-all, --logic-pull-all           Pull all logics from instance.
  -logic-push, --logic-push <path>            Push logic to remote from given <path>.
  -logic-push-all, --logic-push-all           Push logics to remote.
  -logic-debug, --logic-debug [config...]     Debug logic from [config...].
  -logic-validate, --logic-validate <path>    Validate elements for given <path> (use it after modifying logic.json).
  -logic-sync, --logic-sync <path>            Sync elements for given <path> (use it after modifying logic.json), it will re-create element"s and
                                              flag deleted/unused ones.
  -logic-sync-all, --logic-sync-all           Sync elements for all presented logics.
  -h, --help                                  display help for command                                display help for command   
```

Sample config:

```json
{
    "f1703c23-5e47-4e7a-******-*********": {
        "key": "******-******-******-******",
        "url": "https://api.revong.com/api",
        "secret": "*********************************************",
        "default": true
    }
}
```

Can also define env variables if you don't want to use config.json:

```shell
export INSTANCE=f1703c23-5e47-4e7a-******-*********
export API_KEY=******-******-******-******
export API_SECRET=*********************************************
export REVO_URL= *********************************************
```

revong.com
npm package: @revopush/expo-code-push-plugin
Description: Expo plugin to configure Revopush OTA for React Native
Latest version: 1.0.1

# Expo plugin for Revopush OTA

To integrate Revopush into your Expo project, you need to modify the native part of the application. This is done using Expo Configuration Plugins.

This plugin will automatically generate all the necessary changes to integrate Revopush OTA.

[Full setup guide](https://docs.revopush.org/intro/expo) for Revopush with Expo.

## Setup Revopush SDK

Revopush SDK doesn't work with Expo Go because it requires native code changes.

| Expo SDK  | Revopush SDK | Revopush Expo plugin |
|-----------|--------------|----------------------|
| 52+       | 1.3.0        | 1.0.0                |

#### Install Revopush SDK

```bash
npx expo install @revopush/react-native-code-push
```

#### Install Revopush Expo plugin

```bash
npx expo install @revopush/expo-code-push-plugin
```

Extend Plugin section in your Expo config with:

```typescript
module.exports = ({ config }: { config: ExpoConfig }) => ({
    ...config,
    plugins: [
        ["@revopush/expo-code-push-plugin", {   
            ios: {  // [!code ++]
                CodePushDeploymentKey: 'YOUR_DEPLOYMENT_KEY',   
                CodePushServerUrl: 'https://api.revopush.org'   
            },
            android: { 
                CodePushDeploymentKey: 'YOUR_DEPLOYMENT_KEY', 
                CodePushServerUrl: 'https://api.revopush.org' 
            } 
        }] 
    ],
});
```

Run prebuild command to generate native ios and android folders

```bash
npx expo prebuild --clean
```

If you faced with ios target version error, add [expo-build-properties](https://docs.expo.dev/versions/latest/sdk/build-properties/) plugin and set ios `deploymentTarget` to 15.5
npm package: @revotech-group/revotech-ui-kit
Description: Webcomponent wc-ui following open-wc recommendations
Author: wc-ui
Latest version: 0.2.4

<p align="center">
  <img width="200" src="https://open-wc.org/hero.png"></img>
</p>

## Open-wc Starter App

[![Built with open-wc recommendations](https://img.shields.io/badge/built%20with-open--wc-blue.svg)](https://github.com/open-wc)

## Quickstart

To get started:

```sh
npm init @open-wc
# requires node 10 & npm 6 or higher
```

## Scripts

- `start` runs your app for development, reloading on file changes
- `start:build` runs your app after it has been built using the build command
- `build` builds your app and outputs it in your `dist` directory
- `test` runs your test suite with Web Test Runner
- `lint` runs the linter for your project

## Tooling configs

For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.
npm package: @revotechuet/misc-component-vue
Description: Misc components writen in Vue
Author: revotechUET
Latest version: 1.2.7-5298589.0

## dev
**In package dir**
```shell
npm link
```

**In depedent dir**
```shell
npm link [<@scope>/]<pkg>[@<version>]
```

### Change version
using git commit id
```
npm run ver
```
or
```
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
```
### Publish
```
npm publish
```
npm package: @revrag-ai/embed-react
Description: React/Next.js library for Revrag AI assistant widget
Author: revrag-ai
Latest version: 1.4.3

# @revrag-ai/embed-react

React/Next.js library for integrating Revrag AI assistant widget into your application.

## Installation

```bash
npm install @revrag-ai/embed-react
```

## Quick Start

```tsx
import { EmbedProvider, EmbedButton } from '@revrag-ai/embed-react';

function App() {
  return (
    <EmbedProvider
      apiKey="your-api-key"
      agentId="your-agent-id"
    >
      <EmbedButton />
      {/* Your app content */}
    </EmbedProvider>
  );
}
```

## API Reference

### Components

- `EmbedProvider` - Context provider for the SDK
- `EmbedButton` - The AI widget button component

### Hooks

- `useInitialize` - Hook for SDK initialization
- `useEmbed` - Hook to access embed context

### Functions

- `embedEvent` - Function to track custom events
- `EventKeys` - Event key constants

### Types

- `EmbedContextType` - Type for embed context
- `EmbedButtonDelayPolicy` - Button delay policy configuration
- `EmbedButtonContinuity` - Button continuity settings
- `EmbedButtonGroupConfig` - Button group configuration
- `EmbedButtonVisibilityConfig` - Button visibility settings
- `EmbedButtonPosition` - Button position configuration
- `UseSDKInitReturn` - Return type for useInitialize hook
- `EventPayload` - Event payload type
- `EventKey` - Event key type
- `CustomEventData` - Custom event data type
- `CustomEventPayload` - Custom event payload type
- `SDKConfig` - SDK configuration type

## License

MIT

## Repository

https://github.com/revrag-ai/embed-react
npm package: @revstackhq/ai
Description: <div align="center">   <h1>@revstackhq/ai</h1>   <p>A seamless metering wrapper for the Vercel AI SDK.</p> </div>
Latest version: 0.6.0

<div align="center">
  <h1>@revstackhq/ai</h1>
  <p>A seamless metering wrapper for the Vercel AI SDK.</p>
</div>

If you are building an AI native application, this package is the fastest way to monetize it. It wraps the official `@ai-sdk` functions, intercepts token consumption, and reports exactly what model and how many tokens were used—without breaking your streams.

## Key Features

- **Zero Friction:** Drop-in replacements for `streamText` and `generateText`.
- **Smart Backend:** We transmit the raw usage (`promptTokens`, `completionTokens`, `modelId`), and Revstack Cloud calculates the exact credit deduction based on your configured margins and model pricing.
- **Non-Blocking:** Usage tracking occurs transparently and never delays the user's stream.

## Installation

```bash
npm install @revstackhq/ai ai
```

## Quick Start

### 1. Configure Revstack Once (IoC)

Create a pre-configured instance of the AI wrapper in your app. Pass a `trackUsage` callback so `@revstackhq/ai` can report usage without knowing about your framework.

```typescript
// lib/revstack.ts
import { trackUsage } from "@revstackhq/next/server";
import { createRevstackAI } from "@revstackhq/ai";

export const revstack = createRevstackAI(
  { secretKey: process.env.REVSTACK_SECRET_KEY! },
  async (key, usage, config) => {
    // This fires every time a stream or generation completes
    await trackUsage(key, usage, config);
  }
);
```

### 2. Replace `streamText` and `generateText`

Import your pre-configured instance instead of the base Vercel functions. You now only need to provide an `entitlementKey`.

```typescript
// app/api/chat/route.ts
import { revstack } from "@/lib/revstack";
import { openai } from "@ai-sdk/openai";

export async function POST(req: Request) {
  const { messages } = await req.json();

  const result = await revstack.streamText({
    model: openai("gpt-4o"),
    messages,
    entitlementKey: "ai_tokens", // Triggers metering automatically
    // Your original onFinish still fires!
    async onFinish(event) {
      console.log("Stream completed locally, and usage was already tracked.");
    },
  });

  return result.toDataStreamResponse();
}
```

## How It Works

When a user streams a generation:

1. The stream begins sending chunks to the client instantly.
2. Vercel's internal `onFinish` event fires when the stream ends.
3. Your pre-configured `revstack.streamText` wrapper intercepts this event, extracting the `model.id` and exact token split.
4. It calls your injected `trackUsage` callback, transmitting the raw payload (e.g. `promptTokens: 10, completionTokens: 50`) to your backend.
5. If you provided an `onFinish` handler, it runs sequentially afterward.

_This offloads the complex math of "how many credits should GPT-4o cost vs Claude 3.5 Sonnet" entirely to your Revstack product configuration._
npm package: @revstackhq/auth
Description: The official authentication bridge for Revstack. Verifies incoming JWTs from supported identity providers using a unified contract.
Latest version: 0.6.0

# @revstackhq/auth

The official authentication bridge for Revstack. Verifies incoming JWTs from supported identity providers using a unified contract.

## Features

- **Supported Providers:** Auth0, Clerk, Supabase, Amazon Cognito, Firebase, and Custom JWTs.
- **Provider-Agnostic Verification:** Use a single `RevstackAuth` instance to verify tokens regardless of the provider strategy (RS256 via JWKS or HS256 via shared secret).
- **Strongly Typed Sessions:** Generics support for typed JWT claims.
- **Detailed Error Handling:** Specific error codes (`AuthErrorCode`) for token expiration, signature mismatches, network issues, etc.
- **JWKS Cache Control:** Full control over `jose` remote JWKS caching and timeouts.

## Installation

```bash
npm install @revstackhq/auth
```

## Usage

### 1. Build a Contract

Define your provider configuration once. This creates a `RevstackAuthContract`.

```typescript
import { buildAuthContract } from "@revstackhq/auth";

// Example: Clerk (RS256)
const clerkContract = buildAuthContract("clerk", {
  issuerUrl: "https://clerk.your-domain.com",
  userIdClaim: "sub", // Optional override
});

// Example: Custom JWT (HS256)
const customContract = buildAuthContract("custom", {
  signingSecret: process.env.JWT_SECRET!,
  issuer: "https://api.myapp.com",
});
```

### 2. Verify Tokens

Use the contract to initialize the verifier. It handles JWKS fetching and signature validation transparently.

```typescript
import { RevstackAuth, AuthErrorCode } from "@revstackhq/auth";

const auth = new RevstackAuth(clerkContract, {
  jwksCache: { cacheMaxAge: 600000 }, // Optional: pass jose JWKS options
});

// In your API handler or middleware
const session = await auth.validate(req.headers.authorization);

if (!session.isValid) {
  if (session.errorCode === AuthErrorCode.TOKEN_EXPIRED) {
    return res
      .status(401)
      .json({ error: "Token expired. Please log in again." });
  }
  return res.status(401).json({ error: "Unauthorized" });
}

// Strongly typed claims
console.log(session.userId);
```

## License

MIT
npm package: @revstackhq/browser
Description: <div align="center">   <h1>@revstackhq/browser</h1>   <p>The core, framework-agnostic vanilla TypeScript client for Revstack.</p> </div>
Latest version: 0.6.0

<div align="center">
  <h1>@revstackhq/browser</h1>
  <p>The core, framework-agnostic vanilla TypeScript client for Revstack.</p>
</div>

This package provides the foundational browser client for resolving identity, checking entitlements, and launching checkout flows—all in under 3KB (minified + gzipped).

## Key Features

- **Zero Dependencies:** Pure Vanilla TypeScript.
- **Event-Based Architecture:** Built-in Pub/Sub for reactive updates.
- **Identity Handling:** Automatic Guest fingerprinting and native Auth JWT resolution.
- **Tiny footprint:** Available as an ESM/CJS module or a `<script>` tag CDN build.

## Installation

```bash
npm install @revstackhq/browser
```

Or via CDN:

```html
<script src="https://unpkg.com/@revstackhq/browser/dist/index.global.js"></script>
```

## Quick Start

Instantiate the `RevstackClient` once during application startup.

```typescript
import { RevstackClient } from "@revstackhq/browser";

const client = new RevstackClient({
  publicKey: "rs_pub_12345",
  async getToken() {
    return localStorage.getItem("auth_token");
  },
});

// 1. Initialize to fetch the user's current entitlements
await client.init();

// 2. Check access synchronously from the local cache
if (client.hasAccess("pro_features")) {
  console.log("Welcome to Pro!");
}

// 3. React to changes (e.g., after an upgrade)
const unsubscribe = client.subscribe(() => {
  console.log("Entitlements updated:", client.getEntitlement("pro_features"));
});
```

## API Reference

### Launching Checkout

Trigger a Stripe Checkout session securely without backend redirect boilerplate:

```typescript
await client.startCheckout({
  planId: "price_abc123",
  successUrl: "https://yourapp.com/success",
  cancelUrl: "https://yourapp.com/pricing",
});
```

### Customer Billing Portal

Allow users to manage subscriptions, update cards, or view invoices:

```typescript
await client.openBillingPortal({
  returnUrl: "https://yourapp.com/settings",
});
```
npm package: @revstackhq/next
Description: <div align="center">   <h1>@revstackhq/next</h1>   <p>The Next.js 15 App Router SDK for Revstack.</p> </div>
Latest version: 0.6.0

<div align="center">
  <h1>@revstackhq/next</h1>
  <p>The Next.js 15 App Router SDK for Revstack.</p>
</div>

This package enforces strict Server/Client boundaries for Next.js 15 App Router applications, allowing you to gate access securely on the server and re-export safe hooks for your client components.

## Key Features

- **Strict Boundaries:** Subpath exports (`/server` and `/client`) prevent "useState cannot be used in a Server Component" errors.
- **Auto-Identity Resolution:** Reads async `headers()` to extract guest fingerprints and Auth JWTs automatically.
- **Server-Side Gating:** Securely verify entitlements before rendering structural UI.
- **Zero Webhooks:** Because Revstack Cloud acts as the source of truth, you just read entitlements.

## Installation

```bash
npm install @revstackhq/next @revstackhq/react @revstackhq/browser
```

## Overview

### Client Components

We re-export the React hooks securely from the `/client` subpath. Add `"use client"` and use them directly:

```tsx
// app/components/ClientPaywall.tsx
"use client";

import { useEntitlement } from "@revstackhq/next/client";

export function ClientPaywall() {
  const { hasAccess } = useEntitlement("generative_ai");
  if (!hasAccess) return <UpgradePrompt />;
  return <AI Workspace />;
}
```

### React Server Components (RSC)

Gate pages, layouts, or Server Actions using the `/server` utilities. Identity is extracted automatically from incoming request headers.

```tsx
// app/dashboard/page.tsx
import { requireEntitlement } from "@revstackhq/next/server";

export default async function DashboardPage() {
  // 1. Automatically throws or redirects if the user lacks access
  const entitlement = await requireEntitlement("pro_dashboard", {
    secretKey: process.env.REVSTACK_SECRET_KEY!,
    redirectTo: "/pricing", // Auto-redirect via Next.js navigation
  });

  // 2. Safely render the protected route
  return (
    <main>
      <h1>Pro Dashboard</h1>
      <p>Data limit: {entitlement.value}</p>
    </main>
  );
}
```

## API Reference (`@revstackhq/next/server`)

### `getEntitlement(key, config)`

Asynchronously resolves a single entitlement for the current user (identified via headers). Does not throw on denial.

### `requireEntitlement(key, config)`

Verifies access. If denied, it calls `redirect(config.redirectTo)` (if provided) or throws a generic Error.

### `withMetering(key, amount, config, handler)`

A Higher-Order Function to wrap Next.js App Router API Routes (`route.ts`). Intercepts requests to deduct metered limits before executing the developer's route handler. Returns a `402 Payment Required` response if credits are fully consumed.
npm package: @revstackhq/react
Description: <div align="center">   <h1>@revstackhq/react</h1>   <p>The official React wrapper for Revstack.</p> </div>
Latest version: 0.6.0

<div align="center">
  <h1>@revstackhq/react</h1>
  <p>The official React wrapper for Revstack.</p>
</div>

This package provides React Context and Hooks on top of `@revstackhq/browser`, delivering an effortless, flicker-free developer experience.

## Key Features

- **Zero-Flicker UI:** Synchronous cache reads prevent layout shifts.
- **SSR Safe:** Protects against hydration mismatches in Next.js and Remix.
- **Backward Compatible:** Supports React 16.8+ via `use-sync-external-store/shim`.
- **Reactive:** Components automatically re-render when entitlements change (e.g. after a checkout completes).

## Installation

```bash
npm install @revstackhq/react @revstackhq/browser
```

## Quick Start

### 1. Provide the Client

Wrap your application tree in `<RevstackProvider>`.

```tsx
import { RevstackProvider } from "@revstackhq/react";

export function App({ children }) {
  return (
    <RevstackProvider
      config={{
        publicKey: process.env.NEXT_PUBLIC_REVSTACK_KEY,
        getToken: async () => localStorage.getItem("token"),
      }}
    >
      {children}
    </RevstackProvider>
  );
}
```

### 2. Use Hooks

Read entitlements reactively anywhere in your app using `useEntitlement()`.

```tsx
import { useEntitlement, useRevstack } from "@revstackhq/react";

export function PremiumFeature() {
  const { hasAccess } = useEntitlement("pro_tier");
  const client = useRevstack();

  if (!client.isReady) {
    return <Spinner />;
  }

  if (!hasAccess) {
    return (
      <button
        onClick={() => client.startCheckout({ planId: "price_123" /* ... */ })}
      >
        Upgrade to Pro
      </button>
    );
  }

  return <div>Welcome to the Premium Feature!</div>;
}
```

## API Reference

- `RevstackProvider`: Context provider to supply the client configuration.
- `useEntitlement(key: string)`: Returns `{ key, hasAccess, value? }` and triggers re-renders on cache updates.
- `useRevstack()`: Returns the underlying `RevstackClient` instance to handle checkout, portals, or raw API calls.
npm package: @revtm/tukar
Description: Switch array values
Latest version: 2.0.3

<center > <img src="https://img.shields.io/npm/v/@revtm/tukar"/> </center >
<center > <img src="https://img.shields.io/bundlephobia/min/@revtm/tukar"/> </center >


Js function to switch two values of index 0 and 1 in an 1-D array!

## How To:
```
var {changePos} = require("@revtm/tukar");

var x = [1,2];
var y = changePos(x);
console.log(y); //[2,1]
```
npm package: @revuejs/core
Description: Revue
Author: Kevin Deng
Latest version: 0.0.0

# revue

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![Unit Test][unit-test-src]][unit-test-href]

Revue

## Install

```bash
npm i revue
```

## Sponsors

<p align="center">
  <a href="https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg">
    <img src='https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg'/>
  </a>
</p>

## License

[MIT](./LICENSE) License © 2025-PRESENT [Kevin Deng](https://github.com/sxzz)

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/revue.svg
[npm-version-href]: https://npmjs.com/package/revue
[npm-downloads-src]: https://img.shields.io/npm/dm/revue
[npm-downloads-href]: https://www.npmcharts.com/compare/revue?interval=30
[unit-test-src]: https://github.com/sxzz/revue/actions/workflows/unit-test.yml/badge.svg
[unit-test-href]: https://github.com/sxzz/revue/actions/workflows/unit-test.yml