open-index/open-npm huggingface dataset:
npm package: @robinpath/ini
Description: Parse, stringify, read, and write INI configuration files
Latest version: 0.1.1

# @robinpath/ini

> Parse, stringify, read, and write INI configuration files

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-10-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `ini` module lets you:

- Parse an INI string to object
- Convert object to INI string
- Read and parse an INI file
- Write object as INI to file
- Get value by section and key from INI string

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/ini
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
ini.stringify $config
```

## Available Functions

| Function | Description |
|----------|-------------|
| `ini.parse` | Parse an INI string to object |
| `ini.stringify` | Convert object to INI string |
| `ini.parseFile` | Read and parse an INI file |
| `ini.writeFile` | Write object as INI to file |
| `ini.get` | Get value by section and key from INI string |
| `ini.set` | Set value by section and key, return updated INI |
| `ini.getSections` | Get all section names |
| `ini.getKeys` | Get all keys in a section |
| `ini.removeSection` | Remove a section from INI string |
| `ini.removeKey` | Remove a key from a section |

## Examples

### Convert object to INI string

```robinpath
ini.stringify $config
```

### Read and parse an INI file

```robinpath
ini.parseFile "config.ini"
```

### Write object as INI to file

```robinpath
ini.writeFile "config.ini" $obj
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/ini";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  ini.stringify $config
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/intercom
Description: Intercom module for RobinPath.
Latest version: 0.1.1

# @robinpath/intercom

> Intercom module for RobinPath.

![Category](https://img.shields.io/badge/category-CRM-blue) ![Functions](https://img.shields.io/badge/functions-19-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `intercom` module lets you:

- listContacts
- getContact
- createContact
- updateContact
- deleteContact

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/intercom
```

## Quick Start

**1. Set up credentials**

```robinpath
intercom.setCredentials "your-credentials"
```

**2. listContacts**

```robinpath
intercom.listContacts
```

## Available Functions

| Function | Description |
|----------|-------------|
| `intercom.setCredentials` | Configure intercom credentials. |
| `intercom.listContacts` | listContacts |
| `intercom.getContact` | getContact |
| `intercom.createContact` | createContact |
| `intercom.updateContact` | updateContact |
| `intercom.deleteContact` | deleteContact |
| `intercom.searchContacts` | searchContacts |
| `intercom.listConversations` | listConversations |
| `intercom.getConversation` | getConversation |
| `intercom.replyToConversation` | replyToConversation |
| `intercom.assignConversation` | assignConversation |
| `intercom.closeConversation` | closeConversation |
| `intercom.listCompanies` | listCompanies |
| `intercom.getCompany` | getCompany |
| `intercom.createCompany` | createCompany |
| `intercom.listTags` | listTags |
| `intercom.createTag` | createTag |
| `intercom.tagContact` | tagContact |
| `intercom.removeTag` | removeTag |

## Examples

### listContacts

```robinpath
intercom.listContacts
```

### getContact

```robinpath
intercom.getContact
```

### createContact

```robinpath
intercom.createContact
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/intercom";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  intercom.setCredentials "your-credentials"
  intercom.listContacts
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/hubspot`](../hubspot) — HubSpot module for complementary functionality
- [`@robinpath/salesforce`](../salesforce) — Salesforce module for complementary functionality
- [`@robinpath/pipedrive`](../pipedrive) — Pipedrive module for complementary functionality
- [`@robinpath/freshdesk`](../freshdesk) — Freshdesk module for complementary functionality
- [`@robinpath/zoho`](../zoho) — Zoho module for complementary functionality

## License

MIT
npm package: @robinpath/invoice
Description: Invoice module for RobinPath.
Latest version: 0.1.1

# @robinpath/invoice

> Invoice module for RobinPath.

![Category](https://img.shields.io/badge/category-Finance-blue) ![Functions](https://img.shields.io/badge/functions-14-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `invoice` module lets you:

- createInvoice
- addLineItem
- removeLineItem
- calculateTotals
- addDiscount

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/invoice
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
invoice.addLineItem
```

## Available Functions

| Function | Description |
|----------|-------------|
| `invoice.createInvoice` | createInvoice |
| `invoice.addLineItem` | addLineItem |
| `invoice.removeLineItem` | removeLineItem |
| `invoice.setCompanyInfo` | setCompanyInfo |
| `invoice.setClientInfo` | setClientInfo |
| `invoice.calculateTotals` | calculateTotals |
| `invoice.addDiscount` | addDiscount |
| `invoice.addNote` | addNote |
| `invoice.setPaymentTerms` | setPaymentTerms |
| `invoice.setCurrency` | setCurrency |
| `invoice.formatInvoice` | formatInvoice |
| `invoice.duplicateInvoice` | duplicateInvoice |
| `invoice.markAsPaid` | markAsPaid |
| `invoice.generateInvoiceNumber` | generateInvoiceNumber |

## Examples

### addLineItem

```robinpath
invoice.addLineItem
```

### removeLineItem

```robinpath
invoice.removeLineItem
```

### setCompanyInfo

```robinpath
invoice.setCompanyInfo
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/invoice";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  invoice.addLineItem
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/quickbooks`](../quickbooks) — QuickBooks module for complementary functionality
- [`@robinpath/xero`](../xero) — Xero module for complementary functionality
- [`@robinpath/freshbooks`](../freshbooks) — FreshBooks module for complementary functionality
- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/invoice-parser
Description: Invoice Parser module for RobinPath.
Latest version: 0.1.1

