npm.io
5.43.0 • Published 6d ago

@memberjunction/ai-form-builder

Licence
ISC
Version
5.43.0
Deps
10
Size
225 kB
Vulns
0
Weekly
0
Stars
26

MemberJunction

The open-source, AI-native data platform.

Unify your data. Add intelligence. Build AI-native apps on top of it.

License npm version TypeScript GitHub Stars Documentation Issues


What is MemberJunction?

MemberJunction is a metadata-driven application platform that turns your database into a fully functional application — complete with auto-generated APIs, forms, security, and deep AI integration. Define your schema, and MJ generates everything else: typed entity classes, GraphQL endpoints, Angular UI components, validation, and audit trails.

What makes it different: 175 modular TypeScript packages that work together or independently, 15+ AI providers behind a single abstraction layer, and an agent framework for building autonomous workflows — all driven by metadata, not boilerplate.

It's two things in one. A data platform for unifying and reasoning over your data — and a full-stack framework for building AI-native applications on top of it, where agents, prompts, and RAG operate directly on your entities. And because the whole stack is TypeScript with one object model that runs identically on the server, in the browser, in the CLI, and inside agents, you write your data and business logic once and run it on every tier.

Already getting your data into MJ and wondering what else you can build? MJ is a first-class platform for building AI-native applications on your unified data. Start with Building Applications on MemberJunction — the developer's hub that walks the schema-to-app model and links every layer — and the framework comparison vs. Next.js/Vercel, Supabase, Rails, and Django.

// Three lines to load, modify, and save any entity — fully typed, validated, and audited
const md = new Metadata();
const customer = await md.GetEntityObject<CustomerEntity>('Customers');
await customer.Load(customerId);
customer.Status = 'Active';
await customer.Save(); // Triggers validation, audit logging, and downstream actions automatically
// Swap AI providers with zero code changes
const ai = new AIEngine();
const result = await ai.ChatCompletion({
  model: 'gpt-4o',          // or 'claude-sonnet-4-5-20250929', 'gemini-pro', 'llama-3', ...
  messages: [{ role: 'user', content: 'Summarize this quarter\'s metrics' }],
  data: await rv.RunView({ EntityName: 'Quarterly Reports', ResultType: 'simple' })
});

Key Capabilities

Metadata-Driven Core
  • Auto-generated APIs — GraphQL endpoints from database schema
  • Typed entity classes — Full TypeScript with validation and change tracking
  • Dynamic UI — Angular forms, grids, and dashboards generated from metadata
  • Row-level security — Fine-grained access control with field-level permissions
  • Audit trail — Every change tracked automatically via Record Changes
AI-Native Platform
  • 15+ AI providers — OpenAI, Anthropic, Google, Mistral, Groq, and more
  • Agent framework — Autonomous multi-step workflows with sub-agent delegation
  • Vector operations — Embedding, semantic search, duplicate detection, and sync
  • MCP + A2A protocols — Interop with Claude Desktop, Cursor, and external agents
  • Prompt engine — Hierarchical templates with model selection and execution tracking
Communication & Automation
  • Multi-channel messaging — Email (SendGrid, Gmail, MSGraph), SMS (Twilio)
  • Actions framework — Metadata-driven business logic for workflows and agents
  • Scheduled jobs — Cron-based scheduling with distributed locking
  • Template engine — Nunjucks templates with AI-powered content generation
Developer Experience
  • 175 npm packages — Use the whole platform or just the pieces you need
  • Code generation — Entity classes, stored procedures, views, and Angular forms
  • CLI tooling — Command-line tools for codegen, metadata sync, and AI operations
  • Docker support — Containerized deployment with Flyway migrations
  • Claude Code pack — Curated AI-assistant context (CLAUDE.md + slash commands + skills) ships with every install; refresh with mj update:claude

Quick Start

# Clone and install
git clone https://github.com/MemberJunction/MJ.git && cd MJ
npm install

# Configure your database and auth
cp install.config.json.example install.config.json
# Edit install.config.json with your SQL Server connection and auth settings

# Initialize the database
node InstallMJ.js

# Start the platform
npm run start:api        # GraphQL API on port 4000
npm run start:explorer   # Angular UI on port 4200

Prerequisites: Node.js 20+, npm 9+, SQL Server 2019+ (or Azure SQL), Angular CLI 21+

Full documentation: docs.memberjunction.org


