open-index/open-npm huggingface dataset:
npm package: @fjell/http-api
Description: HTTP API for Fjell
Latest version: 4.4.69

This is a simple HTTP library.

## Why another HTTP library?

The Fjell project was looking for a way to interact with a REST API in a simple way that provided the ability to
make typed requests and responses.

## How do I install it?

`yarn add @fjell/http-api`

## What if I use npm?

We think the answer is `npm install @fjell/http-api`, but we're not sure because we (the project) use yarn.



## How does it compare to other HTTP libraries?

We don't know.  Why don't you compare them?  Really, we're not sure.  We're not even sure if this is a good HTTP library.  We're just trying to scratch our own itch.

## How do I participate in this project?

You can participate in this project by forking the repository and making a pull request.  You can also participate by reporting issues or suggesting features.  If you have a question, go ahead and ask it on the issue tracker.  The project that published this isn't particularly active, but we'll try to respond to issues and pull requests.
npm package: @fjell/lib
Description: Server-side Library for Fjell
Latest version: 4.4.89

# @fjell/lib

Server-side data operations library for Fjell.

## Installation

```bash
npm install @fjell/lib @fjell/core @fjell/registry
```

## Breaking Changes in v5.0.0

The Operations interface now extends from `@fjell/core`. This provides:
- Consistent interface across all fjell packages
- Centralized validation logic
- Better type safety

### Migration from v4.x

The API remains the same, but imports may need updating:

```typescript
// Before
import { Operations } from '@fjell/lib';

// After (still works)
import { Operations } from '@fjell/lib';

// Or import types directly from core
import { OperationParams, AffectedKeys } from '@fjell/core';
```

No code changes required unless you were using internal types.

See [MIGRATION_v5.md](./MIGRATION_v5.md) for detailed migration guide.

## Quick Start

```typescript
import { createLibrary } from '@fjell/lib';
import { createRegistry } from '@fjell/registry';

// Define your data model
interface User {
  kt: 'user';
  pk: string;
  name: string;
  email: string;
}

// Create operations implementation
const userOperations = {
  async create(item) { /* ... */ },
  async get(key) { /* ... */ },
  async update(key, item) { /* ... */ },
  async remove(key) { /* ... */ },
  async all(query) { /* ... */ },
  async one(query) { /* ... */ },
  async find(finder, params) { /* ... */ },
  async findOne(finder, params) { /* ... */ },
  async action(key, action, params) { /* ... */ },
  async allAction(action, params) { /* ... */ },
  async facet(key, facet, params) { /* ... */ },
  async allFacet(facet, params) { /* ... */ },
};

// Create registry and library
const registry = createRegistry();
const userLibrary = createLibrary(registry, coordinate, userOperations, options);

// Use the library
const newUser = await userLibrary.operations.create({
  name: 'Alice',
  email: 'alice@example.com'
});
```

## Features

- **Type-safe operations** - Full TypeScript support with strict typing
- **Hooks system** - Pre/post create, update, and remove hooks
- **Validators** - Validate data before operations
- **Custom finders** - Define custom query methods
- **Actions** - Define business logic operations
- **Facets** - Compute derived views of data
- **Location hierarchies** - Support for hierarchical data organization

## Documentation

For full documentation, examples, and guides, visit the [documentation site](https://getfjell.github.io/lib).

## Examples

See the [examples](./examples) directory for usage patterns.

## License

Apache-2.0
npm package: @fjell/lib-fs
Description: Filesystem Library for Fjell
Author: Fjell Team
Latest version: 4.4.25

# @fjell/lib-fs

Filesystem persistence library for Fjell framework.

## Status

🚧 **Development / Alpha** - This library is under active development.

## Overview

Store Fjell Items as JSON files in the local filesystem with full support for the Fjell Operations interface. Perfect for local development, testing, and desktop applications.

## Features

- ✅ Full Operations interface implementation
- ✅ Primary and Contained items support
- ✅ **File attachments support** (same API as lib-gcs)
- ✅ Custom finders, actions, and facets
- ✅ Type-safe with TypeScript
- ✅ Hierarchical storage on filesystem
- ✅ Direct filesystem access
- ✅ No external dependencies (uses Node.js built-ins)

## Installation

```bash
npm install @fjell/lib-fs
```

## Quick Start

```typescript
import { createPrimaryFilesystemLibrary } from '@fjell/lib-fs';

interface User {
  kt: 'user';
  pk: string;
  name: string;
  email: string;
}

const userLib = createPrimaryFilesystemLibrary<User, 'user'>(
  'user',
  'users',
  { globalDirectory: './data' }
);

// Create a user
const user = await userLib.operations.create({
  name: 'Alice',
  email: 'alice@example.com'
});

// File stored at: ./data/users/{uuid}.json
```

## Use Cases

- ✅ Local development and testing
- ✅ Desktop applications
- ✅ Build-time data storage
- ✅ Configuration management
- ✅ Prototyping
- ✅ Development alternative to lib-gcs

## Documentation

Coming soon!

## License

Apache-2.0

## Author

Fjell Team

TEST
npm package: @fjell/types
Description: Core Types and Interfaces for Fjell
Latest version: 4.4.9

# @fjell/types

Core types and interfaces for the Fjell ecosystem. This package contains pure type definitions with zero runtime dependencies.

## Installation

```bash
npm install @fjell/types
```

## Usage

```typescript
import { Item, PriKey, ComKey } from '@fjell/types';

// Use types in your code
const myKey: PriKey = {
  pk: 'my-pk',
  sk: 'my-sk'
};
```
TEST
npm package: @fjell/validation
Description: Validation Logic for Fjell Items and Keys
Latest version: 4.4.6

# @fjell/validation

Validation logic for Fjell items and keys. This package contains validators that can be used on both client and server side.

## Installation

```bash
npm install @fjell/validation
```

## Usage

```typescript
import { ItemValidator, KeyValidator } from '@fjell/validation';
import { PriKey } from '@fjell/types';

const key: PriKey<'user'> = { kt: 'user', pk: '123' };

// Validate a key
if (KeyValidator.isPriKey(key)) {
  console.log('Valid primary key');
}
```