open-index/open-npm huggingface dataset:
npm package: @invitro_it/external-ui-kit
Description: ## Usage
Author: invitro
Latest version: 1.0.1

# Invitro UI

## Usage

```tsx
// 1. import `InvitroUIProvider` component

import { InvitroUIProvider } from "invitro-ui"

export function App() {
    // 2. Wrap ChakraProvider at the root of your app
    return (
        <InvitroUIProvider>
            <App/>
        </InvitroUIProvider>
    )
}
```

```tsx
import { Button } from "invitro-ui"

function App() {
    return (
        <Button onPress={() => alert("pressed")}>Press me!</Button>
    )
}
```

## Storybook

```shell
yarn storybook
```

## Build production

```shell
yarn build:production
```

## TODO

- Select
- Textarea
- InputFile
- Slider
- Patient Select
npm package: @invizi/cli
Description: Invizi CLI
Latest version: 0.1.15

# invizi-cli

CLI for Invizi.

## Install

```bash
npm install -g @invizi/cli
```

## Usage

```bash
invizi auth login
invizi auth status
invizi --help
invizi track 0x1234...abcd
invizi setup
```

## Development

### Scripts

```bash
npm run build      # Compile TypeScript to dist/
npm run typecheck  # TypeScript checks (no emit)
npm test           # Jest tests
```

### Project Layout

- `src/` TypeScript source code
- `dist/` compiled runtime (generated)
- `bin/invizi.js` published executable wrapper

### Packaging

- `npm pack` and `npm publish` run `prepack`, which builds `dist/` automatically.
npm package: @invntrm/sucrase-webpack-loader
Description: Webpack loader for Sucrase
Author: Alan Pierce
Latest version: 2.0.5

# Sucrase Webpack loader

