open-index/open-npm huggingface dataset:
npm package: @quarto/annotated-qmd
Description: Convert quarto-markdown-pandoc JSON output to AnnotatedParse structures
Author: Posit PBC
Latest version: 0.1.1

# @quarto/annotated-qmd

Convert quarto-markdown-pandoc JSON output to AnnotatedParse structures with full source mapping.

## Overview

This package converts the JSON output from the Rust-based `quarto-markdown-pandoc` parser
into `AnnotatedParse` structures that are compatible with quarto-cli's YAML validation
infrastructure. It preserves complete source location information through the conversion.

## Installation

```bash
npm install @quarto/annotated-qmd
```

## Quick Start

```typescript
import { parseRustQmdMetadata } from '@quarto/annotated-qmd';
import type { RustQmdJson } from '@quarto/annotated-qmd';

// JSON from quarto-markdown-pandoc
const json: RustQmdJson = {
  meta: {
    title: { t: 'MetaString', c: 'My Document', s: 0 }
  },
  blocks: [],
  source_pool: [
    { r: [11, 22], t: 0, d: 0 }
  ],
  source_context: {
    files: [
      { id: 0, path: 'doc.qmd', content: '---\ntitle: My Document\n---' }
    ]
  }
};

const annotatedParse = parseRustQmdMetadata(json);

console.log(annotatedParse.result);  // { title: 'My Document' }
console.log(annotatedParse.kind);    // 'mapping'
console.log(annotatedParse.components.length);  // 2 (key + value)
```

## API

### `parseRustQmdMetadata(json, errorHandler?)`

Main entry point for converting quarto-markdown-pandoc JSON to AnnotatedParse.

**Parameters:**
- `json: RustQmdJson` - The JSON output from quarto-markdown-pandoc
- `errorHandler?: (msg: string, id?: number) => void` - Optional error handler for SourceInfo reconstruction errors

**Returns:** `AnnotatedParse`

**Example with error handling:**

```typescript
import { parseRustQmdMetadata } from '@quarto/annotated-qmd';

const errorHandler = (msg: string, id?: number) => {
  console.error(`SourceInfo error: ${msg}`, id);
};

const result = parseRustQmdMetadata(json, errorHandler);
```

### Types

The package exports all necessary TypeScript types:

```typescript
import type {
  AnnotatedParse,
  JSONValue,
  JsonMetaValue,
  MetaMapEntry,
  RustQmdJson,
  SerializableSourceInfo,
  SourceContext,
  SourceInfoErrorHandler
} from '@quarto/annotated-qmd';
```

### Advanced Usage

For more control, you can use the underlying classes directly:

```typescript
import { SourceInfoReconstructor, MetadataConverter } from '@quarto/annotated-qmd';

const reconstructor = new SourceInfoReconstructor(
  json.source_pool,
  json.source_context
);

const converter = new MetadataConverter(reconstructor);
const result = converter.convertMeta(json.meta);
```

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Test
npm test

