@boltz.one/sdk-server
v0.1.6
Published
Backend SDK (node): Hono createServiceApp + middlewares + DB/Cache/Outbox + IAM PEP/PDP + telemetry (OTel) + config (.env loader) + service runtime bootstrap
Downloads
1,170
Readme
@boltz.one/sdk-server
Backend SDK (Node/Bun) của Boltz One: dựng service Hono nhanh với middleware stack chuẩn, kèm helper DB/Cache/Outbox/Telemetry/Config/IAM.
Cài đặt
bun add @boltz.one/sdk-server @boltz.one/sdk-core @boltz.one/contractsCác thư viện runtime (hono, drizzle-orm, postgres, ioredis, jose,
@opentelemetry/*) là dependency của package — cài kèm tự động.
Entry points
| Import | Nội dung |
| --- | --- |
| @boltz.one/sdk-server | Re-export hono + middlewares + iam + db + cache + outbox |
| @boltz.one/sdk-server/hono | createServiceApp, ServiceVars, response helpers (ok, created, accepted, noContent) |
| @boltz.one/sdk-server/middlewares | requestContext, authn, authz, validate, rateLimit, audit, telemetry, errorHandler, idempotency |
| @boltz.one/sdk-server/iam | PEP helpers + PDP client (createIamClient) |
| @boltz.one/sdk-server/db | createDb, Db, paginate, withTransaction, sql |
| @boltz.one/sdk-server/db/schema | Drizzle schema (iam, audit, outbox, platform, wallet) |
| @boltz.one/sdk-server/db/repository | Base repository |
| @boltz.one/sdk-server/cache | CacheClient, InMemoryCache, RedisCache, createRedisClient, cacheAside, singleFlight |
| @boltz.one/sdk-server/outbox | createDrizzleOutboxStore, OutboxWorker |
| @boltz.one/sdk-server/telemetry | setupTelemetry, recordHttp (OpenTelemetry) |
| @boltz.one/sdk-server/telemetry/metrics | Metrics http/iam |
| @boltz.one/sdk-server/config | loadEnv, defineConfig, createConfig, loadConfig |
| @boltz.one/sdk-server/runtime | createServiceBootstrap, health routes, default middleware stack |
Sử dụng
import { loadEnv, defineConfig } from '@boltz.one/sdk-server/config';
import { createServiceBootstrap } from '@boltz.one/sdk-server/runtime';
import { z } from 'zod';
loadEnv();
const config = defineConfig({
schema: z.object({ PORT: z.coerce.number().default(3000) }),
});
await createServiceBootstrap({
serviceName: 'registry',
port: config.PORT,
// ... routes, middleware
});Tạo app thủ công + DB:
import { createServiceApp } from '@boltz.one/sdk-server/hono';
import { createDb } from '@boltz.one/sdk-server/db';
import { apps } from '@boltz.one/sdk-server/db/schema';Package này chỉ dùng phía server (import API Node, OTel, driver DB). Frontend dùng
@boltz.one/sdk-web.
License
MIT