[![npm version](https://badge.fury.io/js/@sucrase%2Fwebpack-loader.svg)](https://www.npmjs.com/package/@sucrase/webpack-loader)
[![MIT License](https://img.shields.io/npm/l/express.svg?maxAge=2592000)](LICENSE)

This is a simple Webpack loader that makes it easy to use
[Sucrase](https://github.com/alangpierce/sucrase) in your build.

**Note: Object rest/spread syntax (e.g. `{...a, b: c}`) requires Webpack 4. For
earlier Webpack versions, you can use
[webpack-object-rest-spread-plugin](https://github.com/alangpierce/sucrase/tree/master/integrations/webpack-object-rest-spread-plugin)
alongside this loader.**

## Usage

First install the package and Sucrase as a dev dependency:
```
yarn add --dev @sucrase/webpack-loader sucrase
```

Then add it as a loader to your webpack config:
```
module: {
  rules: [
    {
      test: /\.js$/,
      use: {
        loader: '@sucrase/webpack-loader',
        options: {
          transforms: ['jsx']
        }
      }
    }
  ]
}
```
npm package: @invoate/alpine-dayjs
Description: An AlpineJS wrapper for DayJS
Author: Oliver Lumby
Latest version: 1.0.2

# An AlpineJS Wrapper for DayJS

This is a simple plugin for [AlpineJS](https://alpinejs.dev) that wraps the popular JavaScript date library [DayJS](https://day.js.org).

## Installation

You can install this package via NPM:

```shell
npm install @invoate/alpine-daysjs
```

or by CDN:

```html
<!-- Plugin -->
<script src="https://unpkg.com/@invoate/alpine-dayjs/dist/alpine-dayjs.min.js" defer></script>
<!-- AlpineJS -->
<script src="https://unpkg.com/alpinejs/dist/cdn.min.js" defer></script>
```

### Setup

First you must register the plugin with Alpine.

```js
import Alpine from "alpinejs"
import alpineDayJS from "alpine-dayjs"

Alpine.plugin(alpineDayJS({}))

Alpine.start()
```
### Usage

In your views, you can now use the x-dayjs directive.

```html
<!-- Displays the current time using the default/configured format -->
<time x-data x-dayjs></time>

<!-- Displays the 1st of January 2000, as parsed by DayJS -->
<time x-data x-dayjs="2000-01-01"></time>

<!-- Displays the current date using the format YYYY-MM-DD -->
<time x-data x-dayjs x-dayjs-format="YYYY-MM-DD"></time>

<!-- Use a AlpineJS property with the .bind modifier -->
<div x-data="{ date: '2000-01-01' }">
    <time x-dayjs.bind="date"></time>
</div>
```

### Options

The package comes with sensible defaults however you may wish to configure them.

| Argument      | Description                                              | Default    |
|---------------|----------------------------------------------------------|------------|
| dayjs         | Pass your own instance of DayJS                          | na         |
| defaultFormat | The default format dates should be formatted as, default | DD/MM/YYYY |

```js
import dayjs from "dayjs"
import localeEs from "dayjs/locale/es"
import localizedFormat from "dayjs/plugin/localizedFormat"
import Alpine from "alpinejs"
import alpineDayJS from "alpine-dayjs"

dayjs.extend(localizedFormat)
dayjs.locale(localeEs)

Alpine.plugin(alpineDayJS({
    dayjs: dayjs // A custom DayJS instance with the LocalizedFormat plugin and Spanish Locale
    defaultFormat: 'LLL' // LocalizedFormat and Spanish Locale = D [de] MMMM [de] YYYY H:mm
}))

Alpine.start()
```

## Credits

- [Oliver Lumby](https://github.com/olumby)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
npm package: @invoate/alpine-query-string
Description: Bind an AlpineJS property to a query string parameter
Author: Oliver Lumby
Latest version: 1.0.0

# Query String Binding for AlpineJS

<p align="center">
    :construction: :construction_worker: :warning: <b>This is a work in progress.</b> :warning: :construction_worker: :construction:
</p>

This is a simple plugin for [AlpineJS](https://alpinejs.dev) that binds a property to a specified url query parameter.

## Installation

You can install this package via NPM:

```shell
npm install @invoate/alpine-query-string
```

or by CDN:

```html
<!-- Plugin -->
<script src="https://unpkg.com/@invoate/alpine-query-string/dist/alpine-query-string.min.js" defer></script>
<!-- AlpineJS -->
<script src="https://unpkg.com/alpinejs/dist/cdn.min.js" defer></script>
```

### Setup

First you must register the plugin with Alpine.

```js
import Alpine from "alpinejs"
import queryString from "@invoate/alpine-query-string"

Alpine.plugin(queryString)

Alpine.start()
```
### Usage

In your views, you can now use the x-query-string directive.

```html
<div x-data="{ selected: 'option' }" x-query-string.param="selected">
  <!-- When `selected` changes ?param=value will be appended to the url -->
  <!-- Visiting this page with ?param=value will set `selected` to `value` -->
</div>
```

When the first modifier is not set the parameter name will default to the name of the property

```html
<div x-data="{ selected: 'option' }" x-query-string="selected">
  <!-- ?selected=value will be appended to the url -->
</div>
```

## Credits

- [Oliver Lumby](https://github.com/olumby)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
npm package: @invoica/pact
Description: PACT v0.2 — mandate issuance and verification for Invoica AI agent payments
Latest version: 1.0.1

# @invoica/pact

PACT v0.2 mandate library for Invoica AI agent payments.

Issue and verify signed mandates that authorise AI agents to make x402 payments through Invoica.

## Install

```bash
npm install @invoica/pact
```

Requires Node.js >= 18. Zero runtime dependencies (uses built-in `crypto`).

## Quick Start

### Issue a mandate (client-side)

```typescript
import { issueMandate, encodeMandateHeader } from '@invoica/pact';

const mandate = issueMandate(
  {
    grantor: 'agent-wallet-abc',
    scope: {
      maxPaymentUsdc: 10,
      actions: ['invoice:create', 'invoice:settle'],
    },
  },
  process.env.PACT_SIGNING_SECRET!
);

const response = await fetch('https://api.invoica.ai/v1/invoices', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Pact-Mandate': encodeMandateHeader(mandate),
  },
  body: JSON.stringify({ amount: 5, currency: 'USDC' }),
});
```

### Verify a mandate (server-side)

```typescript
import { verifyMandate } from '@invoica/pact';

const header = req.headers['x-pact-mandate'] as string;
const result = verifyMandate(header, requestedAmount, process.env.PACT_SIGNING_SECRET!);

if (!result.allowed) {
  return res.status(403).json({ error: result.reason });
}
```

## API

### `issueMandate(options, secret)`

Create a signed PACT mandate.

| Parameter | Type | Description |
|---|---|---|
| `options.grantor` | `string` | Wallet address or agent ID of the entity granting the mandate |
| `options.grantee` | `string?` | Recipient (defaults to `'invoica'`) |
| `options.scope` | `MandateScope` | Actions, resources, and spend limits |
| `options.ttlMs` | `number?` | Time-to-live in ms (defaults to 1 hour) |
| `secret` | `string` | Shared HMAC-SHA256 signing secret |

Returns a `PactMandate` with a cryptographic signature.

### `verifyMandate(header, amountUsdc, secret)`

Verify an `X-Pact-Mandate` header value.

Returns `{ allowed: true }` or `{ allowed: false, reason: string }`.

Checks: JSON validity, expiry, HMAC signature, spend cap vs requested amount.

### `encodeMandateHeader(mandate)`

Serialise a `PactMandate` to a JSON string for use as an HTTP header value.

## Types

```typescript
interface MandateScope {
  actions?: string[];       // e.g. ['invoice:create']
  resources?: string[];     // e.g. ['*'] or specific invoice IDs
  maxPaymentUsdc?: number;  // spend cap for this mandate
  description?: string;     // human-readable description
}

interface PactMandate {
  id: string;
  grantor: string;
  grantee: string;
  scope: MandateScope;
  expiresAt?: string;   // ISO 8601
  issuedAt: string;     // ISO 8601
  signature: string;    // HMAC-SHA256
}
```

## How It Works

1. Agent issues a mandate with `issueMandate()` — signs it with a shared secret
2. Mandate is attached as `X-Pact-Mandate` header on x402 payment requests
3. Invoica server verifies the signature, expiry, and spend cap with `verifyMandate()`
4. If valid, the payment proceeds; if not, the request is rejected with a reason

## License

MIT
npm package: @invoice-sdk/api
Description: Invoice API client
Latest version: 1.19.1

# Invoice SDK API

A TypeScript SDK for invoice management APIs supporting multiple providers.

All URIs are relative to Invoice Hub
Document *https://stag-invoice-docs.atomsolution.vn/docs/intro*

## Installation

### NPM Package

```bash
npm install @invoice-sdk/api
```

### CDN Usage

```html
<!-- Include dependencies -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/crypto-js/crypto-js.js"></script>

<!-- Include the SDK -->
<script src="https://unpkg.com/@invoice-sdk/api@latest/dist/index.umd.js"></script>

<script>
  // SDK is available as window.InvoiceSDK
  const { Configuration, Provider } = window.InvoiceSDK;
</script>
```

## Usage

### ES Modules (Node.js/Modern Browsers)

```typescript
import { Configuration, Provider, InvoiceApi } from '@invoice-sdk/api';

const config = new Configuration({
  provider: Provider.MInvoice,
  apiKey: 'your-api-key',
  basePath: 'https://api.example.com'
});

const invoiceApi = new InvoiceApi(config);
```

### CommonJS (Node.js)

```javascript
const { Configuration, Provider, InvoiceApi } = require('@invoice-sdk/api');

const config = new Configuration({
  provider: Provider.MInvoice,
  apiKey: 'your-api-key',
  basePath: 'https://api.example.com'
});

const invoiceApi = new InvoiceApi(config);
```

### Browser UMD

```html
<script src="https://unpkg.com/@invoice-sdk/api@latest/dist/index.umd.js"></script>
<script>
  const { Configuration, Provider, InvoiceApi } = window.InvoiceSDK;
  
  const config = new Configuration({
    provider: Provider.MInvoice,
    apiKey: 'your-api-key',
    basePath: 'https://api.example.com'
  });
  
  const invoiceApi = new InvoiceApi(config);
</script>
```

## Supported Providers

- **M-Invoice**: `Provider.MInvoice`
- **FPT**: `Provider.FPT`
- **MISA**: `Provider.MISA`

## Development

### Build

```bash
npm run build
```

### Development Mode (Watch)

```bash
npm run dev
```

### Preview

```bash
npm run preview
```

## Package Exports

The package provides multiple build formats:

- **ES Module**: `dist/index.esm.js` (for modern bundlers)
- **CommonJS**: `dist/index.js` (for Node.js)
- **UMD**: `dist/index.umd.js` (for browsers via CDN)
- **Types**: `dist/index.d.ts` (TypeScript definitions)

## CDN Links

You can use the package directly from CDN services:

- **unpkg**: `https://unpkg.com/@invoice-sdk/api@latest/dist/index.umd.js`
- **jsDelivr**: `https://cdn.jsdelivr.net/npm/@invoice-sdk/api@latest/dist/index.umd.js`

## License

MIT