open-index/open-npm huggingface dataset:
npm package: @shelv/adapters
Description: Provider-native adapters for hydrating Shelv shelves into sandbox runtimes and creating snapshots.
Latest version: 0.3.0

# @shelv/adapters

Provider-native adapters for hydrating Shelv shelves into sandbox runtimes and creating snapshots.

## Links

- Website: [shelv.dev](https://shelv.dev)
- Docs: [docs.shelv.dev/guides/sandbox-adapters](https://docs.shelv.dev/guides/sandbox-adapters)
- npm: [npmjs.com/package/@shelv/adapters](https://www.npmjs.com/package/@shelv/adapters)
- Source: [github.com/shelv-dev/shelv-adapters](https://github.com/shelv-dev/shelv-adapters)

## Install

```bash
pnpm add @shelv/adapters
```

```bash
bun add @shelv/adapters
```

```bash
npm install @shelv/adapters
```

## Runtime support

- Official runtime support: Node.js 18+
- ESM package
- Bun is supported as a package manager for installation; Bun runtime compatibility is best-effort in v1

## Optional peer dependencies

Install only the provider SDKs you use:

```bash
pnpm add @vercel/sandbox
pnpm add @daytonaio/sdk
pnpm add e2b
pnpm add @codesandbox/sdk
pnpm add @deno/sandbox
```

## Quickstart

```ts
import { createShelvClient, createVercelAdapter } from "@shelv/adapters";

const client = createShelvClient({
  apiKey: process.env.SHELV_API_KEY!,
});

const adapter = createVercelAdapter();
await adapter.hydrate({
  client,
  sandbox,
  shelfPublicId,
  mode: "archive-first",
});

const snapshot = await adapter.snapshot({
  sandbox,
  name: `shelf-${shelfPublicId}`,
});

console.log(snapshot.snapshotId);
```

## API surface

- `createShelvClient(config)`
- `resolveShelfSource(input)`
- `createVercelAdapter()`
- `createDaytonaAdapter()`
- `createE2BAdapter()`
- `createCodeSandboxAdapter()`
- `createDenoAdapter()`

`createShelvClient` defaults to `https://api.shelv.dev`. Set `apiBaseUrl` only for staging/self-hosted overrides.

## License

Apache-2.0.
npm package: @shelv/mcp
Description: MCP server for Shelv shelf operations.
Latest version: 0.2.5

# @shelv/mcp

MCP server for Shelv shelf operations.

## Links

- Website: [shelv.dev](https://shelv.dev)
- Docs: [docs.shelv.dev/guides/mcp-server](https://docs.shelv.dev/guides/mcp-server)
- npm: [npmjs.com/package/@shelv/mcp](https://www.npmjs.com/package/@shelv/mcp)
- Source: [github.com/shelv-dev/shelv-mcp](https://github.com/shelv-dev/shelv-mcp)

## Install

```bash
pnpm add @shelv/mcp
```

```bash
npm install @shelv/mcp
```

```bash
npx @shelv/mcp
```

## Environment

- `SHELV_API_KEY` for stdio mode
- `SHELV_MCP_TRANSPORT=stdio|http` (defaults to `stdio`)
- `SHELV_MCP_HTTP_HOST` (defaults to `127.0.0.1`)
- `SHELV_MCP_HTTP_PORT` (defaults to `3334`)
- `SHELV_MCP_ENABLE_WRITE_TOOLS=true` to enable `create_shelf` and `hydrate_shelf`
- `SHELV_MCP_SEARCH_MAX_FILES` (defaults to `500`)
- `SHELV_MCP_SEARCH_MAX_BYTES` (defaults to `5000000`)
- `SHELV_MCP_SEARCH_MAX_MATCHES` (defaults to `200`)
- `SHELV_MCP_READ_MAX_BYTES` (defaults to `250000`)

## Run

```bash
shelv-mcp
```

```bash
SHELV_MCP_TRANSPORT=http SHELV_MCP_HTTP_PORT=3334 shelv-mcp
```

In HTTP mode, send `Authorization: Bearer sk_...` on each request unless
`SHELV_API_KEY` is configured as a startup fallback.

## Tools

- `list_shelves`
- `get_shelf_tree`
- `read_shelf_file`
- `search_shelf`

Write tools are disabled by default and become available only when
`SHELV_MCP_ENABLE_WRITE_TOOLS=true`:

- `create_shelf`
- `hydrate_shelf`

## License

Apache-2.0.
npm package: @sheminusminus/querybase
Description: Bringing the where statement to Firebase
Author: David East
Latest version: 0.7.3

<p align="center">
  <img height="75px" width="411px" src="https://raw.githubusercontent.com/davideast/Querybase/master/logos/logo-large.png">
  <p align="center">Bringing the <code>.where()</code> statement to the Firebase Database</p>
</p>

[![Build Status](https://travis-ci.org/davideast/Querybase.svg?branch=master)](https://travis-ci.org/davideast/Querybase)
[![Coverage Status](https://coveralls.io/repos/github/davideast/Querybase/badge.svg?branch=master)](https://coveralls.io/github/davideast/Querybase?branch=master)

#### Querybase is in an experiment and not for production apps/sites/anything.

## [Cloud Firestore](https://firebase.google.com/docs/firestore/) makes this library irrelevant as it has much more complex querying.

## What is Querybase?

- **.where()** - Find records by up to three fields.
- **No client-side filtering** - Querybase genererates composite keys to provide querying on multiple fields.
- **Simple Query API** - Use common query methods such as `.greaterThan()`, `.lessThan()`, and `.startsWith()`.
- **Lightweight** - 1.87 kB (gzipped)

## Install

```bash
npm install querybase --save
```

Use via [unpkg](https://unpkg.com)

```html
<script src="https://unpkg.com/querybase@0.6.0"></script>
```

## Example usage

Querybase takes a Firebase Database reference with a list of fields to create composite keys. **You can only use up to three fields**. Any more would create a crazy amount of composite keys in the database.

### Querying using multiple fields

```js
 const databaseRef = firebase.database().ref().child('people');
 const querybaseRef = querybase.ref(databaseRef, ['name', 'age', 'location']);
 
 // Automatically handles composite keys
 querybaseRef.push({ 
   name: 'David',
   age: 27,
   location: 'SF'
 });
 
// Find records by multiple fields
// returns a Firebase Database ref
const queriedDbRef = querybaseRef
  .where({
    name: 'David',
    age: 27
  });
  
 // Listen for realtime updates
 queriedDbRef.on('value', snap => console.log(snap));
 ```
 
### Querying using one field

Querybase also provides rich querying methods for single fields.
 
 ```js
 const databaseRef = firebase.database.ref().child('people');
 const querybaseRef = querybase.ref(databaseRef, []);
 // Querybase for single criteria, returns a Firebase Ref
 querybaseRef.where({ name: 'David'});
  
 // Querybase for a single string criteria, returns
 // a QuerybaseQuery, which returns a Firebase Ref
 querybaseRef.where('name').startsWith('Da');
 querybaseRef.where('age').lessThan(30);
 querybaseRef.where('age').greaterThan(20);
 querybaseRef.where('age').between(20, 30);
 ```