@x12i/xentra-core
v0.2.0
Published
Pure domain business logic for Xentra
Readme
@x12i/xentra-core
Pure, framework-free domain logic for Xentra. No I/O, storage, or HTTP — safe to use in workers, tests, and edge runtimes.
Install
npm install @x12i/xentra-coreDepends on @x12i/xentra-types.
Usage
import {
createAccountModel,
createDefaultRoles,
createMembershipModel,
validateDelegation,
validateAgentToolAccess,
createPermissionCheckInput,
resolveTenantContext,
} from "@x12i/xentra-core";
const account = createAccountModel({ name: "Acme", slug: "acme" });
const roles = createDefaultRoles(account.id);
const membership = createMembershipModel({
accountId: account.id,
userId: "user_1",
roleIds: [roles[0].id],
});Key exports
| Function | Purpose |
|----------|---------|
| createAccountModel | Build a new Account with generated id and timestamps |
| createDefaultRoles | Seed owner, admin, member, viewer, and specialty roles for an account |
| createMembershipModel | Build a Membership linking a user to an account/team |
| validateDelegation | Check whether a delegation allows an actor to perform an action |
| validateAgentToolAccess | Check agent status, tool allow-list, and action support |
| createPermissionCheckInput | Normalize a permission check request |
| resolveTenantContext | Build tenant context from account/workspace/team/actor |
| resolveActiveAccount | Find an active account by id |
| isAccountAccessible | Whether an account exists and is active |
Related packages
@x12i/xentra-permissions— callsvalidateDelegationandisAccountAccessible@x12i/xentra-agentic— usesvalidateAgentToolAccess@x12i/xentra-api— uses account/role/membership factories on create
Development
npm run build -w @x12i/xentra-core
npm test -w @x12i/xentra-coreLicense
MIT
