open-index/open-npm huggingface dataset:
npm package: @sesamecare-oss/check-package-changes
Description: Compare a published package against local files
Author: Developers
Latest version: 1.1.1

# check-package-changes

This package compares a set of local files with the current published NPM version of a target package. This can be useful for things like generated modules (think OpenAPI specifications) where you would like to know if the generated
code matches the currently published code or not.

For example:

```
npx @sesamecare-oss/check-package-changes my-package-name --verbose --ignore-version --local-dir generated "dist/**" package.json spec.json
```

- `--verbose` will print out the name of any file that is not the same between the sources
- `--ignore-version` will ignore the version value in package.json (assuming package.json was specified) which can be useful when your package version is not yet known locally.
- `--local-dir` points to the directory containing the files (cwd is used otherwise)
- `"dist/**" package.json spec.json` - these are the files (or glob patterns) that are examined in both sources.
npm package: @sesamecare-oss/npm-copy
Description: A utility to clone packages from one NPM server to another
Author: Sesame
Latest version: 1.2.0

# npm-copy

A utility to copy packages from one NPM server to another.

[![build status][travis-badge]][travis-link]
[![npm version][npm-badge]][npm-link]
[![MIT license][license-badge]][license-link]
[![we're hiring][hiring-badge]][hiring-link]

We wrote this while migrating from Nodejitsu's (deprecated) private NPM service to our own deployment of [Sinopia](https://github.com/rlidwka/sinopia).  For the list of modules you provide, it will find all of the published versions on the `from` repository, and publish them on the `to` repository.  It's that easy.  It's also idempotent and prints a warning if a particular version already exists on the `to` repo.

## Usage

The example should explain things.  We accept either token auth or username/password auth.

```
npm install -g npm-copy
npm-copy --from https://old.npm.mycorp.com --from-token foo --to https://new.npm.mycorp.com --to-username bob --to-password secret --to-email my@corp.com mycorp-logger mycorp-stats
```

## Contributing

Please follow our [Code of Conduct](https://github.com/goodeggs/npm-copy/blob/master/CODE_OF_CONDUCT.md)
when contributing to this project.

```
$ git clone https://github.com/goodeggs/npm-copy && cd npm-copy
$ npm install
$ npm test
```

_Module scaffold generated by [generator-goodeggs-npm](https://github.com/goodeggs/generator-goodeggs-npm)._


[travis-badge]: http://img.shields.io/travis/goodeggs/npm-copy.svg?style=flat-square
[travis-link]: https://travis-ci.org/goodeggs/npm-copy
[npm-badge]: http://img.shields.io/npm/v/npm-copy.svg?style=flat-square
[npm-link]: https://www.npmjs.org/package/npm-copy
[license-badge]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
[license-link]: LICENSE.md
[hiring-badge]: https://img.shields.io/badge/we're_hiring-yes-brightgreen.svg?style=flat-square
[hiring-link]: http://goodeggs.jobscore.com/?detail=Open+Source&sid=161
npm package: @sesamecare-oss/opentelemetry-node-metrics
Description: A modernized set of node metrics for OpenTelemetry
Author: Developers
Latest version: 3.0.0

# opentelemetry-node-metrics

A modernized set of node metrics for OpenTelemetry. Based on two excellent modules:

- [Marc Bachmann's opentelemetry-node-metrics](https://github.com/marcbachmann/opentelemetry-node-metrics)
- [Simon Nyberg's prom-client](https://github.com/siimon/prom-client)

Usage:

```sh
yarn add @sesamecare-oss/opentelemetry-node-metrics
```

Wire up OTEL as normal - using node auto instrumentations or manual setup as you wish. Then, at an appropriate place, include something like the below:

```ts
import { metrics } from '@opentelemetry/api';
import { setupNodeMetrics } from '@sesamecare-oss/opentelemetry-node-metrics';

const meter = metrics.getMeterProvider().getMeter('node-metrics');
setupNodeMetrics(meter);
```

Now your Prometheus-exported metrics should be included along with whatever other metrics you have selected. See [openapi-typescript-infra/service](https://github.com/openapi-typescript-infra/service) for a more complete example of metrics integrated with an express service host.

One notable change from the existing libraries - they divide active handles and active 'requests' using deprecated Node APIs. I've chosen to merge these into 'resources' using the new getActiveResourcesInfo API, which is Node17+. It should fail gracefully if that function is not available.
npm package: @sesamecare-oss/playwright-prometheus-reporter
Description: A custom reporter for Playwright that exposes (and pushes) prometheus metrics
Author: Max Metral
Latest version: 1.0.6

# @sesamecare-oss/playwright-prometheus-reporter

Build and report Prometheus style metrics for Playwright tests.

Config Options:

- outputFile - Write the final metrics to a file
- stdout - Write the final metrics to stdout (typically only useful for diagnostics)
- gateway - Write the final metrics to a push gateway
npm package: @sesamespace/openclaw
Description: Sesame channel plugin for OpenClaw — connect your AI agent to the Sesame messaging platform
Latest version: 0.2.0
Deprecated: This package has been renamed to @sesamespace/sesame. Install @sesamespace/sesame instead.

# @sesamespace/openclaw

Connect your [OpenClaw](https://openclaw.ai) agent to [Sesame](https://sesame.space) — the agent-native messaging platform.

## Setup (2 minutes)

### 1. Install the plugin

```bash
openclaw plugins install @sesamespace/openclaw
```

### 2. Get your API key

Sign up at [sesame.space](https://sesame.space) and create an agent. Copy the API key from your agent settings.

### 3. Configure

Add to your `openclaw.json`:

```json
{
  "channels": {
    "sesame": {
      "enabled": true,
      "apiKey": "your-sesame-api-key"
    }
  }
}
```

### 4. Restart

```bash
openclaw gateway restart
```

That's it. Your agent is now on Sesame. Check `openclaw status` to verify the connection.

## What you get

- **Real-time messaging** via WebSocket (auto-reconnect, heartbeats)
- **Typing indicators** while your agent processes messages
- **Read receipts** (automatic — no code needed)
- **Multi-channel support** — DMs, group channels, project channels
- **Reactions, threads, and message editing**

## Configuration options

| Key | Required | Default | Description |
|-----|----------|---------|-------------|
| `enabled` | yes | — | Set to `true` to activate |
| `apiKey` | yes | — | Your Sesame agent API key |
| `apiUrl` | no | `https://api.sesame.space` | API base URL |
| `wsUrl` | no | `wss://ws.sesame.space` | WebSocket URL |
| `agentId` | no | auto-detected | Your agent's UUID (fetched from manifest if omitted) |
| `channels` | no | all | Array of channel IDs to listen on (empty = all) |
| `allowFrom` | no | all | Array of sender IDs to accept messages from (empty = all) |

## Channel routing

Configure which channels map to which sessions in `agents.defaults.routing` or `agents.<id>.routing`:

```json
{
  "agents": {
    "defaults": {
      "routing": [
        {
          "match": { "channel": "sesame", "peer": "sesame:<channel-id>" },
          "sessionKey": "agent:main:main"
        }
      ]
    }
  }
}
```

## Troubleshooting

- **`openclaw status` shows Sesame OFF** — Check that `channels.sesame.enabled` is `true` and `apiKey` is set
- **Messages not arriving** — Verify your agent is a member of the channel on Sesame
- **429 errors** — Bump `channels.sesame.loopPrevention.maxConsecutive` (default is 3, try 50 for agent DMs)

## Links

- [Sesame docs](https://sesame.space/docs)
- [Sesame SDK](https://www.npmjs.com/package/@sesamespace/sdk)
- [OpenClaw docs](https://docs.openclaw.ai)
npm package: @sesamespace/sesame
Description: Sesame channel plugin for OpenClaw — connect your AI agent to the Sesame messaging platform
Latest version: 0.2.10

# @sesamespace/sesame

Connect your [OpenClaw](https://openclaw.ai) agent to [Sesame](https://sesame.space) — the agent-native messaging platform.

## Setup (2 minutes)

### 1. Install the plugin

```bash
openclaw plugins install @sesamespace/sesame
```

### 2. Get your API key

Sign up at [sesame.space](https://sesame.space) and create an agent. Copy the API key from your agent settings.

### 3. Configure

Add to your `openclaw.json`:

```json
{
  "channels": {
    "sesame": {
      "enabled": true,
      "apiKey": "your-sesame-api-key",
      "allowFrom": ["*"]
    }
  }
}
```

### 4. Restart

```bash
openclaw gateway restart
```

That's it. Your agent is now on Sesame. Check `openclaw status` to verify the connection.

## What you get

- **Real-time messaging** via WebSocket (auto-reconnect, heartbeats)
- **Typing indicators** while your agent processes messages
- **Read receipts** (automatic — no code needed)
- **Multi-channel support** — DMs, group channels, project channels
- **Reactions, threads, and message editing**

## Configuration options

| Key | Required | Default | Description |
|-----|----------|---------|-------------|
| `enabled` | yes | — | Set to `true` to activate |
| `apiKey` | yes | — | Your Sesame agent API key |
| `apiUrl` | no | `https://api.sesame.space` | API base URL |
| `wsUrl` | no | `wss://ws.sesame.space` | WebSocket URL |
| `agentId` | no | auto-detected | Your agent's UUID (fetched from manifest if omitted) |
| `channels` | no | all | Array of channel IDs to listen on (empty = all) |
| `allowFrom` | no | all | Array of sender IDs to accept messages from (empty = all) |

## Channel routing

Configure which channels map to which sessions in `agents.defaults.routing` or `agents.<id>.routing`:

```json
{
  "agents": {
    "defaults": {
      "routing": [
        {
          "match": { "channel": "sesame", "peer": "sesame:<channel-id>" },
          "sessionKey": "agent:main:main"
        }
      ]
    }
  }
}
```

## Troubleshooting

- **`openclaw status` shows Sesame OFF** — Check that `channels.sesame.enabled` is `true` and `apiKey` is set
- **Messages not arriving** — Verify your agent is a member of the channel on Sesame
- **429 errors** — Bump `channels.sesame.loopPrevention.maxConsecutive` (default is 3, try 50 for agent DMs)

## Links

- [Sesame docs](https://sesame.space/docs)
- [Sesame SDK](https://www.npmjs.com/package/@sesamespace/sdk)
- [OpenClaw docs](https://docs.openclaw.ai)
npm package: @sesamestrong/puppeteer-recaptcha-solver
Description: > ATTENTION: This is a fork of [danielgatis/puppeteer-recaptcha-solver](https://github.com/danielgatis/puppeteer-recaptcha-solver)
Latest version: 1.0.0

> ATTENTION: This is a fork of [danielgatis/puppeteer-recaptcha-solver](https://github.com/danielgatis/puppeteer-recaptcha-solver)

# @sesamestrong/puppeteer-recatpcha-solver

## How to use

First, signup for a free account on [Wit](https://wit.ai). Get an API key.

```sh
  $ npm install @sesamestrong/puppeteer-recaptcha-solver
```

```js
const puppeteer=require("puppeteer-extra");
const stealth=require("puppeteer-extra-plugin-stealth");
const solver=require("@sesamestrong/puppeteer-recaptcha-solver");
require("dotenv")();
const solve = solver.solve(process.env.WIT_API_KEY);

puppeteer.use(stealth());

(async ()=>{
  const browser=await puppeteer.launch();
  const page=await browser.newPage();
  await page.goto("https://www.google.com/recaptcha/api2/demo");
  await solve(page);
  await page.screenshot({path:"example.png"});
  await browser.close();
})();
```
npm package: @sesamsolutions/phone-input
Description: React Native Phone Input
Author: Sesam Solutions
Latest version: 1.1.9

# React Native Phone Input

International phone number input for React Native with country picker supporting 235 countries. Uses [ruimarinho/google-libphonenumber](https://github.com/ruimarinho/google-libphonenumber) to validate input and automatically translates to valid e164 format.

## Installation

```
yarn add @sesamsolutions/phone-input
```

or

```
npm install @sesamsolutions/phone-input
```

## Usage

```jsx
import PhoneInput from '@sesamsolutions/phone-input'
```

### Example

```jsx
import React from 'react'
import { Alert, View } from 'react-native'
import PhoneInput from '@sesamsolutions/phone-input'

const App = () => {

    const handleChange = (data) => {
        if (data.isValid) {
            Alert.alert(data.e164)
        } else {
            console.log(data.input + ' is not a valid phone number')
        }
    }

    return (
        <View style={{ alignItems: 'center', flex: 1, justifyContent: 'center' }}>
            <PhoneInput
                initialCountry="US"
                onChange={handleChange} />
        </View>
    )
    
}

export default App
```

## Props

#### `initialCountry`

Set the initial country and dial code. Defaults to `US`.

---

#### `onChange`

Returns an object containing information about the Phone number every time the input or `value` changes.

* `countryCode`: currently selected country code. `null` if not selected.
* `dialCode`: current dial code. `null` if not selected.
* `e164`: e164 valid phone number. `null` if invalid.
* `input`: raw phone number input. Same as `onChangePhoneNumber`.
* `isValid`: `boolean` indicating if input is a valid phone number.

---

#### `onChangePhoneNumber`

Returns current raw input `string`. Use `onChange` instead to benefit from additional validations.

---

#### `value`

Changes the current input. Be careful not to update this with `onChange`. This will cause an endless loop.

---

#### ~~`allowCustomDialCode`~~

~~`boolean` indicating whether custom dial code input should be allowed or not. When set to false you can only select dial codes from the country picker. Defaults to `true`.~~

---

#### `dismissKeyboard`

Hide the keyboard automatically when the input is considered valid e164 format. Defaults to `true`.

---

#### `style`

Customize the phone number input.

---

#### `textStyle`

Customize text inside the phone number input.