open-index/open-npm huggingface dataset:
npm package: @last1971/g-table
Description: Vue Table Grid
Author: me
Latest version: 0.0.8

# vtable

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

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

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

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

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @last1id/login-button
Description: Accessible Last1 ID login button with PKCE helpers
Latest version: 0.1.1

# @last1id/login-button

Accessible hosted button wrapper for Last1 ID login.

## Install

```bash
npm install @last1id/login-button @last1id/sdk
```

## Usage

```tsx
import { Last1LoginButton } from "@last1id/login-button";

export function SignIn() {
  return (
    <Last1LoginButton
      issuer="https://id.last1.com"
      clientId={process.env.NEXT_PUBLIC_LAST1_CLIENT_ID!}
      redirectUri="https://app.example.com/auth/callback"
      scopes={["openid", "profile", "offline_access"]}
      className="btn btn-primary"
    />
  );
}
```
npm package: @last1id/sdk
Description: Zero-to-login OIDC SDK for Last1 ID
Latest version: 0.1.0

# @last1id/sdk

Zero-to-login SDK for Last1 ID OIDC Authorization Code + PKCE.

## Install

```bash
npm install @last1id/sdk
```

## Usage

```ts
import { createPkcePair, buildAuthorizeUrl, exchangeCode } from "@last1id/sdk";

const pkce = await createPkcePair();
const authorizeUrl = buildAuthorizeUrl(
  {
    issuerUrl: "https://id.last1.com",
    clientId: process.env.LAST1_CLIENT_ID!,
    redirectUri: "https://app.example.com/auth/callback",
    scopes: ["openid", "profile", "offline_access"]
  },
  pkce
);

// Redirect user to authorizeUrl, then exchange code in callback route.
const tokenSet = await exchangeCode({
  issuerUrl: "https://id.last1.com",
  clientId: process.env.LAST1_CLIENT_ID!,
  clientSecret: process.env.LAST1_CLIENT_SECRET!,
  redirectUri: "https://app.example.com/auth/callback",
  code: "AUTH_CODE",
  codeVerifier: pkce.codeVerifier
});
```

> `createPkcePair()` uses Web Crypto and returns a Promise. It works in modern browsers and Node 20+.
npm package: @lastbluetape/mcp-server
Description: MCP server for LastBlueTape punch list management
Latest version: 1.0.1

# @lastbluetape/mcp-server

MCP server for [LastBlueTape](https://lastbluetape.com) — a punch list service for construction and renovation projects. This server lets AI assistants create lists, manage items, track progress, and share lists with your team, all through the LastBlueTape API.

## Installation

```bash
npx @lastbluetape/mcp-server
```

## Configuration

### Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `LASTBLUETAPE_API_KEY` | Yes | Your API key (`lbt_xxx`) |
| `LASTBLUETAPE_PAYMENT_METHOD` | No | Stripe payment method ID (`pm_xxx`) for auto-upgrading lists |
| `LASTBLUETAPE_BASE_URL` | No | API base URL (default: `https://lastbluetape.com`) |

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "lastbluetape": {
      "command": "npx",
      "args": ["-y", "@lastbluetape/mcp-server"],
      "env": {
        "LASTBLUETAPE_API_KEY": "lbt_your_api_key_here"
      }
    }
  }
}
```

### Claude Code

Add to your Claude Code MCP settings:

```json
{
  "mcpServers": {
    "lastbluetape": {
      "command": "npx",
      "args": ["-y", "@lastbluetape/mcp-server"],
      "env": {
        "LASTBLUETAPE_API_KEY": "lbt_your_api_key_here"
      }
    }
  }
}
```

## Available Tools

| Tool | Description |
|------|-------------|
| `create_list` | Create a new punch list |
| `list_my_lists` | List all punch lists linked to your API key |
| `get_list` | Get details and stats for a list |
| `list_items` | List all items in a list |
| `add_item` | Add a new item to a list |
| `update_item` | Update an item's title or description |
| `set_item_status` | Set item status (open, in_progress, done) |
| `flag_item` | Flag or unflag an item for attention |
| `get_activity` | Get the activity log for a list |
| `upgrade_list` | Upgrade a list to Pro ($4.99 one-time) |

## Pricing

- **Free tier**: 30 items per list, 2 photos per item, 90-day expiry
- **Pro**: $4.99 one-time payment per list, unlimited items, no expiry

## Documentation

Full API docs at [lastbluetape.com/docs](https://lastbluetape.com/docs)