Architecture

flowchart TD
    subgraph Client["Client Layer"]
        EX["MJExplorer<br/>Angular 21 UI"]
        CLI["MJCLI<br/>Command Line"]
        MCP["MCP Clients<br/>Claude Desktop, Cursor"]
    end

    subgraph API["API Layer"]
        GQL["GraphQL API<br/>@memberjunction/server"]
        MCPS["MCP Server"]
        A2A["A2A Server"]
    end

    subgraph Core["Core Engine"]
        META["Metadata Engine<br/>@memberjunction/core"]
        ENT["Entity Framework<br/>Typed classes, validation, audit"]
        ACT["Actions Engine<br/>Workflows, scheduling"]
    end

    subgraph AI["AI Layer"]
        AIE["AI Engine<br/>Provider routing"]
        AGT["Agent Framework<br/>Autonomous workflows"]
        VEC["Vectors<br/>Embeddings, search, sync"]
        PRV["15+ Providers<br/>OpenAI, Anthropic, Google..."]
    end

    subgraph Data["Data Layer"]
        SQL["SQL Server<br/>Data Provider"]
        COMM["Communication<br/>Email, SMS, Push"]
    end

    EX --> GQL
    CLI --> GQL
    MCP --> MCPS
    MCPS --> META
    A2A --> AGT
    GQL --> META
    META --> ENT
    META --> ACT
    ENT --> SQL
    ACT --> AIE
    AIE --> PRV
    AIE --> AGT
    AGT --> VEC
    ACT --> COMM

    style Client fill:#2d6a9f,stroke:#1a4971,color:#fff
    style API fill:#2d8659,stroke:#1a5c3a,color:#fff
    style Core fill:#b8762f,stroke:#8a5722,color:#fff
    style AI fill:#7c5295,stroke:#563a6b,color:#fff
    style Data fill:#64748b,stroke:#475569,color:#fff

Full package directory with 175 packages | packages/ overview


AI Providers

Connect to any major AI service through a unified API — swap providers with zero code changes:

Provider Capabilities Package
OpenAI GPT-4o, o1/o3 reasoning, DALL-E, Whisper, embeddings @memberjunction/ai-openai
Anthropic Claude 4 family, streaming, prompt caching, extended thinking @memberjunction/ai-anthropic
Google Gemini Gemini Pro/Flash, native multimodal, long context @memberjunction/ai-gemini
Azure OpenAI Enterprise Azure-hosted models @memberjunction/ai-azure
Amazon Bedrock Multi-model access via AWS @memberjunction/ai-bedrock
Google Vertex Vertex AI platform integration @memberjunction/ai-vertex
Mistral Open-source and commercial models, embeddings @memberjunction/ai-mistral
Groq Ultra-fast LPU inference @memberjunction/ai-groq
Ollama Local inference, no API keys @memberjunction/ai-ollama
+ 6 more Cerebras, Fireworks, OpenRouter, LM Studio, xAI, Cohere All providers →

Specialized: ElevenLabs (TTS) · HeyGen (video) · BlackForestLabs (image gen) · Pinecone (vectors)


Agent Framework

Build autonomous AI agents that orchestrate complex, multi-step workflows:

  • AI Agents — Core execution engine with hierarchical prompt composition, sub-agent delegation, and automatic context compression
  • LoopAgentType — Iterative agents with ForEach/While operations (90% token reduction for batch tasks)
  • FlowAgentType — Deterministic workflow graphs with conditional branching and parallel execution
  • MCP Server — Expose MJ entities and agents as tools for Claude Desktop, Cursor, and other MCP clients
  • A2A Server — Google's Agent-to-Agent protocol for cross-platform agent interop
  • Prompt Engine — Hierarchical templates, model selection, effort level control, and execution tracking

Deployment

# Docker
docker build -f docker/MJAPI/Dockerfile -t memberjunction/api .
docker-compose up -d

# Database migrations (Flyway)
# Versioned migrations in /migrations/v2/ run automatically on startup

Security: Pluggable authentication — Auth0, Azure AD (MSAL), Okta, AWS Cognito, Google, and WorkOS (AuthKit) — plus row-level security, field permissions, GraphQL query depth limiting, and complete audit logging.


Upgrading

  • v5.0 Upgrade Guide — Breaking changes, automated migration tools, and step-by-step instructions for upgrading from v4.x
  • General Upgrade Procedure — Standard process for upgrading across environments (dev/stage/prod)

