open-index/open-npm huggingface dataset:
npm package: @openanime/release-server-publisher
Description: OpenAnime release server publisher for Electron Forge
Latest version: 1.0.1

# OpenAnime Release Server Publisher

`@openanime/release-server-publisher` publishes all your artifacts to a hosted instance of [OpenAnime Release Server](https://github.com/OpenAnime/release-server) where users will be able to download them.

```javascript title=forge.config.js
module.exports = {
    // ...
    publishers: [
        {
            name: '@openanime/release-server-publisher',
            config: {
                baseUrl: 'https://update.server.com',
                username: 'admin',
                password: 'admin',
            },
        },
    ],
};
```

## License

Distributed under the MIT License. See [license file](https://github.com/OpenAnime/licenses/blob/main/MIT.txt) for more information.
npm package: @openape/cli
Description: OpenApe CLI — install and manage OpenApe components (proxy, sudo, auth)
Author: Patrick Hofmann
Latest version: 0.2.1

# @openape/cli

Install and manage OpenApe components — proxy, sudo (`apes`), and more.

## Usage

### With traditional sudo

```bash
sudo npx @openape/cli install-proxy \
  --idp-url https://id.openape.at \
  --agent-email bot@example.com

sudo npx @openape/cli install-sudo \
  --idp-url https://id.openape.at
```

### With apes (agent-friendly, grant-approved)

```bash
apes -- npx @openape/cli install-proxy \
  --idp-url https://id.openape.at \
  --agent-email bot@example.com
```

The CLI itself has no knowledge of `apes` — it just writes files and sets up services. `apes` wraps it for privilege elevation with human-approved grants.

## Commands

### `install-proxy`

Installs the [OpenApe HTTP Proxy](https://github.com/openape-ai/proxy).

| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--idp-url` | ✅ | — | Identity Provider URL |
| `--agent-email` | ✅ | — | Agent email identity |
| `--listen` | | `127.0.0.1:9090` | Listen address |
| `--default-action` | | `block` | `block`, `request`, or `request-async` |
| `--audit-log` | | `/var/log/openape-proxy/audit.log` | Audit log path |
| `--force` | | | Overwrite existing config |

### `install-sudo`

Installs [apes](https://github.com/openape-ai/sudo) (OpenApe privilege elevation). Requires Rust toolchain.

| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--idp-url` | ✅ | — | Identity Provider URL |
| `--poll-timeout` | | `300` | Grant poll timeout (seconds) |
| `--poll-interval` | | `2` | Grant poll interval (seconds) |
| `--force` | | | Overwrite existing binary/config |

## Requirements

- **install-proxy**: [Bun](https://bun.sh) runtime
- **install-sudo**: [Rust](https://rustup.rs) toolchain
- Root privileges (via `sudo` or `apes`)

## License

MIT
npm package: @openape/grants
Description: OpenApe authorization server: grant issuance, revocation, introspection
Author: Delta Mind GmbH
Latest version: 0.8.0

# @openape/grants

Grant lifecycle management for OpenApe. Grants control what actions agents (or humans) are authorized to perform on behalf of a user — from one-time approvals to time-limited or permanent permissions.

## Installation

```bash
npm install @openape/grants
```

Peer dependency: `@openape/core`

## Grant Lifecycle

```
create → [pending] → approve → [approved] → use / revoke
                    → deny    → [denied]
                                [approved] → revoke → [revoked]
                                [approved] → (time)  → [expired]
```

## API

### Grant Functions

- `createGrant(request, store)` — Create a new grant request (status: `pending`)
- `approveGrant(grantId, approver, store)` — Approve a pending grant
- `denyGrant(grantId, denier, store)` — Deny a pending grant
- `revokeGrant(grantId, store)` — Revoke an approved grant
- `introspectGrant(grantId, store)` — Look up a grant by ID
- `useGrant(grantId, store)` — Mark a `once` grant as used

### Authorization JWT

- `issueAuthzJWT(payload, privateKey, kid?)` — Issue a signed authorization JWT for an approved grant
- `verifyAuthzJWT(token, keyOrJWKS, options?)` — Verify an authorization JWT

## GrantStore Interface

```typescript
interface GrantStore {
  save(grant: OpenApeGrant): Promise<void>
  findById(id: string): Promise<OpenApeGrant | null>
  updateStatus(id: string, status: GrantStatus, extra?: Partial<OpenApeGrant>): Promise<void>
  findByRequester(requester: string): Promise<OpenApeGrant[]>
  findByStatus(status: GrantStatus): Promise<OpenApeGrant[]>
}
```

An `InMemoryGrantStore` is included for development and testing.

## Grant Types

| Type | Behavior |
|------|----------|
| `once` | Valid for a single use, then automatically marked as `used` |
| `timed` | Valid for a duration (in seconds), then automatically `expired` |
| `always` | Valid until explicitly revoked |

## Example

```typescript
import { createGrant, approveGrant, issueAuthzJWT, InMemoryGrantStore } from '@openape/grants'
import { generateKeyPair } from '@openape/core'

const store = new InMemoryGrantStore()

// 1. Agent requests a grant
const grant = await createGrant({
  requester: 'agent@example.com',
  target: 'api.github.com',
  grant_type: 'once',
  permissions: ['write:issues'],
  reason: 'Create issue for bug report',
}, store)

// 2. User approves the grant
const approved = await approveGrant(grant.id, 'user@example.com', store)

// 3. IdP issues an authorization JWT
const { privateKey } = await generateKeyPair()
const authzToken = await issueAuthzJWT({
  iss: 'https://id.example.com',
  sub: 'agent@example.com',
  aud: 'api.github.com',
  grant_id: approved.id,
  grant_type: 'once',
  permissions: ['write:issues'],
}, privateKey, 'key-1')
```

## License

[MIT](./LICENSE)
npm package: @openape/unstorage-s3-driver
Description: S3-compatible unstorage driver (works with Exoscale SOS, MinIO, etc.)
Author: Delta Mind GmbH
Latest version: 0.2.1

# @openape/unstorage-s3-driver

S3-compatible [unstorage](https://unstorage.unjs.io/) driver that works with providers that don't send XML prolog in responses (Exoscale SOS, MinIO, Wasabi, etc.).

Fork of unstorage's built-in S3 driver with the XML parsing fix applied.

## Why?

The built-in `unstorage` S3 driver expects `<?xml` at the start of ListBucketResult responses. Some S3-compatible providers (notably Exoscale SOS) omit this prolog, causing `Invalid XML` errors.

## Usage

```ts
// nuxt.config.ts
import s3Driver from '@openape/unstorage-s3-driver'

export default defineNuxtConfig({
  nitro: {
    storage: {
      db: {
        driver: s3Driver({
          accessKeyId: process.env.S3_ACCESS_KEY,
          secretAccessKey: process.env.S3_SECRET_KEY,
          endpoint: process.env.S3_ENDPOINT,
          region: process.env.S3_REGION,
          bucket: process.env.S3_BUCKET,
        }),
      },
    },
  },
})
```

Or with unstorage directly:

```ts
import { createStorage } from 'unstorage'
import s3Driver from '@openape/unstorage-s3-driver'

const storage = createStorage({
  driver: s3Driver({
    accessKeyId: '...',
    secretAccessKey: '...',
    endpoint: 'https://sos-at-vie-2.exo.io',
    region: 'at-vie-2',
    bucket: 'my-bucket',
  }),
})
```

## License

MIT
npm package: @openapi-client/adapter-axios
Description: Generate typescript client
Latest version: 0.4.2

# @openapi-client/compiler-typescript

Generate typescript client

## Options

- `npmName` - Required.
- `npmAuthor`
- `npmVersion`
- `npmLicense`
- `npmHomepage`
- `npmRepository`
- `npmPublishConfig`
- `tsTarget`
- `clientClass`
npm package: @openapi-client/compiler-typescript
Description: Generate typescript client
Latest version: 0.10.3

# @openapi-client/compiler-typescript

Generate typescript client

## Options

- `npmName` - Required.
- `npmAuthor`
- `npmVersion`
- `npmLicense`
- `npmHomepage`
- `npmRepository`
- `npmPublishConfig`
- `tsTarget`
- `clientClass`