# Clean
npm run clean
```
npm package: @quarto/json-validator
Description: A validation library for JSON objects with an emphasis on good error messages.
Author: Posit PBC
Latest version: 0.1.8

# json-validator

`json-validator` is a validation library for JSON objects that emphasizes good error messages.
It is particularly suitable for validating objects and documents serialized in disk.
It can be used to validate, for example, YAML files (which are loaded as JSON objects).

## Schemas

This library uses a schema format that is similar but not identical to [JSON Schema](https://json-schema.org/).

A full description of the differences is TBF but, notably, `json-validator` does not support JSON Schema's `oneOf` schema.
`oneOf` is not _monotonic_: it requires logical negation.
Generalized negation introduces fundamental difficulties for good error message generation.
(Not all of `json-validator`'s schemas are monotonic; forbidding particular keys in objects is a very useful feature, and
`json-validator` allows that.)
npm package: @quarto/mapped-string
Description: A string data structure with integrated source maps.
Author: Posit PBC
Latest version: 0.1.8

# @quarto/mapped-string

A TypeScript library that provides a string data structure with integrated source maps, enabling precise tracking of character positions through string transformations.

## Overview

`@quarto/mapped-string` solves a common problem in text processing: maintaining accurate source location information when performing string manipulations. This is particularly valuable for error reporting.

The library centers around the `MappedString` interface, which wraps a regular string with a `map` function that can translate any character index back to its position in the original source. Operations like `mappedSubstring`, `mappedReplace`, `mappedTrim`, and `skipRegexp` all preserve this mapping information, allowing complex string processing pipelines while maintaining perfect source location fidelity.

## Key Features

- **Source mapping preservation**: Every string operation maintains bidirectional mapping to original positions
- **Composable transformations**: Chain multiple string operations while preserving location information
- **Error location reporting**: Built-in support for precise error reporting with line/column information
- **String method equivalents**: Mapped versions of common string operations like `trim`, `replace`, `split`, and `substring`
- **TypeScript support**: Full type safety with comprehensive interfaces and type definitions

## Installation

```bash
npm install @quarto/mapped-string
```
npm package: @quartr/eslint-config
Description: This package provides Quartr's .eslintrc as an extensible shared config.
Latest version: 1.0.12

# @quartr/eslint-config

This package provides Quartr's .eslintrc as an extensible shared config.

## Usage

### Install

```bash
$ npm i @quartr/eslint-config -D
# OR
$ yarn add @quartr/eslint-config -D
```

### Add this config to your project

Add a new file in the root or update your current `.eslintrc`

```js
{
    "extends": "@quartr/eslint-config"
}
```

## About us

We bridge the gap between companies and investors. Read more at [Quartr](https://quartr.com).

# License

MIT License

Copyright (c) [2022] [Quartr AB]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @quartr/eslint-config-react
Description: This package provides Quartr's .eslintrc for React projects as an extensible shared config.
Latest version: 1.0.20

# @quartr/eslint-config-react

This package provides Quartr's .eslintrc for React projects as an extensible shared config.

## Usage

### Install

```bash
$ npm i @quartr/eslint-config-react -D
# OR
$ yarn add @quartr/eslint-config-react -D
```

### Add this config to your project

Add a new file in the root or update your current `.eslintrc`

```js
{
    "extends": "@quartr/eslint-config-react"
}
```

## About us

We bridge the gap between companies and investors. Read more at [Quartr](https://quartr.com).

# License

MIT License

Copyright (c) [2022] [Quartr AB]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @quartr/eslint-config-react-typescript
Description: This package provides Quartr's .eslintrc for React projects that has Typescript as an extensible shared config.
Latest version: 1.0.4

# @quartr/eslint-config-react-typescript

This package provides Quartr's .eslintrc for React projects that has Typescript as an extensible shared config.

## Usage

### Install

```bash
$ npm i @quartr/eslint-config-react-typescript -D
# OR
$ yarn add @quartr/eslint-config-react-typescript -D
```

### Add this config to your project

Add a new file in the root or update your current `.eslintrc`

```js
{
    "extends": "@quartr/eslint-config-react-typescript"
}
```

## About us

We bridge the gap between companies and investors. Read more at [Quartr](https://quartr.com).

# License

MIT License

Copyright (c) [2022] [Quartr AB]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @quartr/eslint-config-typescript
Description: This package provides Quartr's eslint rules for node projects using Typescript as an extensible shared config.
Latest version: 1.0.1

# @quartr/eslint-config-typescript

This package provides Quartr's eslint rules for node projects using Typescript as an extensible shared config.

## Usage

### Install

```bash
$ npm i @quartr/eslint-config-typescript -D
# OR
$ yarn add @quartr/eslint-config-typescript -D
```

### Add this config to your project

Add a new file in the root or update your current `.eslintrc`

```js
{
    "extends": "@quartr/eslint-config-typescript"
}
```

## About us

We bridge the gap between companies and investors. Read more at [Quartr](https://quartr.com).

# License

MIT License

Copyright (c) [2022] [Quartr AB]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @quartz-insurance/postalserver-ts
Description: TypeScript client for Postalserver.io
Author: Jean-Baptiste Perriot
Latest version: 1.0.0

# Postal Server client for TypeScript
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/your-github-repo/blob/main/LICENSE)


## Installation

```bash
yarn add @quartz-insurance/postal-ts
# or
npm install @quartz-insurance/postal-ts
```

## Usage

Import the client and types in your TypeScript application:

```typescript
import { Postal, WebhookDto, WebhookEvent } from "@quartz-insurance/postal-ts";