Contributing

We welcome contributions!

  • GitHub Issues — Bug reports and feature requests
  • Discussions — Questions and ideas
  • Documentation — Full platform docs
  • Development Guide — See CLAUDE.md for coding standards, naming conventions, and architecture guidelines

License

MemberJunction is open source under the ISC License.


Full Package Directory

Every package in the MemberJunction monorepo, organized by directory. Click any package to jump to its README.

Actions

Metadata-driven action framework for workflows, agents, and automation (13 packages).

Core
Package npm Description
Engine @memberjunction/actions Main library for MemberJunction Actions. This library is only intended to be imported on the server side.
Base @memberjunction/actions-base Base classes and interfaces for the Actions framework. Used on both server and network nodes.
CoreActions @memberjunction/core-actions Library of generated and custom actions for the core MemberJunction framework, maintained by MemberJunction.
CodeExecution @memberjunction/code-execution Sandboxed code execution service for MemberJunction actions and agents.
Integrations
Package npm Description
ApolloEnrichment @memberjunction/actions-apollo Action classes that wrap the Apollo.io data enrichment API for contacts and accounts.
ContentAutotag @memberjunction/actions-content-autotag Action classes that execute the content autotagging and vectorization actions.
Scheduling
Package npm Description
ScheduledActions @memberjunction/scheduled-actions Allows system administrators to schedule any MemberJunction action for recurring or one-time future execution.
ScheduledActionsServer @memberjunction/scheduled-actions-server Simple application server that can be called via URL to invoke Scheduled Actions.
Actions / BizApps

Business application-specific actions for integrating with external business systems.

Package npm Description
Accounting @memberjunction/actions-bizapps-accounting Accounting system integration actions (QuickBooks, NetSuite, Sage, Dynamics)
CRM @memberjunction/actions-bizapps-crm CRM system integration actions (Salesforce, HubSpot, Dynamics, Pipedrive)
FormBuilders @memberjunction/actions-bizapps-formbuilders Form builder and survey platform integration actions (Typeform, Google Forms, Jotform)
LMS @memberjunction/actions-bizapps-lms Learning management system integration actions (Moodle, Canvas, Blackboard, LearnDash)
Social @memberjunction/actions-bizapps-social Social media integration actions (Twitter, LinkedIn, Facebook, Instagram, TikTok, YouTube, HootSuite, Buffer)
AI

AI infrastructure -- model abstractions, provider implementations, vector operations, agent management, and supporting tools (42 packages).

Core Packages
Package npm Description
Core @memberjunction/ai Base AI abstractions and interfaces for LLMs, embeddings, audio/video generation; zero MJ dependencies beyond @memberjunction/global
CorePlus @memberjunction/ai-core-plus Extended AI components that require MJ entity concepts; usable on both server and client
BaseAIEngine @memberjunction/ai-engine-base Base AI engine with extended types and data caching; usable anywhere
Engine @memberjunction/aiengine AI orchestration engine handling automatic execution of Entity AI Actions using AI Models
Prompts @memberjunction/ai-prompts Prompt execution engine with hierarchical template composition, system placeholders, parallel execution, and output validation
Agents @memberjunction/ai-agents AI agent execution and management with metadata-driven agent types and sub-agent delegation
Reranker @memberjunction/ai-reranker AI reranker service and LLM-based reranking for two-stage retrieval
Protocol and Server Packages
Package npm Description
A2AServer @memberjunction/a2aserver Agent-to-Agent (A2A) protocol server for AI agent interoperability via Google's A2A protocol
MCPServer @memberjunction/ai-mcp-server Model Context Protocol (MCP) server providing entity CRUD and AI agent execution to MCP-compatible clients
MCPClient @memberjunction/ai-mcp-client MCP client implementation for consuming external MCP servers
CLI
Package npm Description
AICLI @memberjunction/ai-cli AI agent, prompt, and action execution CLI integrated with the main MJ CLI
AI / Providers

LLM, embedding, cloud-platform, local-inference, and specialty AI provider implementations (23 packages).

LLM Providers

