open-index/open-npm huggingface dataset:
npm package: @nexid/sdk
Description: TypeScript SDK for Nex Domains v2 - Agent-first domain registration on Base
Author: Safuverse
Latest version: 1.0.7

# @safuverse/safudomains-sdk

TypeScript SDK for interacting with SafuDomains v2 contracts on Base chain.

## Installation

```bash
npm install @safuverse/safudomains-sdk viem
```

## Quick Start

```typescript
import { NexDomains } from '@safuverse/safudomains-sdk'
import { createWalletClient, http } from 'viem'
import { base } from 'viem/chains'
import { privateKeyToAccount } from 'viem/accounts'

// Create a wallet client
const account = privateKeyToAccount('0x...')
const walletClient = createWalletClient({
  account,
  chain: base,
  transport: http(),
})

// Initialize SDK
const sdk = new NexDomains({
  chainId: 8453, // Base mainnet (84532 for testnet)
  walletClient,
})

// Check price for a name
const price = await sdk.getPrice('my-trading-agent')
console.log(price)
// { priceWei: 50000000000000n, priceUsd: 10000000000000000n, isAgentName: true }

// Check if name is available
const isAvailable = await sdk.available('my-trading-agent')

// Register a domain
const txHash = await sdk.register('my-trading-agent')
```

## Features

### Pricing

```typescript
// Get price for any name
const price = await sdk.getPrice('my-agent-bot')

// Check if name qualifies as agent name (10+ chars + pattern)
const isAgent = await sdk.isAgentName('my-trading-agent')

// Get pattern match count
const matchCount = await sdk.getPatternMatchCount('ai-task-bot-v2')
```

### Registration

```typescript
// Register single name
await sdk.register('my-agent')

// Batch register
await sdk.batchRegister(['agent-one', 'agent-two', 'agent-three'])
```

### x402 / ERC-8004 Payment Resolution

```typescript
// Get payment endpoint
const endpoint = await sdk.getX402Endpoint('my-agent')

// Set payment endpoint
await sdk.setX402Endpoint('my-agent', 'https://api.myagent.com/x402')

// Get/set payment address
const addr = await sdk.getPaymentAddress('my-agent', 8453)
await sdk.setPaymentAddress('my-agent', 8453, '0x...')

// Get/set supported chains
await sdk.setSupportedChains('my-agent', [8453, 1, 137])

// Get full payment profile
const profile = await sdk.getPaymentProfile('my-agent', 8453)
```

### Utilities

```typescript
// Get domain owner
const owner = await sdk.getOwner('my-agent')

// Calculate namehash
const node = sdk.namehash('my-agent')

// Get full name with TLD
const fullName = sdk.getFullName('my-agent') // "my-agent.id"
```

## Pricing Reference

| Length | Standard Price | Agent Price (10+ chars with pattern) |
|--------|---------------|--------------------------------------|
| 1 char | $2,000 | N/A |
| 2 chars | $1,000 | N/A |
| 3 chars | $200 | N/A |
| 4 chars | $40 | N/A |
| 5 chars | $10 | N/A |
| 6-9 chars | $5 | N/A |
| 10+ chars | $2 | $0.01 - $0.10 |

## License

MIT
npm package: @nexide/strapi-provider-bunny
Description: Bunny.net provider for Strapi upload
Author: Jorge Zambrano
Latest version: 1.3.5

# @nexide/strapi-provider-bunny

Bunny.net Upload Provider for Strapi V4.

## Installation

```bash
npm install @nexide/strapi-provider-bunny
```

or

```bash
yarn add @nexide/strapi-provider-bunny
```

## Configurations

See the [using a provider](https://strapi.io/documentation/developer-docs/latest/development/plugins/upload.html#using-a-provider) documentation for information on installing and using a provider. And see the [environment variables](https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#environment-variables) for setting and using environment variables in your configs.

**Example**

`./config/plugins.js`

```js
module.exports = ({ env }) => ({
  // ...
  upload: {
    config: {
      provider: '@nexide/strapi-provider-bunny',
      providerOptions: {
        api_key: env('BUNNY_API_KEY'),
        storage_zone: env('BUNNY_STORAGE_ZONE'),
        pull_zone: env('BUNNY_PULL_ZONE'),
        hostname: env('BUNNY_HOSTNAME'),
        upload_path: env('BUNNY_UPLOAD_PATH'),
      },
    },
  },
  // ...
});
```

`.env`

```
BUNNY_API_KEY: Storage Password (Inside FTP & API Access).
BUNNY_STORAGE_ZONE: Storage Zone name.
BUNNY_HOSTNAME: Hostname value (Inside FTP & API Access). eg: ny.storage.bunnycdn.com
BUNNY_PULL_ZONE: Pull Zone URL.
BUNNY_UPLOAD_PATH: Upload path, optional.  Should be in the form 'path/subdir' without leading and trailing slashes.
```

Enter Pull Zone URL without trailing slash – `https://<pull-zone-name>.b-cdn.net`.\
Optionally add Storage Endpoint Url without trailing slash ([read more](https://docs.bunny.net/reference/storage-api#storage-endpoints))

### Security Middleware Configuration

Due to the default settings in the Strapi Security Middleware you will need to modify the `contentSecurityPolicy` settings to properly see thumbnail previews in the Media Library. You should replace `strapi::security` string with the object bellow instead as explained in the [middleware configuration](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/required/middlewares.html#loading-order) documentation.

`./config/middlewares.js`

```js
module.exports = [
  // ...
  {
    name: 'strapi::security',
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          'connect-src': ["'self'", 'https:'],
          'img-src': [
            "'self'",
            'data:',
            'blob:',
            'market-assets.strapi.io',
            process.env.BUNNY_PULL_ZONE,
          ],
          'media-src': [
            "'self'",
            'data:',
            'blob:',
            'market-assets.strapi.io',
            process.env.BUNNY_PULL_ZONE,
          ],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  //  ...
];
```
npm package: @nexific/ng-pipes
Description: A library with helpful Pipes for Angular.
Author: Nexific.com
Latest version: 14.0.3

# @nexific/ng-pipes

A library with helpful Pipes for Angular.

## Pipes

### abs

Convert a number to an absolute number

### ceil

Round a number up

### floor

Round a number down

### nl2br

Convert new lines to line break html tags

### padEnd

Pad a string at the end

### padStart

Pad a string at the beginning

### repeat

Repeat a value multiple times

### round

Round a number

### safeHtml

Execute HTML in a string

### trim

Trim a string

### trimEnd

Trim a string at the end

### trimStart

Trim a string at the beginning

### truncate

Truncate a string

### unix2Date

Convert a Unix Timestamp (Seconds) to a JavaScript Date object