// Initialize the client (supply your server URL and API key if needed)
const postal = new Postal({
  host: "postal.yourdomain.com",
  serverKey: "your_api_key_here",
});

// Example: Send an email
async function sendTestEmail() {
  await postal.sendMessage({
    to: "user@example.com",
    from: "noreply@yourdomain.com",
    subject: "Test message",
    html: "<b>Hello world</b>"
  });
}
```

## Webhook Typings

If you consume Postal webhooks in a TypeScript API:

```typescript
import type { WebhookDto } from "@quartz-insurance/postal-ts";

// Your webhook handler
function handlePostalWebhook(data: WebhookDto) {
  console.log("Event:", data.event);
  // process event...
}
```

## Supported

- Typed API client for common Postal Server endpoints
- Type-safe webhook DTOs and events

For more, see the [source code](./src/) or raise an issue!
npm package: @quartz-labs/connection
Description: Advanced Solana Connection with fallback to other RPCs
Author: Quartz Labs
Latest version: 2.0.1

# Solana Advanced Connection

Light wrapper around `Connection` with fallback to other RPCs when something goes wrong, load-balancing strategies and custom method routing.

## Install

```bash
yarn add solana-advanced-connection
```

or
```bash
npm install solana-advanced-connection
```

## Usage

Interface is identical to `Connection` except constructor

```typescript
import AdvancedConnectiotn from "solana-advanced-connection";

const rpc1 = "https://api.mainnet-beta.solana.com";
const rpc2 = "https://solana-api.projectserum.com";

const advCon = new AdvancedConnectiotn([rpc1, rpc2]);
advCon.getBalance(/* ... */);
```

### Balancing strategies

Comes with 3 strategies for your choosing:

- `sequential`: try each RPC in sequence for each call, will always start from first, then second, etc. (**default**)
- `round-robin`: round robin over all RPCs, across calls
- `random`: randomly pick RPCs

```typescript
import AdvancedConnection from "solana-advanced-connection";

const rpc1 = "https://api.mainnet-beta.solana.com";
const rpc2 = "https://solana-api.projectserum.com";

const advCon = new AdvancedConnection([rpc1, rpc2], {strategy: "random"});
advCon.getBalance(/* ... */);
```

### Function routing (make certain functions always go to certain RPCs)

Specify the `routes` key in config to override the routing for certain functions.
The following example will route `getBalance` to the Serum RPC, but allows fallback to the strategy if it fails.

Useful for when you want critical calls to always go to mainnet-beta for example.

```typescript
import AdvancedConnection from "solana-advanced-connection";

const rpc1 = "https://api.mainnet-beta.solana.com";
const rpc2 = "https://solana-api.projectserum.com";

const advCon = new AdvancedConnection([rpc1, rpc2], {strategy: "random", routes: [
    { allowFallback: true, method: "getBalance", endpoint: "https://solana-api.projectserum.com" }
]});

advCon.getBalance(/* ... */);
```

## License

MIT, but please consider contributing back if you make improvements ❤️
npm package: @quartz-labs/logger
Description: Logger class for outputting logs and emailing any errors to admins
Author: Quartz Labs
Latest version: 1.3.0

<div align="center">
  <img width="2500" alt="Pyra" src="https://pyra.fi/open-graph.jpg" />

  <h1 style="margin-top:20px;">Pyra Logger</h1>
</div>

This repository is Pyra's open-source logger package. You can install using:

```
yarn add @quartz-labs/logger
```

## Links

Website and waitlist: [pyra.fi](https://pyra.fi/)

X: [@GetPyra](https://x.com/GetPyra)

Contact: [diego@oyra.fi](mailto:diego@pyra.fi)