Package npm Description
Anthropic @memberjunction/ai-anthropic Wrapper for Anthropic AI Models (Claude)
Gemini @memberjunction/ai-gemini Wrapper for Google Gemini AI Models
Groq @memberjunction/ai-groq Wrapper for Groq AI LPU inference engine
Mistral @memberjunction/ai-mistral Wrapper for Mistral AI Models
OpenAI @memberjunction/ai-openai Wrapper for OpenAI AI Models (GPT-4, etc.)
xAI @memberjunction/ai-xai Wrapper for xAI models (Grok)

Cloud Platform Providers

Package npm Description
Azure @memberjunction/ai-azure Azure AI Provider for MemberJunction
Bedrock @memberjunction/ai-bedrock Wrapper for Amazon Bedrock AI Models
Vertex @memberjunction/ai-vertex Wrapper for Google Vertex AI Models

Inference Routers and Aggregators

Package npm Description
Fireworks @memberjunction/ai-fireworks Wrapper for Fireworks.ai AI Models
OpenRouter @memberjunction/ai-openrouter Wrapper for OpenRouter AI inference services

Local Inference

Package npm Description
LMStudio @memberjunction/ai-lmstudio Wrapper for LM Studio AI - Local Inference Engine
Ollama @memberjunction/ai-ollama Wrapper for Ollama - Local Inference

Specialized Providers

Package npm Description
BettyBot @memberjunction/ai-betty-bot Wrapper for Betty Bot conversational AI
BlackForestLabs @memberjunction/ai-blackforestlabs Wrapper for Black Forest Labs FLUX Image Generation Models
Cerebras @memberjunction/ai-cerebras Wrapper for Cerebras AI inference engine
Cohere @memberjunction/ai-cohere Cohere AI Provider - Semantic reranking using Cohere's Rerank API
ElevenLabs @memberjunction/ai-elevenlabs Wrapper for ElevenLabs Audio Generation (TTS)
HeyGen @memberjunction/ai-heygen Wrapper for HeyGen Video Generation
LocalEmbeddings @memberjunction/ai-local-embeddings Local Embeddings Models via Xenova/Transformers

Vector Database Providers

Package npm Description
Vectors-Pinecone @memberjunction/ai-vectors-pinecone Pinecone Implementation for AI Vectors

Recommendation Providers

Package npm Description
Recommendations-Rex @memberjunction/ai-recommendations-rex Recommendations Provider for rasa.io Rex engine

Meta / Utility

Package npm Description
Bundle @memberjunction/ai-provider-bundle Loads all standard AI providers to prevent tree-shaking
AI / Vectors

Vector storage, search, and synchronization (5 packages).

Package npm Description
Core @memberjunction/ai-vectors Core vector operations and abstractions for entity vectorization
Database @memberjunction/ai-vectordb Vector database abstraction layer (index management, query operations)
Dupe @memberjunction/ai-vector-dupe Duplicate record detection using vector similarity
Memory @memberjunction/ai-vectors-memory In-memory vector utilities
Sync @memberjunction/ai-vector-sync Synchronization between MemberJunction entities and vector databases
AI / AgentManager

Meta-agent system for creating, managing, and orchestrating AI agents (2 packages).

Package npm Description
core @memberjunction/ai-agent-manager Core interfaces, types, and the AgentSpec class for agent metadata management
actions @memberjunction/ai-agent-manager-actions Agent management actions (create, update, list, deactivate, export, etc.)
AI / Recommendations

Provider-agnostic recommendation engine framework (1 package).

Package npm Description
Engine @memberjunction/ai-recommendations Core recommendation engine with provider pattern, run tracking, and entity integration
Angular

Angular UI framework -- the Bootstrap package, Explorer application components, and a comprehensive library of reusable generic components (61 packages).

Package npm Description
Bootstrap @memberjunction/ng-bootstrap Angular bootstrap and class registration manifest
Angular / Explorer

The MJExplorer application -- MemberJunction's primary Angular-based UI for browsing, editing, and managing data (19 packages).

Core / Shell

Package npm Description
explorer-app @memberjunction/ng-explorer-app Complete branded entry point for Explorer-style applications
explorer-core @memberjunction/ng-explorer-core Core Explorer framework: application shell, routing, resource containers, and navigation
explorer-modules @memberjunction/ng-explorer-modules Consolidated Explorer NgModule bundle that re-exports all Explorer feature modules
base-application @memberjunction/ng-base-application BaseApplication class system for app-centric navigation
auth-services @memberjunction/ng-auth-services Authentication services with Auth0, MSAL, Okta, Cognito, and WorkOS provider support
shared @memberjunction/ng-shared Shared Explorer utilities, base components, services, and events used across Explorer packages
workspace-initializer @memberjunction/ng-workspace-initializer Workspace initialization service and components for bootstrapping the Explorer environment

