Skip to content

@privateaim/server-kit

Server-side foundation package providing logging, authentication integration, AMQP messaging, Redis, caching, and DI module infrastructure. Used by all Hub backend services.

Installation

bash
npm install @privateaim/server-kit

Usage

Logger (Winston)

typescript
import { useLogger, LoggerModule } from '@privateaim/server-kit';

const logger = useLogger();
logger.info('Service started');

Message Bus (AMQP)

typescript
import { MessageBusModule } from '@privateaim/server-kit';

Redis

typescript
import { RedisModule } from '@privateaim/server-kit';

Authup Integration

typescript
import { AuthupModule } from '@privateaim/server-kit';

Application Builder

typescript
import { BaseApplicationBuilder } from '@privateaim/server-kit';

class MyAppBuilder extends BaseApplicationBuilder {
    // Add withConfig(), withDatabase(), withHTTP() etc.
}

API

Exports

ModuleDescription
appBaseApplicationBuilder, Application base class
loggerWinston logger setup and LoggerModule
message-busAMQP message bus module and utilities
redisRedis module and connection helpers
authupAuthup authentication middleware module
cacheCache module (Redis-backed)
configConfiguration reading via envix
entity-eventEntity event pub/sub system
task-managerTask lifecycle management
aggregatorAMQP event aggregator base classes
componentAMQP task consumer component base classes
constantsModule names, injection keys

Shared DI Modules

Module ClassPurpose
LoggerModuleWinston logger with optional telemetry transport
RedisModuleRedis client registration
MessageBusModuleAMQP connection and queue management
AuthupModuleAuthup middleware and token validation
CacheModuleRedis-backed caching
EntityEventModuleDomain event dispatching

Dependencies

  • winston — Logging
  • @ebec/http — HTTP error types
  • @hapic/oauth2 — OAuth2 client
  • orkos — Module system (IModule)
  • eldin — DI container (TypedToken)
  • envix — Environment variable reading

Released under the Apache-2.0 License.