open-index/open-npm huggingface dataset:
npm package: @notifiles/sdk
Description: [![npm Package](https://img.shields.io/npm/v/servable-engine.svg?style=flat-square)](https://www.npmjs.org/package/servable-engine) [![NPM Downloads](https://img.shields.io/npm/dm/servable-engine.svg)](https://npmjs.org/package/servable-engine) [![Build S
Author: adoucoure
Latest version: 1.3.0

# CliNext

[![npm Package](https://img.shields.io/npm/v/servable-engine.svg?style=flat-square)](https://www.npmjs.org/package/servable-engine)
[![NPM Downloads](https://img.shields.io/npm/dm/servable-engine.svg)](https://npmjs.org/package/servable-engine)
[![Build Status](https://github.com/clinext-org/sdk/actions/workflows/release.yml/badge.svg)](https://github.com/clinext-org/sdk/actions/tests.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

CLINext is a Node Js CLI framework.
#TODO

## Install
```bash
yarn add @clinext/sdk
```

Use the generator
```bash
npx @clinext/generator
```
The generator is a project generator


## License

MIT © [servable-community](https://github.com/servable-community)
npm package: @notifire/emailjs
Description: An emailjs provider for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# EmailJs Email Provider

An [emailjs](https://github.com/eleith/emailjs) email provider library for [notifire](https://github.com/notifirehq/notifire).

## Usage

```javascript
import { EmailJsProvider } from '@notifire/emailjs';

const provider = new EmailJsProvider({
  from: process.env.EMAILJS_FROM_EMAIL,
  host: process.env.EMAILJS_HOST,
  user: process.env.EMAILJS_USERNAME,
  password: process.env.EMAILJS_PASSWORD,
  port: process.env.EMAILJS_PORT,
  secure: process.env.EMAILJS_SECURE,
});
```
npm package: @notifire/mailgun
Description: A mailgun wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Mailgun Provider

A mailgun email provider library for [@notifire/core](https://github.com/notifirehq/notifire).

## Usage

```javascript
import { MailgunEmailProvider } from '@notifire/mailgun';

const provider = new MailgunEmailProvider({
  apiKey: process.env.MAILGUN_API_KEY,
  domain: process.env.MAILGUN_DOMAIN,
  username: process.env.MAILGUN_USERNAME,
});
```
npm package: @notifire/mailjet
Description: A mailjet wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire Mailjet Provider

A Mailjet email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
    import { MailjetEmailProvider } from "@notifire/mailjet";
    const provider = new MailjetEmailProvider({
      apiKey: process.env.MAILJET_APIKEY,
      apiSecret: process.env.MAILJET_API_SECRET,
      from: process.env.MAILJET_FROM_EMAIL,
    });
```
npm package: @notifire/mandrill
Description: A mandrill wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Mandrill Provider

A mandrill email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { MandrillProvider } from '@notifire/mandrill';

const provider = new MandrillProvider({
  apiKey: process.env.apiKey,
  from: process.env.email,
});
```
npm package: @notifire/nest
Description: A nestjs wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# NestJS Module Wrapper

A NestJS module wrapper for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

Initializing module with templates and providers:
```javascript
    import { NotifireModule } from "@notifire/nest";

    @Module({
      imports: [
        NotifireModule.forRoot({
          providers: [
            new SendgridEmailProvider({
              apiKey: process.env.SENDGRID_API_KEY,
              from: 'sender@mail.com',
            }),
          ],
          templates: [
            {
              id: 'password-reset',
              messages: [
                {
                  subject: 'Your password reset request',
                  channel: ChannelTypeEnum.EMAIL,
                  template: `
                          Hi {{firstName}}!

                          To reset your password click <a href="{{resetLink}}">here.</a>
                          `,
                },
              ],
            },
          ],
        }),
      ],
    })
```

Using notifire's singleton service in other services and modules:

```javascript
import { Injectable, Inject } from '@nestjs/common';
import { NotifireService } from '@notifire/nest';

@Injectable()
export class UserService {
  constructor(private readonly notifire: NotifireService) {}

  async triggerEvent() {
    await this.notifire.trigger('password-reset', {
      $email: 'reciever@mail.com',
      $user_id: 'id'
    });
  }
}
```
npm package: @notifire/nexmo
Description: A nexmo wrapper for notifire
Latest version: 0.3.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire Nexmo Provider

A Nexmo SMS provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { NexmoSmsProvider } from '@notifire/nexmo';

const provider = new NexmoSmsProvider({
  apiKey: process.env.VONAGE_API_KEY,
  apiSecret: process.env.VONAGE_API_SECRET,
  from: process.env.VONAGE_FROM_NUMBER, // a valid Vonage phone number
});
```
npm package: @notifire/node
Description: A nodejs package for interacting with the notifire api
Latest version: 1.0.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<p align="center">
  <a href="https://notifire.co">
    <img width="200" src="https://notifire.co/img/logo.png">
  </a>
</p>

<h1 align="center">Notifire Node SDK</h1>

<div align="center">

And SDK to interact with the Notifire API

</div>

## ✨ Features

- 🌈 Trigger new notifications from node
- 📦 Easy to setup and integrate
- 🛡 Written in TypeScript with predictable static types.

## 📦 Install

```bash
npm install @notifire/node
```

```bash
yarn add @notifire/node
```

## 🔨 Usage

```ts
import { Notifire } from '@notifire/node';

const notifire = new Notifire(process.env.NOTIFIRE_API_KEY);

await notifire.trigger('<REPLACE_WITH_EVENT_NAME>', {
  $user_id: "<USER IDENTIFIER>",
  $email: "<USER_EMAIL>",
  customAttribute: "", // use the custom attribute from each event here
  firstName: "" 
});

```

### TypeScript

`@notifire/node` is written in TypeScript with complete definitions.

## 🔗 Links

- [Home page](https://notifire.co/)
npm package: @notifire/nodemailer
Description: A nodemailer wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Nodemailer Provider

A nodemailer email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { NodemailerProvider } from '@notifire/nodemailer';

const provider = new NodemailerProvider({
  from: process.env.NODEMAILER_FROM_EMAIL,
  host: process.env.NODEMAILER_HOST,
  user: process.env.NODEMAILER_USERNAME,
  password: process.env.NODEMAILER_PASSWORD,
  port: process.env.NODEMAILER_PORT,
  secure: process.env.NODEMAILER_SECURE,
});
```
npm package: @notifire/plivo
Description: A plivo wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Plivo Provider

A plivo sms provider library for [@notifire/core](https://github.com/notifirehq/notifire).

## Usage

```javascript
import { PlivoSmsProvider } from '@notifire/plivo';

const provider = new PlivoSmsProvider({
  accountSid: process.env.PLIVO_ACCOUNT_ID,
  authToken: process.env.PLIVO_AUTH_TOKEN,
  from: process.env.PLIVO_FROM_NUMBER, // a valid plivo phone number
});
```
npm package: @notifire/postmark
Description: A postmark wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Postmark Provider

A postmark email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { PostmarkEmailProvider } from '@notifire/postmark';

const provider = new PostmarkEmailProvider({
  apiKey: process.env.POSTMARK_API_KEY
});
```
npm package: @notifire/sendgrid
Description: A sendgrid wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs SendGrid Provider

A sendgrid email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { SendgridEmailProvider } from '@notifire/sendgrid';

const provider = new SendgridEmailProvider({
  apiKey: process.env.SENDGRID_API_KEY
});
```
npm package: @notifire/sendinblue
Description: A sendinblue wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire Sendinblue Provider

A Sendinblue email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { SendinblueEmailProvider } from './sendinblue.provider';

const provider = new SendinblueEmailProvider({
  apiKey: process.env.SENDINBLUE_API_KEY
});
```
npm package: @notifire/ses
Description: A ses wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire Ses Provider

A SES email provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { SESEmailProvider } from "@notifire/ses"

const provider = new SESEmailProvider({
    region: "eu-west-1",
    accessKeyId: "AWS_ACCESS_KEY_ID",
    secretAccessKey: "AWS_SECRET_ACCESS_KEY",
    from: "from@email.com",
});
```
npm package: @notifire/sms77
Description: A sms77 wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire sms77 Provider

A sms77 sms provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { Sms77SmsProvider } from '@notifire/sms77';

const provider = new Sms77SmsProvider({
    apiKey: process.env.SMS77_API_KEY,
    from: process.env.SMS77_FROM, // optional
});
```
npm package: @notifire/sns
Description: A sns wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Notifire Sns Provider

A SNS SMS provider library for [@notifire/core](https://github.com/notifirehq/notifire)

## Usage

```javascript
import { SNSSmsProvider } from "@notifire/sns"

const provider = new SNSSmsProvider({
    region: "eu-west-1",
    accessKeyId: "AWS_ACCESS_KEY_ID",
    secretAccessKey: "AWS_SECRET_ACCESS_KEY",
});
```
npm package: @notifire/twilio
Description: A twilio wrapper for notifire
Latest version: 0.3.6-alpha.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Nodejs Twilio Provider

A twilio sms provider library for [@notifire/core](https://github.com/notifirehq/notifire).

## Usage

```javascript
import { TwilioSmsProvider } from '@notifire/twilio';

const provider = new TwilioSmsProvider({
  accountSid: process.env.TWILIO_ACCOUNT_SID,
  authToken: process.env.TWILIO_AUTH_TOKEN,
  from: process.env.TWILIO_FROM_NUMBER, // a valid twilio phone number
});
```
npm package: @notify.events/node-red
Description: Notify.Events node for Node-RED
Author: Notify.Events
Latest version: 1.1.2

# Notify.Events node for Node-RED

> [Читать на русском](README_RU.md)

This node allows you to receive notifications by:
* SMS
* Voice call
* Telegram
* Viber
* Signal
* Microsoft Teams
* Facebook Messenger
* Discord
* Jabber/XMPP
* E-Mail
* Skype
* Push-message
* Line

You can find a complete list of messengers [here](https://notify.events/features).

You can specify the priority and level for each message and then use these properties to distribute notification flows.

Attaching files, images and actions is also supported.
npm package: @notify.events/nodejs
Description: Node.js client for Notify.Events
Author: Notify.Events
Latest version: 1.2.3

# Node.js client for Notify.Events

A simple node.js extension that simplifies the process of integrating your project with the [Notify.Events](https://notify.events) service to send messages to your channels.

#### Instruction in other languages

- [Русский](/docs/ru-RU/README.md)

# Installation

The preferred way to install this extension is through [npm](https://www.npmjs.com/get-npm).

Either run

```
npm install @notify.events/nodejs
```

or add

```
"@notify.events/nodejs": "~1.0"
```

to the dependencies section of your package.json.

# Usage

To use this extension, you need to import the Message class into your Node.js script.

If you have used npm for installation, it will be enough to include lib like this:

```nodejs
const Message = require('@notify.events/nodejs').Message;
```

Otherwise, if you added the lib manually, you need to import the Message by full path:

```nodejs
const Message = require('./path/to/your/Message');
```

After that, you can create a message object, set the necessary parameters and send the message to the channel.

### Usage example

```nodejs
const Message = require('@notify.events/nodejs').Message;

// Defining channel token.
// You get this token when creating a channel on the Notify.Events service.
const token = 'XXXXXXXX';

// Create a message object.
const message = new Message('Some <b>important</b> message', 'Title', Message.PRIORITY_HIGH, Message.LEVEL_ERROR);

// Attach the file to the message.
message.addFile('path\to\local\file');

// Send a message to your channel in Notify.Events.
message.send(token);
```
npm package: @notify.me/link-parser
Description: A directory of supported platforms for Notify with link parsing and metadata
Author: Notify Technology, Inc.
Latest version: 1.0.14

# Notify Link Parser

Link parser for parsing data from platform specific links such as YouTube videos or Twitch Clips.

## Running the tests

Run the tests using mocha and chi

`yarn test`

## Usage

We're going to write better documentation about using this library and contributing, but for now we'd love contributions.
npm package: @notify.me/platforms
Description: Public platform definitions for Notify.me
Author: Notify Technology, Inc,
Latest version: 1.0.0

# What is this repo all about?
This repository hold files that we want help on the platform notify supports.

# Platforms
This is how we format a platform `object` and what we use the data for

### Here is an example platform
```js
youtube: {
    key: 'youtube',
    name: 'YouTube',
    url: 'youtube.com',
    hex: '#ff0000',
    wideThumb: true,
    urlMatch: /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/,
    extract: (link) => link.match(/^.*(youtu.be\/|v\/|e\/|u\/\w+\/|embed\/|v=)([^#\&\?]*).*/).filter(result => result.length === 11)[0],
},
```

### Here is what everything is used for
```
key: The key is what we use to get the icon files
name: This is the display name for the platform
url: The base domain for the platform
hex: The primary color for the platform
wideThumb: This determines if the platform's thumbnails takes up the whole post image
urlMatch: This is the regex that we use to determine whether a url belongs to this platform
extract: This is a function which used a regex to extract content from the url
```
npm package: @notifyhub/sdk
Description: TypeScript SDK for Notifyhub.
Author: Notifyhub
Latest version: 0.0.5

# @notifyhub/sdk

TypeScript SDK for NotifyHub with a dedicated playground for inbox, preferences, and realtime connection flows.

## Development

From the monorepo root:

```bash
bun install
```

- Playground:

```bash
cd packages/sdk && bun run play
```

- Tests:

```bash
cd packages/sdk && bun run test
```

- Build:

```bash
cd packages/sdk && bun run build
```

- Typecheck (also run via `turbo run check-types`):

```bash
cd packages/sdk && bun run check-types
```
npm package: @notifyon/next
Description: Next.js SDK for NotifyOn
Author: NotifyOn
Latest version: 0.1.2

# @notifyon/next

Next.js SDK for NotifyOn - Real-time notifications for your Next.js applications.

## Installation

```bash
npm install @notifyon/next
# or
yarn add @notifyon/next
# or
pnpm add @notifyon/next
```

## Usage

### App Router (Next.js 13+)

```jsx
import { NotifyOn } from '@notifyon/next';

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        <NotifyOn 
          publicKey="pk_your_public_key"
          userId="user_123"
        />
        {children}
      </body>
    </html>
  );
}
```

### Pages Router

```jsx
import { NotifyOn } from '@notifyon/next';

export default function MyApp({ Component, pageProps }) {
  return (
    <>
      <NotifyOn 
        publicKey="pk_your_public_key"
        userId="user_123"
      />
      <Component {...pageProps} />
    </>
  );
}
```

## Props

| Prop | Type | Required | Description |
|------|------|----------|-------------|
| `publicKey` | string | Yes | Your NotifyOn public key |
| `userId` | string | Yes | The user ID to receive notifications |

## SSR Support

The component is marked with `'use client'` directive and automatically handles server-side rendering. It only initializes on the client side, preventing hydration issues.

## License

MIT
npm package: @notifyon/react
Description: React SDK for NotifyOn
Author: NotifyOn
Latest version: 0.1.2

# @notifyon/react

React SDK for NotifyOn - Real-time notifications for your React applications.

## Installation

```bash
npm install @notifyon/react
# or
yarn add @notifyon/react
# or
pnpm add @notifyon/react
```

## Usage

```jsx
import { NotifyOn } from '@notifyon/react';

function App() {
  return (
    <>
      <NotifyOn 
        publicKey="pk_your_public_key"
        userId="user_123"
      />
      {/* Your app components */}
    </>
  );
}
```

## Props

| Prop | Type | Required | Description |
|------|------|----------|-------------|
| `publicKey` | string | Yes | Your NotifyOn public key |
| `userId` | string | Yes | The user ID to receive notifications |

## SSR Support

The component automatically handles server-side rendering and only initializes on the client side.

## License

MIT
npm package: @notifyon/vue
Description: Vue SDK for NotifyOn
Author: NotifyOn
Latest version: 0.1.2

# @notifyon/vue

Vue 3 SDK for NotifyOn - Real-time notifications for your Vue applications.

## Installation

```bash
npm install @notifyon/vue
# or
yarn add @notifyon/vue
# or
pnpm add @notifyon/vue
```

## Usage

### Composition API

```vue
<template>
  <NotifyOn 
    :public-key="publicKey"
    :user-id="userId"
  />
  <!-- Your app components -->
</template>

<script setup>
import { NotifyOn } from '@notifyon/vue';

const publicKey = 'pk_your_public_key';
const userId = 'user_123';
</script>
```

### Options API

```vue
<template>
  <NotifyOn 
    public-key="pk_your_public_key"
    user-id="user_123"
  />
  <!-- Your app components -->
</template>

<script>
import { NotifyOn } from '@notifyon/vue';

export default {
  components: {
    NotifyOn
  }
}
</script>
```

### Global Registration

```js
// main.js
import { createApp } from 'vue';
import { NotifyOn } from '@notifyon/vue';
import App from './App.vue';

const app = createApp(App);
app.component('NotifyOn', NotifyOn);
app.mount('#app');
```

## Props

| Prop | Type | Required | Description |
|------|------|----------|-------------|
| `public-key` | String | Yes | Your NotifyOn public key |
| `user-id` | String | Yes | The user ID to receive notifications |

## SSR Support

The component automatically handles server-side rendering in Nuxt.js and other SSR frameworks. It only initializes on the client side.

## Nuxt.js Usage

For Nuxt.js applications, wrap the component with `<ClientOnly>`:

```vue
<template>
  <ClientOnly>
    <NotifyOn 
      public-key="pk_your_public_key"
      user-id="user_123"
    />
  </ClientOnly>
</template>

<script setup>
import { NotifyOn } from '@notifyon/vue';
</script>
```

## License

MIT
npm package: @notihub/notihub-nodejs-sdk
Description: Notihub Official Node.js SDK
Latest version: 0.4.3

# Notihub SDK for Node.js

The **Notihub SDK for Node.js** enables Javascript Node.js developers to easily work with the [Notihub API][notihub] and
build scalable solutions. You can get started in minutes using ***npm*** or ***yarn***.

## Requirements

To use this SDK, you will need:

- [Node.js **v8.0.0 or above**](https://nodejs.org/)

Node installation will include [NPM](https://www.npmjs.com/), which is
responsible for dependency management.

## Getting Started

#### Sign up for Notihub

Before you begin, you need an Notihub account. Please go to [Sign Up to Notihub][signup] and retrieve your
credentials.

#### Install the SDK

Using npm:

```sh
npm install --save @notihub/notihub-nodejs-sdk
```

Import the package:

```js
import Notihub from '@notihub/notihub-nodejs-sdk';
````

or

```js
const Notihub = require('@notihub/notihub-nodejs-sdk');
````

#### Usage

This SDK relies heavily on [Promises](https://developers.google.com/web/fundamentals/getting-started/primers/promises)

```js
const notihub = new Notihub({
  publicKey: '<your auth public key>',
  secretKey: '<your auth secret key>',
  environmentClientId: '<your auth environment client id>',
  environmentClientSecret: '<your auth environment client secret>'
});
```

#### Using the API

Check the guides for each endpoints
 - [Customers][customers]
 - [Customer Contacts][customer-contacts]
 - [Customer Preferences][customer-preferences]
 - [Messages][messages]
 
 Also you can check out our API Docs to understand how our API works.
 
 * [API Docs][docs-api]

## Features

* Provides easy-to-use HTTP clients for all supported Notihub endpoints.

* Typed Error codes for easy handling

* Promises based SDK
    
* Handle authentication and IO Async

* And more!

## Getting Help
Please use these community resources for getting help. We use GitHub [issues][sdk-issues] for tracking bugs and feature requests and have limited bandwidth to address them.

* Ask a question on [StackOverflow][stack-overflow] and tag it with `notihub-nodejs-sdk`
* Articulate your feature request or upvote existing ones on our [Issues][features] page
* If it turns out that you may have found a bug, please open an [issue][sdk-issues]

## Contributing

Please go to [Contribute section][contribute].

[notihub]: https://notihub.io/
[docs-api]: https://docs.notihub.io/
[download-release]: https://github.com/notihub-io/notihub-nodejs-sdk/releases
[changes-file]: ./CHANGELOG.md
[customers]: ./docs/customers.md
[customer-contacts]: ./docs/customer-contacts.md
[customer-preferences]: ./docs/customer-preferences.md
[messages]: ./docs/messages.md
[contribute]: ./CONTRIBUTE.md
[signup]: https://dashboard.notihub.io/signup
[sdk-issues]: https://github.com/notihub-io/notihub-nodejs-sdk/issues
[stack-overflow]: http://stackoverflow.com/questions/tagged/notihub-nodejs-sdk
[features]: https://github.com/notihub-io/notihub-nodejs-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22
npm package: @notik-app/node
Description: Official Node.js SDK for Notik — notification workflow platform
Author: Notik
Latest version: 0.1.0

# @notik-app/node

Official Node.js SDK for [Notik](https://notik.app) — notification workflow platform.

## Installation

```bash
npm install @notik-app/node
```

## Quick Start

```typescript
import Notik from "@notik-app/node";

const notik = new Notik({ apiKey: "nk_live_..." });

// Trigger a workflow
const { executionId } = await notik.trigger({
  workflow: "YOUR_WORKFLOW_ID",
  data: {
    driver_name: "Juan Garcia",
    driver_phone: "+528331889752",
    pickup_address: "Av. Constitución 500, Monterrey",
  },
});

console.log(`Workflow triggered: ${executionId}`);
```

## Usage

### API Key Trigger

The primary way to trigger workflows. Requires an API key from **Settings → API Keys** in the Notik dashboard.

```typescript
const notik = new Notik({ apiKey: "nk_live_..." });

await notik.trigger({
  workflow: "WORKFLOW_ID",
  data: {
    customer_name: "María López",
    order_id: "ORD-5678",
    delivery_eta: "2:30 PM",
  },
});
```

### Webhook Trigger

Trigger webhook-type workflows directly. Supports optional HMAC-SHA256 signing.

```typescript
await notik.triggerWebhook("WORKFLOW_ID", {
  data: {
    event: "order.shipped",
    order_id: "ORD-1234",
    tracking_url: "https://tracking.example.com/1234",
  },
  secret: "whsec_...", // optional, from workflow trigger config
});
```

## Configuration

```typescript
const notik = new Notik({
  apiKey: "nk_live_...",        // Required
  baseUrl: "https://notik.app", // Optional, defaults to https://notik.app
  timeout: 30000,               // Optional, request timeout in ms
});
```

## Error Handling

```typescript
import Notik, { NotikAPIError } from "@notik-app/node";

try {
  await notik.trigger({ workflow: "wf-123", data: {} });
} catch (err) {
  if (err instanceof NotikAPIError) {
    console.error(err.message); // "Rate limit exceeded"
    console.error(err.status);  // 429
    console.error(err.code);    // "RATE_LIMITED"
  }
}
```

### Error Codes

| Code | Status | Description |
|------|--------|-------------|
| `UNAUTHORIZED` | 401 | Invalid or missing API key |
| `RATE_LIMITED` | 429 | Too many requests |
| `API_ERROR` | 4xx/5xx | Other API errors |

## Requirements

- Node.js 18+ (uses native `fetch`)
- No external dependencies

## License

MIT
npm package: @notilens/n8n-nodes-notilens
Description: n8n community node for NotiLens — send AI agent notifications from any n8n workflow
Author: NotiLens
Latest version: 0.1.5

# n8n-nodes-notilens

An [n8n](https://n8n.io) community node for [NotiLens](https://www.notilens.com) — send NotiLens notifications from any n8n workflow — servers, agents, pipelines, and more.

[NotiLens](https://www.notilens.com) is a real-time notification platform. Get notified on your phone or desktop when anything happens in your workflows — server alerts, order updates, pipeline completions, AI agent events, and more.

## Installation

In your n8n instance, go to **Settings → Community Nodes** and install:

```
@notilens/n8n-nodes-notilens
```

## Credentials

1. Log in to [NotiLens](https://www.notilens.com) and open your topic settings
2. Copy the **Token** and **Secret**
3. In n8n, create a new **NotiLens API** credential and paste them in

## Usage

Add the **NotiLens** node anywhere in your workflow to fire a notification.

### Required fields

| Field | Description |
|---|---|
| **Event** | Any string identifying what happened — e.g. `cpu_high`, `order.placed`, `task.completed` |
| **Title** | Short heading shown in the notification |
| **Message** | Full notification body (plain text or markdown) |
| **Type** | `info` / `success` / `warning` / `urgent` |

### Additional fields (optional)

| Field | Description |
|---|---|
| **Agent** | Source identifier — added to meta so you can filter by workflow |
| **Task ID** | Task identifier — added to meta |
| **Is Actionable** | Flag the notification as requiring user action |
| **Image URL** | Image to display alongside the notification |
| **Open URL** | URL opened when the notification is tapped |
| **Download URL** | URL for a downloadable file |
| **Tags** | Comma-separated tags for categorisation |

### Meta

Add any number of key-value pairs to attach structured data to the notification — e.g. `server_id`, `threshold`, `current_usage`. These appear in the NotiLens event detail view and can be used for filtering.

### Example payload

```json
{
  "event": "cpu_high",
  "title": "Server Alert",
  "message": "CPU usage exceeded 80% for more than 5 minutes.",
  "type": "urgent",
  "is_actionable": true,
  "open_url": "https://dashboard.example.com/servers/123",
  "tags": "prod, aws",
  "meta": {
    "server_id": "srv_123",
    "threshold": 80,
    "current_usage": 92.5
  }
}
```

## Resources

- [NotiLens documentation](https://www.notilens.com/doc/sdk)
- [n8n community nodes](https://docs.n8n.io/integrations/community-nodes/)

## License

MIT
npm package: @notillew/password-strength
Description: [![CI](https://github.com/wellitongervickas/notillew-password-strength/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/wellitongervickas/notillew-password-strength/actions/workflows/main.yml)
Author: Welliton gervickas
Latest version: 1.1.0


# @notillew/password-strength
[![CI](https://github.com/wellitongervickas/notillew-password-strength/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/wellitongervickas/notillew-password-strength/actions/workflows/main.yml)

+ Created just for learn and pratices
+ Typescript
+ Lodash 
+ Functional Programming

### Install

> yarn add @notillew/password-strength
> 
> npm install @notillew/password-strength


### Run tests

> yarn test
> 
> yarn test:watch

### Example outputs
    import passwordStrength from '@notillew/password-strength'
    
    expect(passwordStrength(passwordWeak)).toBe('weak')
    expect(passwordStrength(passwordMedium)).toBe('medium')
    expect(passwordStrength(passwordStrong)).toBe('strong')

### Matching 

 - Length
 - Uppercase and lowercase
 - Special characters
 - Sequences, like: 123, abc, abc123, a1b2c3 and beyond will decrease password level strength
  

#### Behavior 
> Score should be 0 to 10
#### Table

> \< 4 weak
> 
> \>= 4 medium
> 
> \>= 8 Strong
npm package: @notion-md-converter/cli
Description: CLI tool for converting Notion pages to Markdown
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/cli

NotionページをMarkdownに変換するCLIツール。

## 🚀 インストール

### **npxを使用（推奨）**

```shell
npx @notion-md-converter/cli convert -p <PAGE_ID_OR_URL> -t <NOTION_TOKEN>
```

### **グローバルインストール**

```shell
npm install -g @notion-md-converter/cli
```

## 📖 使い方

> APIキーを取得するには、Notionのスタートガイドに従ってください。

### 基本的な例

NotionページをMarkdownに変換して標準出力に表示：

```shell
npx @notion-md-converter/cli convert --page <PAGE_ID_OR_URL> --token <NOTION_TOKEN>
```

### コマンドオプション

- `-p, --page <pageId>`: NotionページIDまたはURL（必須）
- `-t, --token <token>`: Notion APIトークン（必須）
- `-h, --help`: コマンドのヘルプを表示
- `-V, --version`: バージョン番号を出力

### 使用例

**ページIDを使用：**
```shell
npx @notion-md-converter/cli convert -p 12345678901234567890123456789012 -t secret_abc123
```

**ページURLを使用：**
```shell
npx @notion-md-converter/cli convert -p "https://www.notion.so/My-Page-12345678901234567890123456789012" -t secret_abc123
```

**ファイルに保存：**
```shell
npx @notion-md-converter/cli convert -p <PAGE_ID> -t <TOKEN> > output.md
```

**環境変数を使用：**
```shell
export NOTION_TOKEN="secret_abc123"
npx @notion-md-converter/cli convert -p <PAGE_ID> -t $NOTION_TOKEN
```

## Notion APIトークンの取得

1. [Notion Developers](https://www.notion.so/my-integrations)にアクセス
2. 「New integration」をクリック
3. 名前を付けてワークスペースを選択
4. 「Internal Integration Token」をコピー
5. ページをインテグレーションと共有：
   - Notionでページを開く
   - 「共有」→「招待」をクリック
   - インテグレーション名を検索して招待

## サポートされているページ形式

CLIはページIDとURLの両方を受け入れます：

- **ページID**: `12345678901234567890123456789012`
- **ハイフン付きページID**: `12345678-9012-3456-7890-123456789012`
- **Notion URL**: `https://www.notion.so/Page-Title-12345678901234567890123456789012`

## エラーハンドリング

CLIは一般的な問題に対して明確なエラーメッセージを提供します：

- 無効なページIDまたはURL形式
- 無効または期限切れのNotion APIトークン
- ページが見つからない、またはアクセスが拒否された
- ネットワーク接続の問題

終了コード：
- `0`: 成功
- `1`: エラー発生

## ライセンス

MITライセンスの下で配布されています。詳細は[LICENSE](https://github.com/salvage0707/notion-md-converter/blob/main/LICENSE)を参照してください。

## 作者

malvageee (https://github.com/salvage0707)
npm package: @notion-md-converter/core
Description: Notion to Markdown Converter
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/core

NotionページをMarkdownに変換するためのコアパッケージです。

## 🚀 インストール

### **npmでインストール**

```shell
# JavaScriptの場合
npm install @notion-md-converter/core

# TypeScriptの場合
npm install @notion-md-converter/core @notion-md-converter/types
```

## 📖 使い方

> APIキーを取得するには、NotionのGetting Started Guideに従ってください。


### 基本的な例


```typescript
import {
  $getPageFullContent,
  NotionMarkdownConverter,
} from "@notion-md-converter/core";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// このライブラリのNotion APIヘルパー
// Notion Blockの子要素を再帰的に取得
const content = await $getPageFullContent(client, pageId);

// Markdownに変換
const executor = new NotionMarkdownConverter();
const result = executor.execute(content);
```

### Markdown出力のカスタマイズ

見出しブロックの変換を変更したい場合の例です。
例えば、Markdown見出しの`#`の数を1つ増やすカスタムトランスフォーマーを定義します。



```typescript
import { createHeadingTransformerFactory, MarkdownUtils } from "@notion-md-converter/core";

export const createMarkdownCustomHeadingTransformer = () => {
	// トランスフォーマーを作成する関数を使用
  return createHeadingTransformerFactory(({ level, richText }) => {
    const text = MarkdownUtils.convertRichTextsToMarkdown(richText);
    return MarkdownUtils.wrapWithNewLines(MarkdownUtils.heading(text, level + 1)); // レベルを1追加
  });
};
```


トランスフォーマーのテストを簡単に書けるよう、`@notion-md-converter/testing`ライブラリを提供しています。
このライブラリを使用すると、Notionブロックオブジェクトを簡単に作成し、変換結果をテストできます。

```shell
$ npm install @notion-md-converter/testing
```

```typescript
import {
  createTransformerContext,
  createHeading1Block,
  createTextRichText,
  dedent,
} from "@notion-md-converter/testing";
import { createMarkdownCustomHeadingTransformer } from "./createMarkdownCustomHeadingTransformer";

describe("createMarkdownCustomHeadingTransformer", () => {
  const transformer = createMarkdownCustomHeadingTransformer();

  it("heading_1ブロックを変換できる", () => {
    const block = createHeading1Block({
      richText: [
        createTextRichText({
          content: "Hello",
        }),
      ],
    });
    const context = createTransformerContext({
      blocks: [block],
    });

    const result = transformer(context);
    expect(result).toBe(dedent({ wrap: true })`
      ## Hello
    `);
  });
});
```

作成したトランスフォーマーをコンバーターのオプションで定義します。

```typescript
const executor = new NotionMarkdownConverter({
  heading: createMarkdownCustomHeadingTransformer(),
});
const result = executor.execute(content);
```

## キャプションメタデータ

画像、コードブロック、埋め込みなどのブロックでキャプションにメタデータを設定できます。メタデータは`key=value`形式で指定し、キャプションの先頭から最初の`:`までがメタデータとして扱われます。

### 基本的な使い方

```
width=500:これは画像の説明です
```

この場合：
- `width=500` がメタデータ
- `これは画像の説明です` が実際のキャプション

### 複数のメタデータ

複数のメタデータは`&`で区切って指定できます：

```
width=500&height=300:これは画像の説明です
```

この場合：
- `width=500` と `height=300` がメタデータ
- `これは画像の説明です` が実際のキャプション

### 使用例

- 画像幅の指定： `width=500:画像の説明`
- コードブロックのdiff設定： `diff=true:filename.js`

## ライセンス

MITライセンスの下で配布されています。詳細は[LICENSE](https://github.com/salvage0707/notion-md-converter/blob/main/LICENSE)をご覧ください。

## 作者

malvageee (https://github.com/salvage0707)
npm package: @notion-md-converter/hatena-blog
Description: Notion to Hatena Blog Markdown Converter
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/hatena-blog

NotionページをはてなブログのMarkdownに変換するためのパッケージです。

## 🚀 インストール

```
# JavaScriptの場合
npm install @notion-md-converter/core @notion-md-converter/hatena-blog

# TypeScriptの場合
npm install @notion-md-converter/core @notion-md-converter/hatena-blog @notion-md-converter/types
```

## 📖 使い方

```typescript
import { $getPageFullContent } from "@notion-md-converter/core";
import { NotionHatenaBlogMarkdownConverter } from "@notion-md-converter/hatena-blog";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// このライブラリのNotion APIヘルパー
// Notion Blockの子要素を再帰的に取得
const content = await $getPageFullContent(client, pageId);

// Markdownに変換
const executor = new NotionHatenaBlogMarkdownConverter();
const result = executor.execute(content);
```

## ブロックオプション

## ライセンス

MITライセンスの下で配布されています。詳細は[LICENSE](https://github.com/salvage0707/notion-md-converter/blob/main/LICENSE)をご覧ください。

## 作者

malvageee (https://github.com/salvage0707)
npm package: @notion-md-converter/mcp
Description: MCP server for Notion to Markdown conversion
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/mcp

NotionからMarkdownへの変換用MCP（Model Context Protocol）サーバー。

## 概要

このパッケージは、`@notion-md-converter/core`の機能をAIアシスタントに公開するMCPサーバーを提供し、Notionコンテンツを直接Markdownに変換できるようにします。

## インストール

```bash
npm install @notion-md-converter/mcp
```

## 使い方

### MCPサーバーの実行

```bash
# MCPサーバーを起動
npx @notion-md-converter/mcp

# または環境変数を使用
NOTION_TOKEN=your-token npx @notion-md-converter/mcp
```

### 利用可能なツール

#### `convertNotionToMarkdown`

NotionページをMarkdown形式に変換します。

**入力スキーマ：**
- `notionId` (string, 必須): NotionページIDまたはURL
- `notionToken` (string, オプション): Notion APIトークン（NOTION_TOKEN環境変数も使用可能）

**例：**
```json
{
  "tool": "convertNotionToMarkdown",
  "arguments": {
    "notionId": "abc123def456",
    "notionToken": "secret_xxx"
  }
}
```

**出力：**
```json
{
  "content": [
    {
      "type": "text",
      "text": "# ページタイトル\n\n変換されたマークダウンコンテンツ..."
    }
  ]
}
```

## 設定

### 環境変数

- `NOTION_TOKEN`: Notion APIトークン（オプション、引数として渡すことも可能）

## エラーハンドリング

サーバーは一般的なエラーを適切に処理します：
- Notion APIエラー
- ページが見つからない
- 権限エラー

エラーはコンテンツ配列内の標準MCP形式で返されます。

## ライセンス

MIT
npm package: @notion-md-converter/qiita
Description: Notion to Qiita Markdown Converter
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/qiita

NotionページをQiitaのMarkdownに変換するためのパッケージです。

## 🚀 インストール

```
# JavaScriptの場合
npm install @notion-md-converter/core @notion-md-converter/qiita

# TypeScriptの場合
npm install @notion-md-converter/core @notion-md-converter/qiita @notion-md-converter/types
```

## 📖 使い方

```typescript
import { $getPageFullContent } from "@notion-md-converter/core";
import { NotionQiitaMarkdownConverter } from "@notion-md-converter/qiita";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// このライブラリのNotion APIヘルパー
// Notion Blockの子要素を再帰的に取得
const content = await $getPageFullContent(client, pageId);

// Markdownに変換
const executor = new NotionQiitaMarkdownConverter();
const result = executor.execute(content);
```

## ブロックオプション

### コールアウト

背景色とテキスト色の設定に基づいて、Qiitaノートのinfo、warn、alertスタイルを選択できます。

| 色     | note  |
| ------ | ----- |
| yellow | warn  |
| red    | alert |
| その他  | info  |

### コード

コールアウトメタデータを使用してdiff表示を有効にできます

| メタデータ | 値 |
| ------   | ----  |
| diff     | `true`に設定するとdiff表示が有効になります  |


### 埋め込み


#### CodePen

| メタデータ    | 値            |
| ----------- | ---------------- |
| height      | iframeの高さ    |
| defaultTab  | デフォルトタブ      |

#### Figma

| メタデータ    | 値            |
| ----------- | ---------------- |
| height      | iframeの高さ    |
| width       | iframeの幅     |

#### Google Slide

| メタデータ    | 値            |
| ----------- | ---------------- |
| height      | iframeの高さ    |
| width       | iframeの幅     |

#### YouTube

| メタデータ    | 値            |
| ----------- | ---------------- |
| height      | iframeの高さ    |
| width       | iframeの幅     |

#### Speaker Deck

| メタデータ    | 値            |
| ----------- | ---------------- |
| id          | Speaker Deck ID  |

IDが指定されていない場合は、リンクカードとして表示されます。


### ビデオ

YouTube動画は埋め込みとして表示されます。その他の動画はvideoタグを使用します。

## ライセンス

MITライセンスの下で配布されています。詳細は[LICENSE](https://github.com/salvage0707/notion-md-converter/blob/main/LICENSE)をご覧ください。

## 作者

malvageee (https://github.com/salvage0707)
npm package: @notion-md-converter/zenn
Description: Notion to Zenn Markdown Converter
Author: malvageee
Latest version: 0.12.1

# @notion-md-converter/zenn

NotionページをZennのMarkdownに変換するためのパッケージです。

## 🚀 インストール

```
# JavaScriptの場合
npm install @notion-md-converter/core @notion-md-converter/zenn

# TypeScriptの場合
npm install @notion-md-converter/core @notion-md-converter/zenn @notion-md-converter/types
```

## 📖 使い方

```typescript
import { $getPageFullContent } from "@notion-md-converter/core";
import { NotionZennMarkdownConverter } from "@notion-md-converter/zenn";
import { Client } from "@notionhq/client";

const client = new Client({
  auth: API_KEY,
});

const pageId = "some-page-id";
// このライブラリのNotion APIヘルパー
// Notion Blockの子要素を再帰的に取得
const content = await $getPageFullContent(client, pageId);

// Markdownに変換
const executor = new NotionZennMarkdownConverter();
const result = executor.execute(content);
```

## ブロックオプション

### コールアウト

背景色とテキスト色の設定に基づいて、Zennメッセージのinfo、warn、alertスタイルを選択できます。

| 色     | ノート    |
| ------ | ------- |
| red    | alert   |
| その他  | default |

### コード

コールアウトメタデータを使用してdiff表示を有効にできます

| メタデータ | 値 |
| ------   | ----  |
| diff     | `true`に設定するとdiff表示が有効になります  |


### 画像

メタデータを設定して画像のサイズを調整できます。

| メタデータ | 値 |
| ------   | ----  |
| width    | 画像の幅を指定します（例：`500`） |


### 埋め込み

#### Speaker Deck

| メタデータ    | 値            |
| ----------- | ---------------- |
| id          | Speaker Deck ID  |

IDが指定されていない場合は、リンクカードとして表示されます。


### ビデオ

YouTube動画は埋め込みとして表示されます。その他の動画はvideoタグを使用します。

## ライセンス

MITライセンスの下で配布されています。詳細は[LICENSE](https://github.com/salvage0707/notion-md-converter/blob/main/LICENSE)をご覧ください。

## 作者

malvageee (https://github.com/salvage0707)