Forms & Entity Editing

Package npm Description
base-forms @memberjunction/ng-base-forms Base form components, field rendering, and validation framework
core-entity-forms @memberjunction/ng-core-entity-forms Auto-generated and custom entity forms with dynamic form loading and registration
entity-form-dialog @memberjunction/ng-entity-form-dialog Modal dialog for displaying and editing any entity record
Data Grids & Lists
Package npm Description
list-detail-grid @memberjunction/ng-list-detail-grid Master-detail grid for displaying dynamic and saved list details
simple-record-list @memberjunction/ng-simple-record-list Lightweight component for displaying, editing, creating, and deleting records in any entity

Dashboards

Package npm Description
dashboards @memberjunction/ng-dashboards Dashboard components including AI model management, Entity Admin ERD, and Actions configuration

Utility & Navigation

Package npm Description
link-directives @memberjunction/ng-link-directives Directives for turning elements into email, web, or record links
entity-permissions @memberjunction/ng-entity-permissions Components for displaying and editing entity-level permissions
explorer-settings @memberjunction/ng-explorer-settings Reusable components for the Explorer settings section
record-changes @memberjunction/ng-record-changes Change-tracking dialog with diff visualization for individual records
Angular / Generic

Reusable Angular components and services shared across MemberJunction applications (41 packages).

Core & Base Types

Package npm Description
base-types @memberjunction/ng-base-types Simple types that are used across many generic Angular UI components for coordination
shared @memberjunction/ng-shared-generic Utility services and reusable elements used in any Angular application
container-directives @memberjunction/ng-container-directives Fill Container for auto-resizing and plain container directives for element identification/binding
Testing @memberjunction/ng-testing Testing components and utilities for Angular applications

AI & Chat

Package npm Description
chat @memberjunction/ng-chat Reusable chat component for AI or peer-to-peer chat applications
conversations @memberjunction/ng-conversations Conversation, collection, and artifact management components
agents @memberjunction/ng-agents Reusable components for AI Agent management including permissions panel, dialog, and slideover
ai-test-harness @memberjunction/ng-ai-test-harness Reusable component for testing AI agents and prompts with beautiful UX

Entity & Data

Package npm Description
entity-viewer @memberjunction/ng-entity-viewer Components for viewing entity data in multiple formats (grid, cards) with filtering, selection, and shared data management
entity-communication @memberjunction/ng-entity-communications Components to allow a user to select templates, preview messages, and send them
entity-relationship-diagram @memberjunction/ng-entity-relationship-diagram Entity Relationship Diagram (ERD) component for visualizing entity relationships using D3.js force-directed graphs
data-context @memberjunction/ng-data-context Component and pop-up window to display and edit the contents of a data context
deep-diff @memberjunction/ng-deep-diff Component to display the differences between two objects, using the non-visual functionality from @memberjunction/global
record-selector @memberjunction/ng-record-selector Components to allow a user to select/deselect items from a possible set
find-record @memberjunction/ng-find-record Component to allow a user to find a single record in any entity
join-grid @memberjunction/ng-join-grid Grid component for displaying/editing the relationship between two entities (e.g., Users + Roles in a single grid)

Actions & Workflows

Package npm Description
actions @memberjunction/ng-actions Reusable components for testing and running actions with MJ UI components
action-gallery @memberjunction/ng-action-gallery Filterable gallery component for browsing and selecting actions
flow-editor @memberjunction/ng-flow-editor Generic visual flow editor component powered by Foblex Flow, with an agent-specific Flow Agent Editor
tasks @memberjunction/ng-tasks Components for task visualization and management with Gantt chart support

Query & Reporting

| Package | npm | Description | |---------|-----|-------------|| query-viewer | @memberjunction/ng-query-viewer | Components for viewing and executing stored queries with parameter input, interactive results grid, and entity linking | | filter-builder | @memberjunction/ng-filter-builder | Modern, intuitive filter builder for creating complex boolean filter expressions with portable JSON format |

Dashboard & Layout

