Skip to content

@memberjunction/ng-agents

Reusable Angular components for AI Agent management in MemberJunction applications, including permissions management and agent creation with panel, dialog, and slide-over presentation modes.

This package provides a complete set of UI components for managing AI Agents within MemberJunction. Each feature area (permissions and agent creation) offers three presentation variants — an embeddable panel, a centered modal dialog, and a right-side slide-over/slide-in — so you can integrate agent management into any layout pattern.

graph TD
    A[AgentsModule] --> B[Permissions Components]
    A --> C[Create Agent Components]
    A --> D[Services]

    B --> B1["AgentPermissionsPanelComponent
    (embeddable)"]
    B --> B2["AgentPermissionsDialogComponent
    (modal)"]
    B --> B3["AgentPermissionsSlideoverComponent
    (slide-over)"]

    C --> C1["CreateAgentPanelComponent
    (embeddable)"]
    C --> C2["CreateAgentDialogComponent
    (modal)"]
    C --> C3["CreateAgentSlideInComponent
    (slide-in)"]

    D --> D1[AgentPermissionsService]
    D --> D2[CreateAgentService]

    style A fill:#2d6a9f,stroke:#1a4971,color:#fff
    style B fill:#7c5295,stroke:#563a6b,color:#fff
    style C fill:#2d8659,stroke:#1a5c3a,color:#fff
    style D fill:#b8762f,stroke:#8a5722,color:#fff
Terminal window
npm install @memberjunction/ng-agents
import { AgentsModule } from '@memberjunction/ng-agents';
@NgModule({
imports: [AgentsModule]
})
export class YourModule { }
<mj-agent-permissions-panel
[agentId]="selectedAgentId"
(permissionsChanged)="onPermissionsChanged($event)">
</mj-agent-permissions-panel>
<mj-agent-permissions-dialog
[visible]="showPermissionsDialog"
[agentId]="selectedAgentId"
(dialogClosed)="onPermissionsDialogClosed()">
</mj-agent-permissions-dialog>
<mj-agent-permissions-slideover
[visible]="showPermissionsSlide"
[agentId]="selectedAgentId"
(closed)="onSlideoverClosed()">
</mj-agent-permissions-slideover>

Skill permissions mirror the agent permissions components exactly, backed by MJ: AI Skill Permissions (the skill sibling of MJ: AI Agent Permissions) via SkillPermissionsService. Same grantee (User/Role) + View/Run/Edit/Delete model, same open-by-default semantics. The owner is the skill’s CreatedByUserID.

<!-- Embeddable panel -->
<mj-skill-permissions-panel
[Skill]="selectedSkill"
(PermissionsChanged)="onSkillPermsChanged()">
</mj-skill-permissions-panel>
<!-- Modal dialog -->
<mj-skill-permissions-dialog
[Skill]="selectedSkill"
(Closed)="onSkillPermsDialogClosed()">
</mj-skill-permissions-dialog>

See the Agent Skills & Plan Mode Guide and Unified Permissions Guide for the full permission model.

<mj-create-agent-panel
(agentCreated)="onAgentCreated($event)"
(cancelled)="onCreateCancelled()">
</mj-create-agent-panel>
<mj-create-agent-dialog
[visible]="showCreateDialog"
(agentCreated)="onAgentCreated($event)"
(dialogClosed)="onCreateDialogClosed()">
</mj-create-agent-dialog>
<mj-create-agent-slidein
[visible]="showCreateSlideIn"
(agentCreated)="onAgentCreated($event)"
(closed)="onSlideInClosed()">
</mj-create-agent-slidein>
import { CreateAgentService } from '@memberjunction/ng-agents';
constructor(private createAgentService: CreateAgentService) {}
openCreateAgent() {
this.createAgentService.openDialog().subscribe(agent => {
if (agent) {
console.log('Agent created:', agent.Name);
}
});
}
PackageDescription
@memberjunction/coreCore framework
@memberjunction/core-entitiesEntity type definitions
@memberjunction/globalGlobal utilities
@memberjunction/ai-core-plusAI core plus functionality
@memberjunction/ai-engine-baseAI engine base classes
@memberjunction/ng-sharedShared Angular utilities
@angular/cdkAngular CDK for overlays
  • @angular/common ^21.x
  • @angular/core ^21.x
  • @angular/platform-browser ^21.x
Terminal window
cd packages/Angular/Generic/agents
npm run build

ISC