open-index/open-npm huggingface dataset:
npm package: @groupcards/brevo
Description: NodeJS client for @getbrevo/brevo
Author: Brevo
Latest version: 2.2.1

# Brevo typescript

Brevo's API v3 TypeScript-Node Library

Brevo's API exposes the entire Brevo features via a standardized programmatic interface. Please refer to the full [documentation](https://developers.brevo.com) to learn more.

This is the wrapper for the API. It implements all the features of the API v3. It supports promises.

Brevo's API matches the [OpenAPI v2 definition](https://www.openapis.org/). The specification can be downloaded [here](https://api.brevo.com/v3/swagger_definition_v3.yml).

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

The following recommended installation requires [npm](https://npmjs.org/). If you are unfamiliar with npm, see the [npm docs](https://npmjs.org/doc/).

Then install it via:

```shell
npm i @getbrevo/brevo --save
# or
yarn add @getbrevo/brevo
```

## Getting Started

```ts
import BrevoApi from "@getbrevo/brevo";

const brevo = new BrevoApi({
  headers: {
    "api-key": "YOUR_API_KEY",
  },
});

brevo.account
  .getAccount()
  .then((data) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error) => {
    console.error(error);
  });
```

```ts
import BrevoApi from "@getbrevo/brevo";

const brevo = new BrevoApi({
  headers: {
    "api-key": "YOUR_API_KEY",
  },
});

brevo.smtp
  .sendTransacEmail({
    subject: "My {{params.subject}}",
    htmlContent:
      "<html><body><h1>This is my first transactional email {{params.parameter}}</h1></body></html>",
    sender: {
      name: "John Doe",
      email: "example@example.com",
    },
    to: [{ email: "example@example.com", name: "Jane Doe" }],
    cc: [{ email: "example2@example2.com", name: "Janice Doe" }],
    bcc: [{ email: "example@example.com", name: "John Doe" }],
    replyTo: { email: "replyto@domain.com", name: "John Doe" },
    headers: { "Some-Custom-Name": "unique-id-1234" },
    params: { parameter: "My param value", subject: "New Subject" },
  })
  .then((data) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error) => {
    console.error(error);
  });
```

For more examples, refer the [Endpoints Guide](https://developers.brevo.com/reference)

## Contributing

Please refer to the [CONTRIBUTING](CONTRIBUTING.md) file.
npm package: @groupchatai/claude-runner
Description: Run GroupChat AI agent tasks locally with Claude Code
Latest version: 0.4.13

# @groupchatai/claude-runner

Run [GroupChat AI](https://groupchat.ai) agent tasks locally with [Claude Code](https://docs.anthropic.com/en/docs/claude-code).

Polls for pending runs assigned to your agent, spawns `claude -p` for each, and reports results back through the REST API. Supports both WebSocket (real-time) and HTTP polling modes.

## Prerequisites

- Node.js ≥ 20
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and authenticated
- A GroupChat AI agent token (`GCA_TOKEN`)

## Quick Start

```bash
# From your repo directory:
npx @groupchatai/claude-runner --token gca_your_token_here
```

Or set the token in `.env.local`:

```env
GCA_TOKEN=gca_your_token_here
```

Then just run:

```bash
npx @groupchatai/claude-runner
```

## Options

| Flag                   | Description                                      | Default |
| ---------------------- | ------------------------------------------------ | ------- |
| `--token <token>`      | Agent token (overrides `GCA_TOKEN` env var)      | —       |
| `--work-dir <path>`    | Repo directory for Claude Code to work in        | `cwd`   |
| `--poll`               | Use HTTP polling instead of WebSocket            | `false` |
| `--poll-interval <ms>` | Polling interval in milliseconds (with `--poll`) | `5000`  |
| `--max-concurrent <n>` | Max concurrent runs                              | `1`     |
| `--model <model>`      | Claude model to use                              | —       |
| `--dry-run`            | Poll and log runs without executing Claude Code  | `false` |
| `--once`               | Process one batch of pending runs and exit       | `false` |
| `--verbose`            | Stream Claude Code activity with pid             | `false` |

## WebSocket vs Polling

By default, the runner uses a WebSocket connection for real-time task delivery (requires the `convex` package). If `convex` is not installed, it falls back to HTTP polling automatically.

To force polling mode, use `--poll`.

## License

MIT