@ormai/core
v0.1.1
Published
Core types, policy engine, adapter interfaces, and schemas for OrmAI
Downloads
24
Maintainers
Readme
@ormai/core
Core types, policy engine, adapter/tool/store interfaces, DSL schemas, error taxonomy, and cursor encoding for OrmAI.
@ormai/core is the foundation for all OrmAI packages. It bundles five modules:
- Core -- execution context (
RunContext), DSL schemas for queries/mutations, type definitions for models/fields/relations, cursor encoding, and a structured error taxonomy. - Policy --
PolicyEngine, scoping, redaction, budget enforcement, and cost estimation. - Adapter Base --
OrmAdapterinterface,BaseOrmAdapter, compiled query/mutation types. - Tool Base --
BaseTool,ToolRegistry,ok/failresult constructors. - Audit Base --
AuditStoreinterface,BaseAuditStore, audit record models.
Installation
npm install @ormai/coreQuick Start
import {
PrismaAdapter,
PolicyBuilder,
createToolset,
createContext,
} from '@ormai/core';
const adapter = new PrismaAdapter({ prisma });
const schema = await adapter.introspect();
const policy = new PolicyBuilder('prod')
.registerModels(['Customer', 'Order', 'Product'])
.tenantScope('tenantId')
.denyFields('*password*')
.maskFields('*email*')
.enableWrites(['Order'])
.build();
const registry = createToolset({ adapter, policy, schema });
const ctx = createContext({
tenantId: 'tenant-123',
userId: 'user-456',
db: prisma,
roles: ['admin'],
});
const result = await registry.get('db.query').execute({
model: 'Order',
where: [{ field: 'status', op: 'eq', value: 'pending' }],
take: 10,
}, ctx);API Reference
Core
createContext, createContextWithPrincipal, createPrincipal, hasRole, isRunContext, isPrincipal
FilterOpSchema, QueryRequestSchema, CreateRequestSchema, UpdateRequestSchema, DeleteRequestSchema, BulkUpdateRequestSchema, AggregateRequestSchema, and result schemas
CursorEncoder, buildKeysetCondition, defaultEncoder
ModelNotAllowedError, FieldNotAllowedError, TenantScopeRequiredError, QueryBudgetExceededError, WriteDisabledError, NotFoundError, AdapterError, ValidationError, and more
Policy
PolicyEngine, ScopeInjector, createScopeInjector, Redactor, createRedactor, maskEmail, maskPhone, ComplexityScorer, BudgetEnforcer, QueryCostEstimator, CostTracker
Adapter Base
BaseOrmAdapter, OrmAdapter (interface), CompiledQuery, CompiledMutation, applyRedaction
Tool Base
BaseTool, ToolRegistry, createToolRegistry, ok, fail
Audit Base
BaseAuditStore, AuditStore (interface), AuditRecordSchema, createAuditRecord
Related Packages
- @ormai/prisma -- Prisma adapter
- @ormai/drizzle -- Drizzle adapter
- @ormai/typeorm -- TypeORM adapter
- @ormai/tools -- Generic database tools
- @ormai/store -- Audit logging stores
- @ormai/mcp -- MCP server
- @ormai/integrations -- Agent framework integrations
- @ormai/utils -- PolicyBuilder, factories, testing helpers
License
MIT
