open-index/open-npm huggingface dataset:
npm package: @obsidiane/auth
Description: SDK JavaScript minimal pour consommer l’API Obsidiane Auth depuis un navigateur ou un environnement Node/SSR.
Latest version: 0.1.3

# Obsidiane Auth – Client JS

SDK JavaScript minimal pour consommer l’API Obsidiane Auth depuis un navigateur ou un environnement Node/SSR.

Il gère :
- les appels `fetch` avec `credentials: 'include'` pour envoyer/recevoir les cookies `__Secure-at` / `__Host-rt` ;
- la récupération des tokens CSRF via `/api/auth/csrf/{id}` ;
- les opérations courantes : `login`, `me`, `refresh`, `logout`, `register`, `passwordRequest`, `passwordReset`.

## Installation

Le SDK est publié sur le registre public npm :

```bash
npm install @obsidiane/auth
```

ou

```bash
yarn add @obsidiane/auth
```

## Utilisation

```ts
import { AuthClient } from '@obsidiane/auth';

const auth = new AuthClient({
  baseUrl: 'https://auth.example.com', // ou '' si même origine
});

// Exemple: login + me
const csrf = await auth.csrf('authenticate');
await auth.login('user@example.com', 'Secret123!', csrf);
const { user } = await auth.me<{ user: { id: string } }>();
```

### Réinitialisation de mot de passe

Le flow repose sur les routes UI `/reset-password` :

- `passwordRequest(email, csrf)` envoie un POST JSON sur `/reset-password` avec `{ email }`
- `passwordReset(token, password, csrf)` envoie un POST JSON sur `/reset-password/reset`

Les identifiants CSRF associés sont `password_request` et `password_reset`, à récupérer via `/api/auth/csrf/{id}`.

Pour une description complète des flows (UI, cookies, CSRF, reset, logout), voir le `docs/USER_GUIDE.md` du projet principal.
npm package: @obsidiane/meridiane
Description: Générateur de librairie Angular et modèles TypeScript (OpenAPI) pour un bridge Symfony/API Platform + Mercure.
Latest version: 2.0.7

# @obsidiane/meridiane

CLI pour générer un bridge Angular (runtime + models TypeScript) depuis une spec OpenAPI (API Platform + Mercure).

Documentation complète du repo : `docs/guide-bridge.md`.

## Installation

```bash
npm i -D @obsidiane/meridiane
```

## Commandes

### `meridiane generate <packageName>`

Génère uniquement les sources du bridge dans le workspace courant.

```bash
npx meridiane generate @acme/backend-bridge --spec ./openapi.json
```

Sortie par défaut : `projects/<libName>/` (modifiable via `--out`).

### `meridiane dev [packageName]`

Génération + build standalone + `npm pack` + installation locale dans `node_modules`.

```bash
npx meridiane dev @acme/backend-bridge --spec http://localhost:8000/api/docs.json
```

Sorties :
- `dist/<libName>/` + `dist/<libName>/*.tgz`
- `node_modules/<packageName>/`

### `meridiane build <packageName>`

Génération + build standalone + `npm pack` (artefact publiable).

```bash
npx meridiane build @acme/backend-bridge --version 1.2.3 --spec https://staging.example/api/docs.json
```

Sorties :
- `dist/<libName>/`
- `dist/<libName>/*.tgz`

## Options

- `--spec <url|file>` : URL OpenAPI ou fichier JSON local (requis sauf `--no-models`)
- `--formats <mimeTypes>` : répétable ou liste `,` ; défaut `application/ld+json`
- `--include <substr>` / `--exclude <substr>` : filtres de noms de schémas (répétables, support `,`)
- `--no-models` : runtime only
- `--version <semver>` : `build` et `generate` (défaut `0.0.0`)
- `--out <dir>` : uniquement `generate`
- `--debug` : logs détaillés

## Notes importantes

- fallback automatique `.../api/docs.json` -> `.../api/docs.jsonopenapi` si nécessaire
- mode contract-driven : uniquement les schémas atteignables via `paths` pour les formats sélectionnés
- modèles `*jsonMergePatch*` non générés (`PATCH` typé `Partial<T>`)
- Meridiane ne publie pas : publication via `npm publish` côté CI

## Spécifique à ce repo

Dans ce monorepo, `meridiane dev` peut être exécuté sans `packageName` et cible alors `@obsidiane/bridge-sandbox` (app `apps/sandbox`).