JSPM

@permify-toolkit/core

1.3.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 121
  • Score
    100M100P100Q70895F
  • License MIT

The ultimate TypeScript engine for Permify: Type-safe schema DSL, simplified client, and shared configuration.

Package Exports

  • @permify-toolkit/core

Readme

@permify-toolkit/core

NPM Version License

Type-safe schema DSL, client factory, and permission/relationship helpers for Permify.

Installation

pnpm add @permify-toolkit/core

Quick Example

import {
  schema,
  entity,
  relation,
  permission,
  defineConfig
} from "@permify-toolkit/core";

export default defineConfig({
  tenant: "t1",
  client: { endpoint: "localhost:3478", insecure: true },
  schema: schema({
    user: entity({}),
    document: entity({
      relations: { owner: relation("user"), editor: relation("user") },
      permissions: {
        edit: permission("owner", "editor"),
        view: permission("owner", "editor")
      }
    })
  })
});
import { createPermifyClient, checkPermission } from "@permify-toolkit/core";

const client = createPermifyClient({
  endpoint: "localhost:3478",
  insecure: true
});

const { allowed } = await checkPermission(client, {
  tenantId: "t1",
  entity: { type: "document", id: "doc-1" },
  permission: "view",
  subject: { type: "user", id: "user-123" }
});

Features

  • Type-Safe Schema DSL — define entities, relations, and permissions with full IDE autocomplete
  • Client Factory — create gRPC clients from code or environment variables
  • Permission Checks — simplified checkPermission() single-function calls
  • Relationship ManagementwriteRelationships() and deleteRelationships() helpers
  • Shared Configpermify.config.ts powers your app, CLI, and NestJS module

Documentation

For full documentation, guides, and API reference, visit the Permify Toolkit Docs.