open-index/open-npm huggingface dataset:
npm package: @gneiru/kdl
Description: Secure TypeScript anime/drama downloader CLI with manifest and interactive modes.
Latest version: 0.1.1

# @gneiru/kdl

Secure TypeScript rewrite of the UDB downloader core.

Quick start:

```bash
npm install
npm run typecheck
npm test
npm run build
```

Run interactive mode:

```bash
npm run dev -- --conf ./config_udb.yaml
```

Run manifest mode:

```bash
npm run dev -- --conf ./config_udb.yaml --manifest ./examples/manifest.example.yaml
```

Detailed project documentation is available in `README.kdl.md`.

Release automation setup is documented in `RELEASING.md`.
npm package: @gneiss/client-auth
Description: A client for the Gneiss authentication service
Author: Timothy Newton
Latest version: 1.2.5

# js-gneiss-auth-client

A JavaScript client library for integrating with the Gneiss Authentication service. Provides OAuth2 authentication flow with support for access and refresh tokens.

## Installation
### Installing from npm registry:
```bash
npm install @gneiss/client-auth
```
## Usage
Example for an Express.js application:
```typescript
import express from 'express';
import { ExpressAuthGneissClient } from "@gneiss/client-auth";
import { AuthGneissCoreConfig } from '@gneiss/client-auth';

// Create express app
const app = express();

// Initialize auth config
const config: AuthGneissCoreConfig = {
  clientId: "<Your app's client ID>,
  clientSecret: "<Your app's client secret>",
  baseClientUrl: "<Your app's base url>",
  callbackUrl: "/callback"
};

//Instantiate the auth client with config
const auth = new ExpressAuthGneissClient(config);

// Login route - redirects to Gneiss login page
app.get("/login", auth.login);

// Logout route - redirects to Gneiss logout page
app.get("/logout", auth.logout);

// Callback route - handles OAuth callback from Gneiss
app.get("/callback", auth.handleCallBack);

// Protected route example
app.get("/dashboard", auth.requireAuth, (req, res) => {
    res.send('This is a protected route');
});
// Protected user data route
app.get("/user", auth.requireAuth, auth.getUser);

```

* `ExpressAuthGneissClient` is a class that provides middleware for handling authentication in an Express.js application. Parameters are:
    * `clientId` - This is the client id of your application. This will be provided to you by the appropriate Gneiss team member.
    * `clientSecret` - This is the client secret of your application. This will be provided to you by the appropriate Gneiss team member.
    * `baseClientUrl` - This is the base url (without any endpoints) of your service/app. Note that this may be different depending on your environment (prod or dev)
    * `callbackUrl` - This is the route that the user will be redirected to for authentication. This should be the same as your callback route.
* `auth.login` is a function that redirects the user to the Gneiss authentication service for authentication.
* `auth.handleCallBack` is a function that handles the callback from the Gneiss authentication service. It extracts the auth code from the request URL parameters, exchanges it for tokens, and sets the access and refresh tokens in the response cookies.
* `auth.requireAuth` is a middleware function that checks if the user is authenticated. If the user is not authenticated, it redirects the user to the login page.
* `auth.getUser` is an included utility route to allow one to retrieve the current user's data. It is important to include the `auth.requireAuth` middleware to ensure the access token is present before accessing the user's data. If it is not, an exeption will be thrown.