Package npm Description
dashboard-viewer @memberjunction/ng-dashboard-viewer Components for metadata-driven dashboards with Golden Layout panels, supporting views, queries, artifacts, and custom content
tab-strip @memberjunction/ng-tabstrip Simple tab strip component used in the MJ Explorer app and reusable anywhere else
timeline @memberjunction/ng-timeline Responsive timeline component; works with MemberJunction entities or plain JavaScript objects with no external dependencies
trees @memberjunction/ng-trees Tree and tree-dropdown components for hierarchical entity selection
markdown @memberjunction/ng-markdown Lightweight markdown component with Prism.js highlighting, Mermaid diagrams, and extensible features
notifications @memberjunction/ng-notifications Simple library for displaying user notifications

Credentials & Permissions

Package npm Description
credentials @memberjunction/ng-credentials Components for credential management -- panels and dialogs for creating and editing credentials
resource-permissions @memberjunction/ng-resource-permissions Generic components for displaying/editing permissions for a resource

UI Utilities

Package npm Description
ui-components @memberjunction/ng-ui-components Reusable standalone UI components (buttons, dialogs, windows, dropdowns, inputs, and more)
generic-dialog @memberjunction/ng-generic-dialog Component for a generic dialog
code-editor @memberjunction/ng-code-editor Angular code editor component
file-storage @memberjunction/ng-file-storage Components for managing files and related operations
export-service @memberjunction/ng-export-service Export service and dialog for exporting data to Excel, CSV, and JSON
list-management @memberjunction/ng-list-management Components for managing entity list membership with responsive UI
react @memberjunction/ng-react Angular components for hosting React components in MemberJunction applications
user-avatar @memberjunction/ng-user-avatar User Avatar Service -- manages user avatar synchronization from auth providers and avatar operations
versions @memberjunction/ng-versions Version History Components -- label creation, detail viewing, and slide panel
APIKeys

Server-side API key authorization with hierarchical scopes and pattern-based access control (2 packages).

Package npm Description
Base @memberjunction/api-keys-base Metadata caching for API scopes, applications, and key bindings (client or server)
Engine @memberjunction/api-keys Server-side authorization engine with hierarchical scopes and application-level restrictions
Communication

Multi-channel messaging -- message composition, delivery, and entity-level integration (10 packages).

Package npm Description
base-types @memberjunction/communication-types Core interfaces, base provider abstract class, message/recipient types, and template integration types
engine @memberjunction/communication-engine Main communication engine -- provider management, template rendering, message orchestration, and batch processing
entity-comm-base @memberjunction/entity-communications-base Base types for client/server use with the Entity Communications Engine
entity-comm-client @memberjunction/entity-communications-client Client-side GraphQL integration for entity communications and template preview
entity-comm-server @memberjunction/entity-communications-server Server-side bridge between the MJ entities framework and the communication framework
notifications @memberjunction/notifications Unified notification system with multi-channel delivery via the communication engine
Communication / Providers

Email and SMS delivery provider implementations.

Package npm Description
gmail @memberjunction/communication-gmail Gmail/Google Suite provider for MemberJunction Communication framework
MSGraph @memberjunction/communication-ms-graph Microsoft Graph provider for the MJ Communication framework
sendgrid @memberjunction/communication-sendgrid SendGrid provider for the MJ Communication framework
twilio @memberjunction/communication-twilio Twilio provider for MemberJunction Communication framework
Credentials

Secure credential management (1 package).

Package npm Description
Engine @memberjunction/credentials Credential Engine - secure credential management with caching, encryption, and audit logging
React

React component infrastructure for the MemberJunction platform (2 packages).

Package npm Description
runtime @memberjunction/react-runtime Platform-agnostic component runtime with Babel compilation, registry, and error boundaries
test-harness @memberjunction/react-test-harness Playwright-based test harness for validating React components
Scheduling

Distributed scheduled-jobs system with cron-based scheduling and plugin-based execution (4 packages).

Package npm Description
base-types @memberjunction/scheduling-base-types Core type definitions and interfaces for the scheduled jobs system (zero heavy dependencies)
base-engine @memberjunction/scheduling-engine-base Metadata caching layer and adaptive polling interval calculation
engine @memberjunction/scheduling-engine Server-side execution engine with distributed locking and driver-based job execution
actions @memberjunction/scheduling-actions MJ Actions for programmatic job management (query, create, update, delete, execute, statistics)
Templates

Extensible templating engine with AI-powered content generation (2 packages).

