open-index/open-npm huggingface dataset:
npm package: @objectstack/core
Description: Microkernel Core for ObjectStack
Latest version: 4.0.2

# @objectstack/core

The **Kernel** of the ObjectStack architecture. It provides the fundamental building blocks for a modular, plugin-based system.

## Features

- **ObjectKernel**: A robust Dependency Injection (DI) container and plugin manager.
- **Plugin Architecture**: A standard interface (`Plugin`) with lifecycle hooks (`init`, `start`, `stop`).
- **Service Management**: Register and resolve services with type safety.
- **Logging**: Structured logging interface with swappable backends.

## Installation

```bash
pnpm add @objectstack/core
```

## Basic Usage

```typescript
import { ObjectKernel } from '@objectstack/core';

const kernel = new ObjectKernel();

// Register a simple plugin
kernel.use({
  name: 'my-plugin',
  version: '1.0.0',
  async init(ctx) {
    ctx.logger.info('Plugin initializing...');
  }
});

await kernel.bootstrap();
```
npm package: @objectstack/driver-memory
Description: In-Memory Driver for ObjectStack (Reference Implementation)
Latest version: 4.0.2

# @objectstack/driver-memory

In-Memory Database access layer for ObjectStack. Supports rich querying capabilities (MongoDB-style operators) on standard JavaScript arrays.

## Features

- **NoSQL Syntax**: Supports `$eq`, `$gt`, `$lt`, `$in`, `$and`, `$or` operators.
- **Sorting & Pagination**: Full support for `sort`, `skip`, `limit`.
- **Zero Config**: Perfect for prototyping, testing, and the **MSW Browser Mock**.
- **Stateful**: Preserves data in memory during the session.

## Usage

```typescript
import { InMemoryDriver } from '@objectstack/driver-memory';

const driver = new InMemoryDriver();
await driver.connect();

// Used internally by ObjectQL
```
npm package: @objectstack/express
Description: The official Express adapter for ObjectStack.
Latest version: 4.0.2

# @objectstack/express

The official Express adapter for ObjectStack.

## Features
- Standalone Express router integration
- Full Auth/GraphQL/Metadata/Data/Storage routes
- AuthPlugin service support with Web Request conversion
- Middleware mode for attaching kernel to requests

## Usage

```typescript
import express from 'express';
import { createExpressRouter } from '@objectstack/express';

const app = express();
app.use(express.json());
app.use('/api', createExpressRouter({ kernel }));

app.listen(3000);
```
npm package: @objectstack/fastify
Description: The official Fastify adapter for ObjectStack.
Latest version: 4.0.2

# @objectstack/fastify

The official Fastify adapter for ObjectStack.

## Features
- Fastify plugin integration
- Full Auth/GraphQL/Metadata/Data/Storage routes
- AuthPlugin service support with Web Request conversion
- Decorator mode for attaching kernel to requests

## Usage

```typescript
import Fastify from 'fastify';
import { objectStackPlugin } from '@objectstack/fastify';

const app = Fastify();
app.register(objectStackPlugin, { kernel, prefix: '/api' });

app.listen({ port: 3000 });
```
npm package: @objectstack/hono
Description: The official Hono adapter for ObjectStack.
Latest version: 4.0.2

# @objectstack/hono

The official Hono adapter for ObjectStack.

## Features
- Lightweight & Fast
- Edge Compatible (Cloudflare Workers, Deno, Bun)
- Built-in CORS

## Usage

```typescript
import { createHonoApp } from '@objectstack/hono';
import { kernel } from './my-kernel';

const app = createHonoApp({ kernel });

export default app;
```
npm package: @objectstack/nestjs
Description: The official NestJS integration for ObjectStack.
Latest version: 4.0.2

# @objectstack/nestjs

The official NestJS integration for ObjectStack.

## Features
- `ObjectStackModule`: Global module for DI.
- `ObjectStackService`: Injectable wrapper for the Kernel.
- Compatible with all NestJS features (Guards, Interceptors, Pipes).

## Usage

```typescript
import { Module } from '@nestjs/common';
import { ObjectStackModule } from '@objectstack/nestjs';
import { kernel } from './kernel';

@Module({
  imports: [
    ObjectStackModule.forRoot(kernel)
  ]
})
export class AppModule {}
```
npm package: @objectstack/nextjs
Description: The official Next.js adapter for ObjectStack.
Latest version: 4.0.2

# @objectstack/nextjs

The official Next.js adapter for ObjectStack.

## Features
- Works with App Router (`app/api/...`)
- Server Actions support (Planned)
- Type-safe integration

## Usage

```typescript
// app/api/[...objectstack]/route.ts
import { createRouteHandler } from '@objectstack/nextjs';
import { kernel } from '@/lib/kernel';

const handler = createRouteHandler({ kernel });

export { handler as GET, handler as POST };
```
npm package: @objectstack/nuxt
Description: The official Nuxt adapter for ObjectStack, built on h3.
Latest version: 4.0.2

# @objectstack/nuxt

The official Nuxt adapter for ObjectStack, built on h3.