# @robinpath/invoice-parser

> Invoice Parser module for RobinPath.

![Category](https://img.shields.io/badge/category-Finance-blue) ![Functions](https://img.shields.io/badge/functions-12-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `invoice-parser` module lets you:

- parseInvoiceText
- extractTotal
- extractDate
- extractInvoiceNumber
- extractLineItems

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/invoice-parser
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
invoice-parser.extractTotal
```

## Available Functions

| Function | Description |
|----------|-------------|
| `invoice-parser.parseInvoiceText` | parseInvoiceText |
| `invoice-parser.extractTotal` | extractTotal |
| `invoice-parser.extractDate` | extractDate |
| `invoice-parser.extractInvoiceNumber` | extractInvoiceNumber |
| `invoice-parser.extractLineItems` | extractLineItems |
| `invoice-parser.extractVendorInfo` | extractVendorInfo |
| `invoice-parser.extractTaxAmount` | extractTaxAmount |
| `invoice-parser.extractCurrency` | extractCurrency |
| `invoice-parser.extractEmails` | extractEmails |
| `invoice-parser.extractPhoneNumbers` | extractPhoneNumbers |
| `invoice-parser.extractAddresses` | extractAddresses |
| `invoice-parser.categorizeExpense` | categorizeExpense |

## Examples

### extractTotal

```robinpath
invoice-parser.extractTotal
```

### extractDate

```robinpath
invoice-parser.extractDate
```

### extractInvoiceNumber

```robinpath
invoice-parser.extractInvoiceNumber
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/invoice-parser";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  invoice-parser.extractTotal
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/quickbooks`](../quickbooks) — QuickBooks module for complementary functionality
- [`@robinpath/xero`](../xero) — Xero module for complementary functionality
- [`@robinpath/freshbooks`](../freshbooks) — FreshBooks module for complementary functionality
- [`@robinpath/invoice`](../invoice) — Invoice module for complementary functionality
- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/ip
Description: IP module for RobinPath.
Latest version: 0.1.1

# @robinpath/ip

> IP module for RobinPath.

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-12-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `ip` module lets you:

- getMyIp
- geolocate
- geolocateBatch
- isPrivate
- isValid

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/ip
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
ip.geolocate
```

## Available Functions

| Function | Description |
|----------|-------------|
| `ip.getMyIp` | getMyIp |
| `ip.geolocate` | geolocate |
| `ip.geolocateBatch` | geolocateBatch |
| `ip.isPrivate` | isPrivate |
| `ip.isValid` | isValid |
| `ip.isIpv4` | isIpv4 |
| `ip.isIpv6` | isIpv6 |
| `ip.cidrContains` | cidrContains |
| `ip.cidrRange` | cidrRange |
| `ip.subnetInfo` | subnetInfo |
| `ip.reverseDns` | reverseDns |
| `ip.checkBlacklist` | checkBlacklist |

## Examples

### geolocate

```robinpath
ip.geolocate
```

### geolocateBatch

```robinpath
ip.geolocateBatch
```

### isPrivate

```robinpath
ip.isPrivate
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/ip";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  ip.geolocate
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/jotform
Description: JotForm module for RobinPath.
Latest version: 0.1.1

# @robinpath/jotform

> JotForm module for RobinPath.

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-15-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `jotform` module lets you:

- listForms
- getForm
- getFormQuestions
- listSubmissions
- getSubmission

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/jotform
```

## Quick Start

**1. Set up credentials**

```robinpath
jotform.setCredentials "your-credentials"
```

**2. listForms**

```robinpath
jotform.listForms
```

## Available Functions

| Function | Description |
|----------|-------------|
| `jotform.setCredentials` | Configure jotform credentials. |
| `jotform.listForms` | listForms |
| `jotform.getForm` | getForm |
| `jotform.getFormQuestions` | getFormQuestions |
| `jotform.listSubmissions` | listSubmissions |
| `jotform.getSubmission` | getSubmission |
| `jotform.createSubmission` | createSubmission |
| `jotform.deleteSubmission` | deleteSubmission |
| `jotform.getFormReports` | getFormReports |
| `jotform.getFormFiles` | getFormFiles |
| `jotform.listFolders` | listFolders |
| `jotform.getUser` | getUser |
| `jotform.getUsage` | getUsage |
| `jotform.getFormWebhooks` | getFormWebhooks |
| `jotform.createFormWebhook` | createFormWebhook |

## Examples

### listForms

```robinpath
jotform.listForms
```

### getForm

```robinpath
jotform.getForm
```

### getFormQuestions

```robinpath
jotform.getFormQuestions
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/jotform";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  jotform.setCredentials "your-credentials"
  jotform.listForms
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/json
Description: JSON manipulation: parse, stringify, deep merge, flatten, unflatten, diff, query by path, pick, and omit
Latest version: 0.1.1

# @robinpath/json

> JSON manipulation: parse, stringify, deep merge, flatten, unflatten, diff, query by path, pick, and omit

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-13-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `json` module lets you:

- Parse a JSON string into an object
- Convert a value to a JSON string
- Get a nested value by dot-separated path
- Deep merge two or more objects
- Flatten a nested object to dot-notation keys

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/json
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
json.stringify $obj
```

## Available Functions

| Function | Description |
|----------|-------------|
| `json.parse` | Parse a JSON string into an object |
| `json.stringify` | Convert a value to a JSON string |
| `json.get` | Get a nested value by dot-separated path |
| `json.set` | Set a nested value by dot-separated path, returning a new object |
| `json.merge` | Deep merge two or more objects |
| `json.flatten` | Flatten a nested object to dot-notation keys |
| `json.unflatten` | Unflatten dot-notation keys back to a nested object |
| `json.diff` | Compare two objects and return differences |
| `json.clone` | Deep clone an object |
| `json.isValid` | Check if a string is valid JSON |
| `json.keys` | Get all keys including nested paths with dot notation |
| `json.pick` | Pick specific keys from an object |
| `json.omit` | Omit specific keys from an object |

## Examples

### Convert a value to a JSON string

```robinpath
json.stringify $obj
```

### Get a nested value by dot-separated path

```robinpath
json.get $obj "user.name"
```

### Set a nested value by dot-separated path, returning a new object

```robinpath
json.set $obj "user.name" "Bob"
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/json";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  json.stringify $obj
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## License

MIT
npm package: @robinpath/jwt
Description: JWT (JSON Web Token) creation, signing, verification, and decoding using HMAC (HS256, HS384, HS512)
Latest version: 0.1.1

# @robinpath/jwt

> JWT (JSON Web Token) creation, signing, verification, and decoding using HMAC (HS256, HS384, HS512)

![Category](https://img.shields.io/badge/category-Web-blue) ![Functions](https://img.shields.io/badge/functions-7-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `jwt` module lets you:

- Create a signed JWT token from a payload object using HMAC (HS256, HS384, or HS512)
- Verify a JWT token signature and expiration, returning the decoded payload
- Decode a JWT token WITHOUT verifying its signature (unsafe — use for inspection only)
- Extract and decode the header from a JWT token (no verification)
- Extract and decode the payload from a JWT token without verification

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/jwt
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
jwt.verify "eyJhbGciOiJIUzI1NiJ9..." "my-secret"
```

## Available Functions

| Function | Description |
|----------|-------------|
| `jwt.sign` | Create a signed JWT token from a payload object using HMAC (HS256, HS384, or HS512) |
| `jwt.verify` | Verify a JWT token signature and expiration, returning the decoded payload |
| `jwt.decode` | Decode a JWT token WITHOUT verifying its signature (unsafe — use for inspection only) |
| `jwt.getHeader` | Extract and decode the header from a JWT token (no verification) |
| `jwt.getPayload` | Extract and decode the payload from a JWT token without verification |
| `jwt.isExpired` | Check whether a JWT token has expired based on its exp claim |
| `jwt.getExpiration` | Get the expiration timestamp (exp claim) from a JWT token |

## Examples

### Verify a JWT token signature and expiration, returning the decoded payload

```robinpath
jwt.verify "eyJhbGciOiJIUzI1NiJ9..." "my-secret"
```

### Decode a JWT token WITHOUT verifying its signature (unsafe — use for inspection only)

```robinpath
jwt.decode "eyJhbGciOiJIUzI1NiJ9..."
```

### Extract and decode the header from a JWT token (no verification)

```robinpath
jwt.getHeader "eyJhbGciOiJIUzI1NiJ9..."
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/jwt";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  jwt.verify "eyJhbGciOiJIUzI1NiJ9..." "my-secret"
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/lemlist
Description: Lemlist module for RobinPath.
Latest version: 0.1.2

# @robinpath/lemlist

> Lemlist module for RobinPath.

![Category](https://img.shields.io/badge/category-Email-marketing-blue) ![Functions](https://img.shields.io/badge/functions-15-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `lemlist` module lets you:

- listCampaigns
- getCampaign
- listCampaignLeads
- addLeadToCampaign
- deleteLeadFromCampaign

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/lemlist
```

## Quick Start

**1. Set up credentials**

```robinpath
lemlist.setCredentials "your-credentials"
```

**2. listCampaigns**

```robinpath
lemlist.listCampaigns
```

## Available Functions

| Function | Description |
|----------|-------------|
| `lemlist.setCredentials` | Configure lemlist credentials. |
| `lemlist.listCampaigns` | listCampaigns |
| `lemlist.getCampaign` | getCampaign |
| `lemlist.listCampaignLeads` | listCampaignLeads |
| `lemlist.addLeadToCampaign` | addLeadToCampaign |
| `lemlist.deleteLeadFromCampaign` | deleteLeadFromCampaign |
| `lemlist.pauseLeadInCampaign` | pauseLeadInCampaign |
| `lemlist.resumeLeadInCampaign` | resumeLeadInCampaign |
| `lemlist.markLeadAsInterested` | markLeadAsInterested |
| `lemlist.unsubscribeLead` | unsubscribeLead |
| `lemlist.listActivities` | listActivities |
| `lemlist.getLeadByEmail` | getLeadByEmail |
| `lemlist.listUnsubscribes` | listUnsubscribes |
| `lemlist.exportCampaignStats` | exportCampaignStats |
| `lemlist.getCampaignStats` | getCampaignStats |

## Examples

### listCampaigns

```robinpath
lemlist.listCampaigns
```

### getCampaign

```robinpath
lemlist.getCampaign
```

### listCampaignLeads

```robinpath
lemlist.listCampaignLeads
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/lemlist";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  lemlist.setCredentials "your-credentials"
  lemlist.listCampaigns
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/activecampaign`](../activecampaign) — ActiveCampaign module for complementary functionality
- [`@robinpath/brevo`](../brevo) — Brevo module for complementary functionality
- [`@robinpath/convertkit`](../convertkit) — Convertkit module for complementary functionality
- [`@robinpath/mailchimp`](../mailchimp) — Mailchimp module for complementary functionality
- [`@robinpath/sendgrid`](../sendgrid) — SendGrid module for complementary functionality