Package npm Description
base-types @memberjunction/templates-base-types Core types, base classes, and metadata management for client/server use
engine @memberjunction/templates Template rendering engine with Nunjucks integration, AI prompts, and template embedding
TestingFramework

Metadata-driven testing framework supporting agent evals and multi-oracle evaluation (3 packages).

Package npm Description
EngineBase @memberjunction/testing-engine-base Metadata cache for test types, suites, and tests (UI-safe, no execution logic)
Engine @memberjunction/testing-engine Core test execution and evaluation engine supporting multiple test types
CLI @memberjunction/testing-cli Command-line interface for test execution and management
Standalone Packages

Packages at the top level of the packages/ directory, not part of a multi-package group.

Core Framework
Package npm Description
MJGlobal @memberjunction/global Global class factory and event system -- required by all other MJ components
MJCore @memberjunction/core Core metadata engine, entity framework, and utilities
MJCoreEntities @memberjunction/core-entities Entity subclasses for the MJ metadata layer (core schema)
MJCoreEntitiesServer @memberjunction/core-entities-server Server-only entity subclasses for the MJ metadata layer
Config @memberjunction/config Central configuration with default configs and merge utilities
Data Layer
Package npm Description
SQLServerDataProvider @memberjunction/sqlserver-dataprovider SQL Server data provider
GraphQLDataProvider @memberjunction/graphql-dataprovider GraphQL client data provider
MJDataContext @memberjunction/data-context Runtime data context loading and cross-tier interaction types
MJDataContextServer @memberjunction/data-context-server Server-side data context implementation with raw SQL support
MJStorage @memberjunction/storage Cloud storage provider interface for server-side API integration
Server
Package npm Description
MJServer @memberjunction/server GraphQL API access to the MemberJunction data store
ServerBootstrap @memberjunction/server-bootstrap Server initialization logic and class registration manifests
ServerBootstrapLite @memberjunction/server-bootstrap-lite Lightweight server bootstrap without ESM-incompatible dependencies
MJAPI mj_api MemberJunction API server application
Code Generation and Tooling
Package npm Description
CodeGenLib @memberjunction/codegen-lib Reusable code generation library for the MemberJunction platform
MJCodeGenAPI mj_codegen_api API engine for MemberJunction CodeGen
GeneratedEntities mj_generatedentities Auto-generated entity subclasses maintained by CodeGen
GeneratedActions mj_generatedactions Auto-generated action subclasses maintained by CodeGen
Client Applications
Package npm Description
MJExplorer mj_explorer MemberJunction Explorer UI (Angular)
MJCLI @memberjunction/cli MemberJunction command-line tools
AngularElements mj_angular_elements_demo Angular Elements demo application
Utilities
Package npm Description
ComponentRegistry @memberjunction/component-registry-server Component registry server API implementation
ComponentRegistryClientSDK @memberjunction/component-registry-client-sdk Component registry client SDK
ContentAutotagging @memberjunction/content-autotagging Content autotagging application
DBAutoDoc @memberjunction/db-auto-doc AI-powered database documentation generator for SQL Server, MySQL, and PostgreSQL
DocUtils @memberjunction/doc-utils Dynamic retrieval and caching of MJ object model documentation
Encryption @memberjunction/encryption Field-level AES-256-GCM/CBC encryption with pluggable key sources
ExternalChangeDetection @memberjunction/external-change-detection Detection of entity changes made by external systems
InteractiveComponents @memberjunction/interactive-component-types Type specifications for MJ interactive UI components
MetadataSync @memberjunction/metadata-sync Metadata synchronization CLI tool
MJExportEngine @memberjunction/export-engine Export engine for Excel, CSV, and JSON with sampling and formatting
MJQueue @memberjunction/queue Server-side queue management
QueryGen @memberjunction/query-gen AI-powered SQL query template generation with automatic testing and refinement
SkipTypes @memberjunction/skip-types Shared types for the Skip AI Assistant used across MJAPI, Skip API, and Explorer
VersionHistory @memberjunction/version-history Label-based versioning, dependency-graph snapshots, cross-entity diffs, and point-in-time restore

Code Stats

Curious how big the codebase is? Lines-of-code snapshots by language — with trend charts going back to the repo's first commit — live in stats/. To record a fresh snapshot, run node stats/repo-stats.mjs (requires cloc).


Documentation · Issues · Discussions · Support

Built with TypeScript · Angular 21 · SQL Server · Open source under ISC License