## Features
- h3 router integration for Nuxt server routes
- Full Auth/GraphQL/Metadata/Data/Storage routes
- AuthPlugin service support
- Works with standalone h3 apps too

## Usage

```typescript
// server/api/[...].ts
import { createH3Router } from '@objectstack/nuxt';
import { kernel } from '../kernel';

const router = createH3Router({ kernel });
export default defineEventHandler(router.handler);
```
npm package: @objectstack/plugin-hono-server
Description: Standard Hono Server Adapter for ObjectStack Runtime
Latest version: 4.0.2

# @objectstack/plugin-hono-server

HTTP Server adapter for ObjectStack using Hono.

## Features

- **Standard Runtime**: Uses the unified `HttpDispatcher` and standard Hono adapter via `@objectstack/hono`.
- **Fast**: Built on Hono, a high-performance web framework.
- **Full Protocol Support**: Automatically provides all ObjectStack Runtime endpoints (Auth, Data, Metadata, etc.).
- **Middleware**: Supports standard Hono middleware.

## Usage

```typescript
import { ObjectKernel } from '@objectstack/runtime';
import { HonoServerPlugin } from '@objectstack/plugin-hono-server';

const kernel = new ObjectKernel();

// Register the server plugin
kernel.use(new HonoServerPlugin({ 
  port: 3000,
  restConfig: {
      api: {
          apiPath: '/api/v1' // Customize API prefix
      }
  }
}));

await kernel.start();
```

## Architecture

This plugin wraps `@objectstack/hono` to provide a turnkey HTTP server solution for the Runtime. It binds the standard `HttpDispatcher` to a Hono application and starts listening on the configured port.
npm package: @objectstack/plugin-security
Description: Security Plugin for ObjectStack — RBAC, RLS, and Field-Level Security Runtime
Latest version: 4.0.2

# @objectstack/plugin-security

Security Plugin for ObjectStack — RBAC, Row-Level Security (RLS), and Field-Level Security runtime.

## Features

- **RBAC Permission Evaluator**: Checks object-level CRUD permissions per user role with most-permissive merging across multiple roles.
- **Row-Level Security (RLS)**: Compiles RLS policy expressions into ObjectQL query filters, automatically injected into all read operations.
- **Field-Level Masking**: Strips non-readable fields from query results and identifies non-editable fields.
- **ObjectQL Middleware Integration**: Hooks into the ObjectQL pipeline to enforce security transparently on every operation.
- **System Bypass**: System-level operations skip security checks for internal workflows.

## Usage

```typescript
import { SecurityPlugin } from '@objectstack/plugin-security';
import { ObjectKernel } from '@objectstack/core';

const kernel = new ObjectKernel({
  plugins: [
    new SecurityPlugin(),
  ],
});
```

### Exported Components

```typescript
import {
  SecurityPlugin,
  PermissionEvaluator,
  RLSCompiler,
  FieldMasker,
} from '@objectstack/plugin-security';
```

## Architecture

The plugin registers three core services and executes a 4-step security chain on every data operation:

1. **Resolve Permission Sets** — Match user roles to permission set definitions from metadata.
2. **Check Object Permissions** — Validate CRUD access (`allowRead`, `allowCreate`, `allowEdit`, `allowDelete`).
3. **Inject RLS Filters** — Compile row-level policy expressions and merge them into the query.
4. **Mask Fields** — Remove restricted fields from results based on field-level permissions.

## License

Apache-2.0 © ObjectStack
npm package: @objectstack/rest
Description: ObjectStack REST API Server - automatic REST endpoint generation from protocol
Latest version: 4.0.2

# @objectstack/rest

ObjectStack REST API Server — automatic REST endpoint generation from protocol metadata. Turns your ObjectStack schema definitions into fully functional CRUD endpoints with zero boilerplate.

## Features

- **Auto-Generated Endpoints**: CRUD routes (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`) from object schemas.
- **Batch Operations**: `/createMany`, `/updateMany`, `/deleteMany`, `/batch` endpoints.
- **Metadata API**: `/meta`, `/meta/{type}`, `/meta/{type}/{name}` for runtime introspection.
- **Discovery Endpoint**: `/api/v1` for API self-documentation.
- **Route Manager**: Centralized route registration, grouping, and middleware chain.
- **HTTP Caching**: ETag and Last-Modified header support.
- **Configurable Paths**: Plural, kebab-case, and camelCase path transformations.

## Usage

```typescript
import { createRestApiPlugin } from '@objectstack/rest';

const restPlugin = createRestApiPlugin({
  api: {
    version: 'v1',
    basePath: '/api',
  },
});

// Register with ObjectKernel
kernel.use(restPlugin);
```

### Standalone RestServer

```typescript
import { RestServer } from '@objectstack/rest';

const server = new RestServer(protocol, config);
server.registerRoutes(httpServer);
```

### Route Manager

```typescript
import { RouteManager } from '@objectstack/rest';

const routes = new RouteManager();
routes.register({ method: 'GET', path: '/custom', handler });
```

## License

Apache-2.0 © ObjectStack