@hiliosai/core
v1.1.4
Published
Core libraries and utilities for Hilios services - authentication, database, configurations, and shared components
Downloads
22
Readme
@hiliosai/core
Core libraries and utilities for Hilios services including authentication, database management, configurations, and service factory utilities.
Installation
npm install @hiliosai/core
# or
bun add @hiliosai/coreFeatures
- 🔐 Authentication - Clerk integration and auth utilities
- 🗄️ Database - Prisma client with tenant management
- ⚙️ Configurations - Shared Moleculer and service configs
- 🏭 Service Factory - Type-safe Moleculer service creation
- 🛠️ Utilities - Common middlewares and helpers
Quick Start
Creating a Type-Safe Service
import { createService, type AppContext } from '@hiliosai/core';
const MyService = createService({
name: 'my-service',
version: 1,
actions: {
hello: {
rest: 'GET /hello',
async handler(ctx: AppContext) {
const { tenantId, userId } = ctx.meta;
return { message: `Hello from tenant ${tenantId}!` };
}
}
}
});
export default MyService;Using Database with Tenant Isolation
import { PrismaClient, TenantClientManager } from '@hiliosai/core/db';
// Initialize tenant manager
const tenantManager = new TenantClientManager();
// Get tenant-specific database client
const tenantDb = tenantManager.getTenantClient('tenant-123');
// All queries are automatically scoped to this tenant
const users = await tenantDb.client.user.findMany();Authentication
import { withAuth } from '@hiliosai/core/auth';
const protectedAction = {
middlewares: [withAuth],
async handler(ctx) {
// ctx.meta.user is populated by auth middleware
const { user, tenantId } = ctx.meta;
return { user: user.email };
}
};Subpath Exports
Import specific modules for smaller bundle sizes:
// Import only auth utilities
import { withAuth, type BaseUser } from '@hiliosai/core/auth';
// Import only database utilities
import { PrismaClient, TenantClientManager } from '@hiliosai/core/db';
// Import only configurations
import { moleculerConfig, corsConfig } from '@hiliosai/core/configs';
// Import only service factory
import { createService } from '@hiliosai/core/service-factory';Requirements
- Node.js 18+ or Bun 1.0+
- TypeScript 5.0+
- Prisma 5.0+
- Moleculer 0.14+
Peer Dependencies
Make sure to install these in your project:
npm install @prisma/client moleculerLicense
MIT
Support
- Documentation: https://docs.hilios.ai
- Issues: https://github.com/hiliosai/hios/issues
- Discord: https://discord.gg/hilios