## License

MIT
npm package: @robinpath/linear
Description: Linear module for RobinPath.
Latest version: 0.1.2

# @robinpath/linear

> Linear module for RobinPath.

![Category](https://img.shields.io/badge/category-Project-management-blue) ![Functions](https://img.shields.io/badge/functions-21-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `linear` module lets you:

- listIssues
- getIssue
- createIssue
- updateIssue
- deleteIssue

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/linear
```

## Quick Start

**1. Set up credentials**

```robinpath
linear.setCredentials "your-credentials"
```

**2. listIssues**

```robinpath
linear.listIssues
```

## Available Functions

| Function | Description |
|----------|-------------|
| `linear.setCredentials` | Configure linear credentials. |
| `linear.listIssues` | listIssues |
| `linear.getIssue` | getIssue |
| `linear.createIssue` | createIssue |
| `linear.updateIssue` | updateIssue |
| `linear.deleteIssue` | deleteIssue |
| `linear.listProjects` | listProjects |
| `linear.getProject` | getProject |
| `linear.createProject` | createProject |
| `linear.updateProject` | updateProject |
| `linear.listTeams` | listTeams |
| `linear.getTeam` | getTeam |
| `linear.listCycles` | listCycles |
| `linear.getCycle` | getCycle |
| `linear.addIssueToCycle` | addIssueToCycle |
| `linear.listLabels` | listLabels |
| `linear.createLabel` | createLabel |
| `linear.listComments` | listComments |
| `linear.createComment` | createComment |
| `linear.searchIssues` | searchIssues |
| `linear.listUsers` | listUsers |

## Examples

### listIssues

```robinpath
linear.listIssues
```

### getIssue

```robinpath
linear.getIssue
```

### createIssue

```robinpath
linear.createIssue
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/linear";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  linear.setCredentials "your-credentials"
  linear.listIssues
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/asana`](../asana) — Asana module for complementary functionality
- [`@robinpath/clickup`](../clickup) — ClickUp module for complementary functionality
- [`@robinpath/jira`](../jira) — Jira module for complementary functionality
- [`@robinpath/monday`](../monday) — Monday.com module for complementary functionality
- [`@robinpath/todoist`](../todoist) — Todoist module for complementary functionality

## License

MIT
npm package: @robinpath/log
Description: Structured logging with levels, file output, JSON format, timers, and grouping
Latest version: 0.1.2

# @robinpath/log

> Structured logging with levels, file output, JSON format, timers, and grouping

![Category](https://img.shields.io/badge/category-Other-blue) ![Functions](https://img.shields.io/badge/functions-15-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `log` module lets you:

- Log a message at DEBUG level to stdout
- Log a message at INFO level to stdout
- Log a message at WARN level to stderr
- Log a message at ERROR level to stderr
- Log a message at FATAL level to stderr

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/log
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
log.info "Server started on port" $port
```

## Available Functions

| Function | Description |
|----------|-------------|
| `log.debug` | Log a message at DEBUG level to stdout |
| `log.info` | Log a message at INFO level to stdout |
| `log.warn` | Log a message at WARN level to stderr |
| `log.error` | Log a message at ERROR level to stderr |
| `log.fatal` | Log a message at FATAL level to stderr |
| `log.setLevel` | Set the minimum log level; messages below this level are suppressed |
| `log.getLevel` | Get the current minimum log level as a string |
| `log.setFile` | Set a file path to append log output to in addition to stdout/stderr |
| `log.setFormat` | Set the output format for log messages |
| `log.clear` | Reset all log settings to defaults (info level, no file, text format) |
| `log.table` | Pretty-print an array of objects as a table to stdout |
| `log.group` | Print a group header and increase indentation for subsequent log messages |
| `log.groupEnd` | End the current group and decrease indentation |
| `log.time` | Start a named timer |
| `log.timeEnd` | Stop a named timer and log the elapsed time in milliseconds |

## Examples

### Log a message at INFO level to stdout

```robinpath
log.info "Server started on port" $port
```

### Log a message at WARN level to stderr

```robinpath
log.warn "Deprecated function called"
```

### Log a message at ERROR level to stderr

```robinpath
log.error "Failed to connect:" $err
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/log";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  log.info "Server started on port" $port
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/markdown
Description: Markdown processing: convert to HTML, extract headings, links, images, code blocks, frontmatter, and tables
Latest version: 0.1.2

# @robinpath/markdown

> Markdown processing: convert to HTML, extract headings, links, images, code blocks, frontmatter, and tables

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-10-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `markdown` module lets you:

- Convert markdown to basic HTML
- Extract all headings with their levels
- Extract all links
- Extract all images
- Extract fenced code blocks

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/markdown
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
markdown.extractHeadings $md
```

## Available Functions

| Function | Description |
|----------|-------------|
| `markdown.toHtml` | Convert markdown to basic HTML |
| `markdown.extractHeadings` | Extract all headings with their levels |
| `markdown.extractLinks` | Extract all links |
| `markdown.extractImages` | Extract all images |
| `markdown.extractCodeBlocks` | Extract fenced code blocks |
| `markdown.stripMarkdown` | Strip all markdown formatting to plain text |
| `markdown.extractFrontmatter` | Parse YAML frontmatter from markdown |
| `markdown.extractTodos` | Extract task list items |
| `markdown.tableToArray` | Parse a markdown table into array of objects |
| `markdown.wordCount` | Count words in markdown (stripping formatting) |

## Examples

### Extract all headings with their levels

```robinpath
markdown.extractHeadings $md
```

### Extract all links

```robinpath
markdown.extractLinks $md
```

### Extract all images

```robinpath
markdown.extractImages $md
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/markdown";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  markdown.extractHeadings $md
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/math
Description: Math utilities: clamp, round, random, statistics, factorial, GCD, LCM, prime check, and linear interpolation
Latest version: 0.1.2

# @robinpath/math

> Math utilities: clamp, round, random, statistics, factorial, GCD, LCM, prime check, and linear interpolation

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-15-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `math` module lets you:

- Clamp a number between a minimum and maximum value
- Round a number to N decimal places
- Generate a random integer between min and max (inclusive)
- Generate a random float between min and max
- Calculate the sum of an array of numbers

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/math
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
math.round 3.14159 2
```

## Available Functions

| Function | Description |
|----------|-------------|
| `math.clamp` | Clamp a number between a minimum and maximum value |
| `math.round` | Round a number to N decimal places |
| `math.randomInt` | Generate a random integer between min and max (inclusive) |
| `math.randomFloat` | Generate a random float between min and max |
| `math.sum` | Calculate the sum of an array of numbers |
| `math.avg` | Calculate the average of an array of numbers |
| `math.median` | Calculate the median of an array of numbers |
| `math.min` | Find the minimum value in an array |
| `math.max` | Find the maximum value in an array |
| `math.percentage` | Calculate what percentage a value is of a total |
| `math.factorial` | Calculate the factorial of a number |
| `math.gcd` | Calculate the greatest common divisor of two numbers |
| `math.lcm` | Calculate the least common multiple of two numbers |
| `math.isPrime` | Check if a number is prime |
| `math.lerp` | Linear interpolation between two values |

## Examples

### Round a number to N decimal places

```robinpath
math.round 3.14159 2
```

### Generate a random integer between min and max (inclusive)

```robinpath
math.randomInt 1 100
```

### Generate a random float between min and max

```robinpath
math.randomFloat 0 1
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/math";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  math.round 3.14159 2
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/mime
Description: MIME type detection from extensions and file content, type classification, Content-Type building
Latest version: 0.1.2

# @robinpath/mime

> MIME type detection from extensions and file content, type classification, Content-Type building

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-12-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `mime` module lets you:

- Get MIME type from file extension
- Get extension from MIME type
- Detect MIME type from file content (magic bytes)
- Get charset for MIME type
- Check if MIME type is text-based

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/mime
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
mime.extension "image/png"
```

## Available Functions

| Function | Description |
|----------|-------------|
| `mime.lookup` | Get MIME type from file extension |
| `mime.extension` | Get extension from MIME type |
| `mime.detect` | Detect MIME type from file content (magic bytes) |
| `mime.charset` | Get charset for MIME type |
| `mime.isText` | Check if MIME type is text-based |
| `mime.isImage` | Check if MIME type is image |
| `mime.isAudio` | Check if MIME type is audio |
| `mime.isVideo` | Check if MIME type is video |
| `mime.isFont` | Check if MIME type is font |
| `mime.isArchive` | Check if MIME type is archive |
| `mime.contentType` | Build Content-Type header with charset |
| `mime.allTypes` | Get all known MIME type mappings |

## Examples

### Get extension from MIME type

```robinpath
mime.extension "image/png"
```

### Detect MIME type from file content (magic bytes)

```robinpath
mime.detect "./unknown_file"
```

### Get charset for MIME type

```robinpath
mime.charset "text/html"
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/mime";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  mime.extension "image/png"
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/mixpanel
Description: Mixpanel module for RobinPath.
Latest version: 0.1.2

# @robinpath/mixpanel

> Mixpanel module for RobinPath.

![Category](https://img.shields.io/badge/category-Analytics-blue) ![Functions](https://img.shields.io/badge/functions-15-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `mixpanel` module lets you:

- trackEvent
- trackBatch
- identifyUser
- deleteUserProfile
- exportEvents

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/mixpanel
```

## Quick Start

**1. Set up credentials**

```robinpath
mixpanel.setCredentials "your-credentials"
```

**2. trackEvent**

```robinpath
mixpanel.trackEvent
```

## Available Functions

| Function | Description |
|----------|-------------|
| `mixpanel.setCredentials` | Configure mixpanel credentials. |
| `mixpanel.trackEvent` | trackEvent |
| `mixpanel.trackBatch` | trackBatch |
| `mixpanel.identifyUser` | identifyUser |
| `mixpanel.setUserProfile` | setUserProfile |
| `mixpanel.deleteUserProfile` | deleteUserProfile |
| `mixpanel.exportEvents` | exportEvents |
| `mixpanel.getTopEvents` | getTopEvents |
| `mixpanel.getEventStats` | getEventStats |
| `mixpanel.getFunnelReport` | getFunnelReport |
| `mixpanel.getRetention` | getRetention |
| `mixpanel.getSegmentation` | getSegmentation |
| `mixpanel.listCohorts` | listCohorts |
| `mixpanel.getInsights` | getInsights |
| `mixpanel.queryJql` | queryJql |

## Examples

### trackEvent

```robinpath
mixpanel.trackEvent
```

### trackBatch

```robinpath
mixpanel.trackBatch
```

### identifyUser

```robinpath
mixpanel.identifyUser
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/mixpanel";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  mixpanel.setCredentials "your-credentials"
  mixpanel.trackEvent
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT
npm package: @robinpath/monday
Description: Monday.com module for RobinPath.
Latest version: 0.1.2

# @robinpath/monday

> Monday.com module for RobinPath.

![Category](https://img.shields.io/badge/category-Project-management-blue) ![Functions](https://img.shields.io/badge/functions-19-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `monday` module lets you:

- listBoards
- getBoard
- createBoard
- listItems
- getItem

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/monday
```

## Quick Start

**1. Set up credentials**

```robinpath
monday.setCredentials "your-credentials"
```

**2. listBoards**

```robinpath
monday.listBoards
```

## Available Functions

| Function | Description |
|----------|-------------|
| `monday.setCredentials` | Configure monday credentials. |
| `monday.listBoards` | listBoards |
| `monday.getBoard` | getBoard |
| `monday.createBoard` | createBoard |
| `monday.listItems` | listItems |
| `monday.getItem` | getItem |
| `monday.createItem` | createItem |
| `monday.updateItem` | updateItem |
| `monday.deleteItem` | deleteItem |
| `monday.listGroups` | listGroups |
| `monday.createGroup` | createGroup |
| `monday.listColumns` | listColumns |
| `monday.createColumn` | createColumn |
| `monday.addUpdate` | addUpdate |
| `monday.listUpdates` | listUpdates |
| `monday.listWorkspaces` | listWorkspaces |
| `monday.createSubitem` | createSubitem |
| `monday.moveItemToGroup` | moveItemToGroup |
| `monday.archiveItem` | archiveItem |

## Examples

### listBoards

```robinpath
monday.listBoards
```

### getBoard

```robinpath
monday.getBoard
```

### createBoard

```robinpath
monday.createBoard
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/monday";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  monday.setCredentials "your-credentials"
  monday.listBoards
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/asana`](../asana) — Asana module for complementary functionality
- [`@robinpath/clickup`](../clickup) — ClickUp module for complementary functionality
- [`@robinpath/jira`](../jira) — Jira module for complementary functionality
- [`@robinpath/linear`](../linear) — Linear module for complementary functionality
- [`@robinpath/todoist`](../todoist) — Todoist module for complementary functionality

