open-index/open-npm huggingface dataset:
npm package: @soleo/exchange-persisted
Description: An exchange that allows for persisted queries support when fetching queries
Author: urql GraphQL Contributors
Latest version: 4.1.1

# @urql/exchange-persisted

The `persistedExchange` is an exchange that allows other terminating exchanges to support Persisted Queries, and is as such placed in front of either the default `fetchExchange` or
other terminating exchanges.

## Quick Start Guide

First install `@urql/exchange-persisted` alongside `urql`:

```sh
yarn add @urql/exchange-persisted
# or
npm install --save @urql/exchange-persisted
```

You'll then need to add the `persistedExchange` function, that this package exposes,
to your `exchanges`.

```js
import { createClient, dedupExchange, fetchExchange, cacheExchange } from 'urql';
import { persistedExchange } from '@urql/exchange-persisted';

const client = createClient({
  url: 'http://localhost:1234/graphql',
  exchanges: [
    dedupExchange,
    cacheExchange,
    persistedExchange({
      /* optional config */
    }),
    fetchExchange,
  ],
});
```

The `persistedExchange` supports three configuration options:

- `preferGetForPersistedQueries`: Enforce `GET` method to be used by the default `fetchExchange` for persisted queries
- `enforcePersistedQueries`: This disables _automatic persisted queries_ and disables any retry logic for how the API responds to persisted queries. Instead it's assumed that they'll always succeed.
- `generateHash`: A function that takes a GraphQL query and returns the hashed result. This defaults to the `window.crypto` API in the browser and the `crypto` module in Node.
- `enableForMutation`: By default, the exchange only handles `query` operations, but enabling this allows it to handle mutations as well.

## Avoid hashing during runtime

If you want to generate hashes at build-time you can use a [webpack-loader](https://github.com/leoasis/graphql-persisted-document-loader) to achieve this,
when using this all you need to do in this exchange is the following:

```js
import { createClient, dedupExchange, fetchExchange, cacheExchange } from 'urql';
import { persistedExchange } from '@urql/exchange-persisted';

const client = createClient({
  url: 'http://localhost:1234/graphql',
  exchanges: [
    dedupExchange,
    cacheExchange,
    persistedExchange({
      generateHash: (_, document) => document.documentId,
    }),
    fetchExchange,
  ],
});
```
npm package: @soleone/pi-tasks
Description: Task management extension for the pi coding agent
Latest version: 0.4.2

# @soleone/pi-tasks

Task management extension for the [pi coding agent](https://github.com/badlogic/pi-mono), designed for pluggable task backends.

<img width="2373" height="1305" alt="image" src="https://github.com/user-attachments/assets/af210b63-f993-447d-9668-3308874d493c" />

## Quick start

1. Installation: `pi install npm:@soleone/pi-tasks`
2. Toggle the Tasks UI with `ctrl + shift + r` or `alt + x`, or use `/tasks`.

## Usage

- Navigate with `w` / `s` (up / down arrows also work)
- `a` to go back (`Esc` and left arrow also work)
- `space` to change status
- `0` to `4` to change priority
- `t` to change task type
- `f` for keyword search (title, description)

### List view

- `d` to open task details
- `Enter` to work off a task
- `Tab` to insert task details in prompt and close Tasks UI
- `c` to create a new task

### Edit view

- `Tab` to switch focus between inputs
- `Enter` to save

## Task backends

By default, the extension auto-detects the first applicable backend. If none are applicable, it falls back to `todo-md`.

For most setups, `sq` is recommended as the default backend. It is lightweight, works well in brand new directories, and can create its local data on demand. Install it from the [`sq` installation guide](https://github.com/DerekStride/sq?tab=readme-ov-file#installation).

### Supported backends:

- [sq](https://github.com/DerekStride/sq) - Uses the `sq` cli to manage tasks in a `.sift` directory via a `issues.jsonl` file. No initialization necessary.
- [beads](https://github.com/steveyegge/beads) - Uses the `bd` cli to manage tasks into a `.beads` directory containing multiple files.
- `todo-md` - Creates or reads a `TODO.md` file with different sections to emulate priority.

## Optional env vars:

- `PI_TASKS_TODO_PATH` - override the TODO file path
- `PI_TASKS_BACKEND` - to explicitly choose a backend implementation. Currently supported values:
  - `sq`
  - `beads`
  - `todo-md`