open-index/open-npm huggingface dataset:
npm package: @indigoprotocol/cardano-wallet
Description: Cardano wallet skills — balances, identity, staking, and transactions
Latest version: 0.1.0

# @indigoprotocol/cardano-wallet

Cardano wallet skills for AI agents — balances, identity, staking, and transactions.

## Skills

| Skill | Description | Tools |
|-------|-------------|-------|
| **cardano-balances** | Wallet balances, addresses, and UTxOs | get_addresses, get_utxos, get_balances |
| **cardano-identity** | ADAHandle resolution and lookup | get_adahandles |
| **cardano-staking** | Stake delegation and rewards | get_stake_delegation |
| **cardano-transactions** | Transaction submission with safety model | submit_transaction |

## Prerequisites

- `@indigoprotocol/cardano-mcp` server running

## License

MIT
npm package: @indigoprotocol/indigo-data
Description: Data and analytics skills for Indigo Protocol — prices, TVL, governance, DEX, oracle, and IPFS on Cardano
Latest version: 0.1.0

# @indigoprotocol/indigo-data

Data and analytics skills for the [Indigo Protocol](https://indigoprotocol.io) on Cardano.

## Skills

| Skill | Description |
|-------|-------------|
| indigo-assets | Query iAsset prices, ADA, and INDY token data |
| indigo-analytics | Protocol TVL, statistics, APR rewards, DEX yields |
| indigo-governance | Protocol parameters, polls, and sync status |
| indigo-dex | SteelSwap tokens/estimates, Iris pools, wallet balances |
| indigo-oracle | Interest oracle operations |
| indigo-ipfs | IPFS storage and collector UTXOs |

## Install

```bash
# Agent Skills CLI
npx skills add IndigoProtocol/indigo-ai

# Branded installer
npx @indigoprotocol/indigo-skills

# npm
npm install @indigoprotocol/indigo-data
```

## MCP Server

All tools require the `@indigoprotocol/indigo-mcp` server:

```bash
npx @indigoprotocol/indigo-mcp
```

## License

MIT
npm package: @indigoprotocol/indigo-defi
Description: DeFi skills for Indigo Protocol — CDP management, stability pools, staking, and redemptions on Cardano
Latest version: 0.1.0

# @indigoprotocol/indigo-defi

DeFi skills for the [Indigo Protocol](https://indigoprotocol.io) on Cardano.

## Skills

| Skill | Description |
|-------|-------------|
| indigo-cdp | Manage Collateralized Debt Positions (CDPs) |
| indigo-stability | Manage Stability Pool positions |
| indigo-staking | Manage INDY staking positions |
| indigo-redemption | Manage redemptions and LRP positions |

## Install

```bash
# Agent Skills CLI
npx skills add IndigoProtocol/indigo-ai

# Branded installer
npx @indigoprotocol/indigo-skills

# npm
npm install @indigoprotocol/indigo-defi
```

## MCP Server

All tools require the `@indigoprotocol/indigo-mcp` server:

```bash
npx @indigoprotocol/indigo-mcp
```

## License

MIT
npm package: @indigoprotocol/indigo-sdk
Description: Indigo SDK - ESM build for MCP compatibility
Author: Indigo Protocol
Latest version: 1.0.6

# Indigo SDK

** Not ready for production yet **

`indigo-sdk` is a TypeScript SDK designed to interact with Indigo endpoints for managing CDPs (Collateralized Debt Positions), Staking Positions, and Stability Pool Accounts by integrating the [lucid-evolution](https://github.com/Anastasia-Labs/lucid-evolution) library.

## Installation

```bash
npm install @indigo-labs/indigo-sdk
```

## Development

### Prerequisites

- Node.js (version specified in `.nvmrc`)
- pnpm package manager

### Setup

1. Clone this repository
2. Install dependencies: `pnpm install`
3. Build the project: `pnpm run build`

### Available Scripts

- `pnpm run build` - Build the project using tsup
- `pnpm run lint` - Run ESLint to check code quality
- `pnpm run format` - Format code using Prettier
- `pnpm run format:check` - Check if code is properly formatted
- `pnpm run test` - Run tests using Vitest

### Code Quality

This project uses:

- **ESLint** for code linting and quality checks
- **Prettier** for code formatting
- **TypeScript** for type safety

### Running Tests

There are currently a few unit tests available for datums, hash checks, and interest calculations. Additionally, acceptance tests have been published for CDPs, Staking Positions, and Stability Pool accounts. These tests initialize the Indigo Protocol and positively test that the transaction building is working in an emulated Cardano Blockchain.

Instructions:

1. Clone this repository
2. Run `pnpm install`
3. Run `pnpm run test`

## Endpoints

- **Open CDP**
- **Close CDP**
- **Deposit Collateral to CDP**
- **Withdraw Collateral from CDP**
- **Mint against CDP**
- **Burn against CDP**
- **Pay CDP Interest**
- **Open a Staking Position**
- **Adjust a Staking Position**
- **Close a Staking Position**
- **Open a Stability Pool Account**
- **Adjust a Stability Pool Account**
- **Close a Stability Pool Account**
npm package: @indigoprotocol/openclaw-indigo
Description: OpenClaw plugin for Indigo Protocol — read-only tools and commands
Latest version: 0.2.1

# @indigoprotocol/openclaw-indigo

OpenClaw plugin for the [Indigo Protocol](https://indigoprotocol.io) on Cardano. Provides read-only tools and auto-reply commands for iAsset prices, CDPs, staking, stability pools, governance, and wallet balances.

## Architecture

The plugin exports a `register(api)` function that the OpenClaw gateway calls at load time. It registers 16 agent tools and 8 auto-reply commands, all hitting the Indigo indexer REST API directly via axios.

```
src/
  index.ts — register(api) entry point, tools, commands, service
```

Formatting uses `@indigoprotocol/shared` adapters and formatters with the `markdownAdapter` (OpenClaw renders markdown through its IR pipeline for all platforms).

## Configuration

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| `indexerUrl` | string | `https://analytics.indigoprotocol.io/api/v1` | Indigo indexer REST API base URL |
| `walletAddress` | string | — | Default Cardano wallet address for `/balance` and `/cdps` |

## Agent Tools

| Tool | Description |
|------|-------------|
| `indigo_assets` | List all iAssets with prices |
| `indigo_asset_price` | Get a specific iAsset price |
| `indigo_ada_price` | Get current ADA price |
| `indigo_indy_price` | Get current INDY price |
| `indigo_tvl` | Protocol total value locked |
| `indigo_protocol_stats` | Protocol stats (TVL, assets, CDPs) |
| `indigo_apr_rewards` | Current APR rewards |
| `indigo_dex_yields` | DEX yield farming opportunities |
| `indigo_cdps` | List CDPs (filter by owner/asset) |
| `indigo_cdp_health` | Analyze CDP health for an owner |
| `indigo_stability_pools` | Stability pool info |
| `indigo_staking_info` | Staking overview |
| `indigo_staking_positions` | List staking positions |
| `indigo_polls` | Governance polls |
| `indigo_wallet_balances` | Wallet token balances |
| `indigo_order_book` | Redemption order book |

## Commands

| Command | Description |
|---------|-------------|
| `/price <asset>` | Single asset price (ADA, INDY, or any iAsset) |
| `/prices` | All iAsset prices |
| `/tvl` | Protocol TVL |
| `/balance [addr]` | Wallet balances (falls back to config wallet) |
| `/cdps [owner]` | List CDPs (falls back to config wallet) |
| `/staking` | Staking overview |
| `/pools` | Stability pools |
| `/polls` | Governance polls |

## Setup

```bash
openclaw plugin install @indigoprotocol/openclaw-indigo
openclaw gateway restart
```

## Development

```bash
npm install
npm run typecheck
```

## License

MIT — Indigo Protocol
npm package: @indigoprotocol/shared
Description: Shared formatting utilities for Indigo Protocol plugins
Latest version: 0.1.0

# @indigoprotocol/shared

Shared formatting utilities for Indigo Protocol plugins. Provides platform-specific format adapters and domain formatters for consistent output across Telegram, Discord, Slack, CLI, and plain text.

## Adapters

| Adapter | Platform | Description |
|---------|----------|-------------|
| `plainAdapter` | Plain text | No formatting, suitable for logs |
| `cliAdapter` | Terminal | ANSI color codes and box drawing |
| `telegramAdapter` | Telegram | Markdown V2 formatting |
| `discordAdapter` | Discord | Discord markdown with embeds |
| `slackAdapter` | Slack | Slack mrkdwn with Block Kit helpers |

## Formatters

| Formatter | Description |
|-----------|-------------|
| `formatCDP` / `formatCDPList` | CDP position display |
| `formatCDPHealth` | CDP health status with risk indicators |
| `formatStakingPosition` / `formatStakingList` | INDY staking positions |
| `formatStabilityAccount` / `formatStabilityList` | Stability pool accounts |
| `formatPrice` / `formatPriceList` | Asset prices with 24h change |
| `formatAPR` / `formatAPRList` | Pool APR rewards |
| `formatTVL` | Protocol TVL with breakdown |
| `formatError` | Error display with status icons |

## Usage

```typescript
import { discordAdapter, formatCDPHealth } from "@indigoprotocol/shared";

const output = formatCDPHealth(discordAdapter, {
  id: "42",
  owner: "addr1q...",
  asset: "iUSD",
  collateral: 5000,
  minted: 1000,
  ratio: 250,
  minRatio: 150,
  healthStatus: "healthy",
  liquidationPrice: 0.32,
  currentPrice: 0.45,
});
```

## License

MIT — Indigo Protocol
npm package: @indigotree/dart-sass-json-importer
Description: Allows importing json in sass files parsed by dart-sass.
Latest version: 0.2.0

# dart-sass-json-importer

A unsupported copy of [node-sass-json-importer](https://www.npmjs.com/package/node-sass-json-importer) modified to use `sass` instead of `node-sass`.
npm package: @indilago/ts-ng-annotate
Description: Add and fix dependency annotations of AngularJS on TypeScript files
Latest version: 0.3.0

# ts-ng-annotate

ts-ng-annotate adds and fixes dependency annotations of AngularJS on TypeScript files.

## Getting Started

The following steps add and fix annotations in place:

```
git clone https://github.com/kabuku/ts-ng-annotate.git
cd ts-ng-annotate
npm install
./node_modules/.bin/ts-node ts-ng-annotate-main.ts /path/to/ts-file...
```

## Supported code

ts-ng-annotate supports the following code:

- Inline function like argument of `angular.Module` method call which follows AngularJS Style Guide ([Definitions (aka Setters)](https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#definitions-aka-setters))
- Function like expression which has `'ngInject'` prologue
- Constructor which has `'ngInject'` prologue

where function like means function expression or arrow function.

## Examples

### Inline arrow function

```ts
// Before
angular.module('myapp').factory('MyService', ($http) => {});

// After
angular.module('myapp').factory('MyService', ['$http', ($http) => {}]);
```

### Constructor

```ts
// Before
class MyService {
    constructor($http) {
        'ngInject';
    }
}

// After
class MyService {
    static $inject = ['$http'];
    constructor($http) {
        'ngInject';
    }
}
```

## License

MIT
npm package: @indimeco/eslint-config-indimeco
Description: eslint config for my projects
Author: Indimeco
Latest version: 1.3.3

# eslint-config-indimeco

My customized version of natterstefan's
["How to create your own shared esLint, prettier and stylelint configuration"](https://nttr.st/2MOAAGc)
on [Medium](http://nttr.st/1REplMW). 

One of the results of the article, is this shareable eslint-config.
npm package: @indimeco/triona
Description: Triona is an esoteric bot for discord.
Author: Indimeco
Latest version: 1.4.1

# Triona
Triona is an esoteric bot for discord.

Her core feature set revolves around a given server time.

## Using Triona
Triona uses the command prefix ~
Type `~help` to see a list of commands

## Getting started for development
1. Follow the [Discord.js guide](https://discordjs.guide/) for getting started with node, creating a bot user, etc
2. Create a new `.env` file with BOT_TOKEN=<YOUR_BOT_TOKEN>
3. `yarn dev` to run the development server
4. Invite your bot user to a server
5. Try `~ping` to verify connectivity
npm package: @indiro/layout
Description: Layout for Indiro
Author: indiro71
Latest version: 1.4.18

# layout

> Layout for Indiro

[![NPM](https://img.shields.io/npm/v/layout.svg)](https://www.npmjs.com/package/layout) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @indiro/layout
```

## Usage

```jsx
import React, { Component } from 'react';

import { LayoutComponent } from '@indiro/layout';
import '@indiro/layout/dist/index.css';

function MyApp({ Component, pageProps }) {
  return (
    <LayoutComponent leftMenuItems={LeftMenu} project={project}>
      <Component {...pageProps} />
    </LayoutComponent>
  );
}

export default MyApp
```

## License

MIT © [indiro71](https://github.com/indiro71)
npm package: @indiro/library
Description: Library components from indiro
Author: indiro71
Latest version: 1.0.5

# @indiro/library

> Library components from indiro

[![NPM](https://img.shields.io/npm/v/@indiro/library.svg)](https://www.npmjs.com/package/@indiro/library) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @indiro/library
```

## Usage

```tsx
import React, { Component } from 'react'

import MyComponent from '@indiro/library'
import '@indiro/library/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [indiro71](https://github.com/indiro71)
npm package: @indiro/react-icons-library
Description: Icons library from SVG as React-components
Author: INDIRO
Latest version: 1.0.78

# Icons library

Icons library from SVG as React-components

[Online Example](https://icons.indiro.ru/?path=/story/icons--icons)

## Installation

```bash
npm i @indiro/react-icons-library
```

## Usage

```jsx
import { ArrowRight } from '@indiro/react-icons-library';

<ArrowRight style={{width: 50}} title="Right arrow" />
```
## Add new Icons

 1. Copy SVG icons in `assets`
 2. Execute command `npm run release`

## Icon overview

All icons can be viewed in the `Storybook`. Using the command `npm run storybook`

New icons are added automatically

![image](https://user-images.githubusercontent.com/30959982/214337055-2230c25b-8988-4f0c-97bb-3c82eeecacac.png)


## License

MIT
npm package: @indiscale/jsdoc-sphinx
Description: A JSDoc3 template which output ReStructured Text for Sphinx Doc
Author: Florian Spreckelsen
Latest version: 0.0.7

# JSDoc Sphinx Template

Forked from https://github.com/HumanBrainProject/jsdoc-sphinx to fix
an [incompatibility with a
dependency](https://github.com/HumanBrainProject/jsdoc-sphinx/pull/11). We
don't plan on maintaining this any further than making it compatible
with our documentation setup.

*Generate ReStructured Text from JSDoc3 API documentation that can be further processed by Sphinx.*

Use this template to generate Restructured Text from you JSDoc comments.

The generated documentation can then be
processed by [Sphinx](http://sphinx-doc.org/).

## Getting Started

Use NPM to install JSDoc3 and this template.

```bash
npm install jsdoc
npm install jsdoc-sphinx
```

Assuming your are in your project root folder, you can then generate the documentation using:

```bash
jsdoc -t node_modules/jsdoc-sphinx/template -d OUTPUT_DIR JS_SOURCE_DIR/FILE
```

## Reference

- https://jsdoc.app/

## License
Licensed under The MIT License (MIT)

For the full copyright and license information, please view the LICENSE.txt file.
npm package: @inditeai/nextjs
Description: Convenient library to display bots on your Next.js website
Author: ART
Latest version: 0.0.88

## Install

```bash
npm install @indite.io/js @indite.io/nextjs
```

## Standard

```tsx
import { Standard } from '@indite.io/nextjs'

const App = () => {
  return (
    <Standard
      bot="lead-generation-copy-3luzm6b"
      style={{ width: '100%', height: '600px' }}
    />
  )
}
```

This code is creating a container with a 100% width (will match parent width) and 600px height.

## Popup

```tsx
import { Popup } from '@indite.io/nextjs'

const App = () => {
  return <Popup bot="lead-generation-copy-3luzm6b" autoShowDelay={3000} />
}
```

This code will automatically trigger the popup window after 3 seconds.

### Open or Close a popup

You can use these commands:

```js
import { open } from '@indite.io/nextjs'

open()
```

```js
import { close } from '@indite.io/nextjs'

close()
```

```js
import { toggle } from '@indite.io/nextjs'

toggle()
```

## Bubble

```tsx
import { Bubble } from '@indite.io/nextjs'

const App = () => {
  return (
    <Bubble
      bot="lead-generation-copy-3luzm6b"
      previewMessage={{
        message: 'I have a question for you!',
        autoShowDelay: 5000,
        avatarUrl: 'https://avatars.githubusercontent.com/u/16015833?v=4',
      }}
      theme={{
        button: { backgroundColor: '#0042DA', iconColor: '#FFFFFF' },
        previewMessage: { backgroundColor: '#ffffff', textColor: 'black' },
      }}
    />
  )
}
```

This code will show the bubble and let a preview message appear after 5 seconds.

### Open or close the preview message

You can use these commands:

```js
import { showPreviewMessage } from '@indite.io/nextjs'

Bot.showPreviewMessage()
```

```js
import { hidePreviewMessage } from '@indite.io/nextjs'

Bot.hidePreviewMessage()
```

### Open or close the chat window

You can use these commands:

```js
import { open } from '@indite.io/nextjs'

open()
```

```js
import { close } from '@indite.io/nextjs'

close()
```

```js
import { toggle } from '@indite.io/nextjs'

toggle()
```

## Additional configuration

You can prefill the bot variable values in your embed code by adding the `prefilledVariables` option. Here is an example:

```tsx
import { Standard } from '@indite.io/nextjs'

const App = () => {
  return (
    <Standard
      bot="lead-generation-copy-3luzm6b"
      style={{ width: '100%', height: '600px' }}
      prefilledVariables={{
        'Current URL': 'https://my-site/account',
        'User name': 'John Doe',
      }}
    />
  )
}
```

It will prefill the `Current URL` variable with "https://my-site/account" and the `User name` variable with "John Doe". More info about variables: [here](/editor/variables).

Note that if your site URL contains query params (i.e. https://indite.io?User%20name=John%20Doe), the variables will automatically be injected to the bot. So you don't need to manually transfer query params to the bot embed configuration.
npm package: @inditeai/react
Description: Convenient library to display bots on your React app
Author: ART
Latest version: 0.0.88

## Install

```bash
npm install @indite.io/js @indite.io/react
```

## Standard

```tsx
import { Standard } from '@indite.io/react'

const App = () => {
  return (
    <Standard
      bot="lead-generation-copy-3luzm6b"
      style={{ width: '100%', height: '600px' }}
    />
  )
}
```

This code is creating a container with a 100% width (will match parent width) and 600px height.

## Popup

```tsx
import { Popup } from '@indite.io/react'

const App = () => {
  return <Popup bot="lead-generation-copy-3luzm6b" autoShowDelay={3000} />
}
```

This code will automatically trigger the popup window after 3 seconds.

### Open or Close a popup

You can use these commands:

```js
import { open } from '@indite.io/react'

open()
```

```js
import { close } from '@indite.io/react'

close()
```

```js
import { toggle } from '@indite.io/react'

toggle()
```

## Bubble

```tsx
import { Bubble } from '@indite.io/react'

const App = () => {
  return (
    <Bubble
      bot="lead-generation-copy-3luzm6b"
      previewMessage={{
        message: 'I have a question for you!',
        autoShowDelay: 5000,
        avatarUrl: 'https://avatars.githubusercontent.com/u/16015833?v=4',
      }}
      theme={{
        button: { backgroundColor: '#0042DA', iconColor: '#FFFFFF' },
        previewMessage: { backgroundColor: '#ffffff', textColor: 'black' },
      }}
    />
  )
}
```

This code will show the bubble and let a preview message appear after 5 seconds.

### Open or close the preview message

You can use these commands:

```js
import { showPreviewMessage } from '@indite.io/react'

Bot.showPreviewMessage()
```

```js
import { hidePreviewMessage } from '@indite.io/react'

Bot.hidePreviewMessage()
```

### Open or close the chat window

You can use these commands:

```js
import { open } from '@indite.io/react'

open()
```

```js
import { close } from '@indite.io/react'

close()
```

```js
import { toggle } from '@indite.io/react'

toggle()
```

## Additional configuration

You can prefill the bot variable values in your embed code by adding the `prefilledVariables` option. Here is an example:

```tsx
import { Standard } from '@indite.io/react'

const App = () => {
  return (
    <Standard
      bot="lead-generation-copy-3luzm6b"
      style={{ width: '100%', height: '600px' }}
      prefilledVariables={{
        'Current URL': 'https://my-site/account',
        'User name': 'John Doe',
      }}
    />
  )
}
```

It will prefill the `Current URL` variable with "https://my-site/account" and the `User name` variable with "John Doe". More info about variables: [here](/editor/variables).

Note that if your site URL contains query params (i.e. https://bot.io?User%20name=John%20Doe), the variables will automatically be injected to the bot. So you don't need to manually transfer query params to the bot embed configuration.