## License

MIT
npm package: @robinpath/money
Description: Currency formatting, safe arithmetic, conversion, tax, discount, and exchange rates
Latest version: 0.1.2

# @robinpath/money

> Currency formatting, safe arithmetic, conversion, tax, discount, and exchange rates

![Category](https://img.shields.io/badge/category-Utility-blue) ![Functions](https://img.shields.io/badge/functions-16-green) ![Auth](https://img.shields.io/badge/auth-none-lightgrey) ![License](https://img.shields.io/badge/license-MIT-brightgreen)

## Why use this module?

The `money` module lets you:

- Format number as currency
- Parse currency string to number
- Safe addition
- Safe subtraction
- Safe multiplication

All functions are callable directly from RobinPath scripts with a simple, consistent API.

## Installation

```bash
npm install @robinpath/money
```

## Quick Start

No credentials needed — start using it right away:

```robinpath
money.parse "$1,234.56"
```

## Available Functions

| Function | Description |
|----------|-------------|
| `money.format` | Format number as currency |
| `money.parse` | Parse currency string to number |
| `money.add` | Safe addition |
| `money.subtract` | Safe subtraction |
| `money.multiply` | Safe multiplication |
| `money.divide` | Safe division |
| `money.round` | Round to currency precision |
| `money.convert` | Convert between currencies |
| `money.fetchRate` | Fetch live exchange rate |
| `money.split` | Split amount evenly |
| `money.percentage` | Calculate percentage |
| `money.discount` | Apply discount |
| `money.tax` | Add tax |
| `money.currencyInfo` | Get currency info |
| `money.listCurrencies` | List all currency codes |
| `money.isValidCode` | Check if currency code is valid |

## Examples

### Parse currency string to number

```robinpath
money.parse "$1,234.56"
```

### Safe addition

```robinpath
money.add 0.1 0.2
```

### Safe subtraction

```robinpath
money.subtract 10.50 3.25
```

## Integration with RobinPath

```typescript
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/money";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  money.parse "$1,234.56"
`);
```

## Full API Reference

See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.

## Related Modules

- [`@robinpath/json`](../json) — JSON module for complementary functionality

## License

MIT