Tenant resolution services and route handlers that derive tenant context from API keys.
Boot-time permission-catalog publisher for Nodii module-services. Type-safe definePermissions + publishCatalogAtBoot wrapper (cold-start retry, idempotency, fail-fast) on top of the tenant-service RoleCatalogService gRPC contract.
Shared AsyncLocalStorage context for NestJS — carries user/tenant/traceId across the request and the ecosystem.
AITaxAdvise admin CLI - platform management for AI tax advisory. Tenant CRUD, user management, billing, support, audit.
Framework-agnostic TypeScript primitives shared across Classytic packages — Money, events, pagination, tenant config, and other building blocks.
Framework-agnostic multi-tenancy for Node: tenant context plus automatic query scoping (Mongoose adapter). Single-database, row-level, fail-closed.
Typed tenant scoping for Drizzle ORM query builders
Envelope encryption for per-tenant secret management with pluggable backends
Shared AsyncLocalStorage context for AdonisJS — carries user/tenant/traceId across the request and the Agora ecosystem.
Extractable Express middleware for Constructive tenant context — domain resolution, JWT auth, pgSettings, and withPgClient
Multi-tenancy support for Object UI with tenant isolation, scoped queries, and custom branding.
Core platform object schemas for ObjectStack — identity, security, audit, tenant, and metadata objects