# Example Manifest: MJAPI (Server-Side)

This is an example of the manifest generated by `mj codegen manifest` when run against the **MJAPI** application.

- **Dependencies walked:** 985
- **Packages with @RegisterClass:** 54
- **Total classes discovered:** 705

The manifest uses **named imports** for every `@RegisterClass` decorated class and places them all in an exported `CLASS_REGISTRATIONS` array, creating a static code path that prevents tree-shaking from removing them.

Notice the server-specific packages: AI providers (Anthropic, Azure, Bedrock, Gemini, Groq, etc.), actions (Apollo, CRM, accounting, social), communication providers (MS Graph, SendGrid), encryption, scheduling, storage, and more.

> **Note:** The full manifest is ~1,700 lines. This example is truncated for readability — only a few representative packages are shown. Cross-package name collisions are handled with aliased imports (e.g., `CreateUserAction as CreateUserAction_actions_bizapps_lms`).

```typescript
/**
 * AUTO-GENERATED FILE - DO NOT EDIT
 * Generated by mj codegen manifest
 * App: mj_api
 * Dependency tree: 985 packages walked, 54 contain @RegisterClass
 *
 * This file imports every @RegisterClass decorated class by name and places
 * them in an exported array, creating a static code path that prevents
 * tree-shaking from removing them.
 */

/* eslint-disable @typescript-eslint/no-unused-vars */

// @memberjunction/actions (3 classes)
import {
    EntityActionInvocationMultipleRecords,
    EntityActionInvocationSingleRecord,
    EntityActionInvocationValidate,
} from '@memberjunction/actions';

// @memberjunction/actions-apollo (2 classes)
import {
    ApolloEnrichmentAccountsAction,
    ApolloEnrichmentContactsAction,
} from '@memberjunction/actions-apollo';

// @memberjunction/actions-base (2 classes)
import {
    MJActionEntityExtended,
    MJEntityActionEntityExtended,
} from '@memberjunction/actions-base';

// @memberjunction/actions-bizapps-lms (14 classes)
// Note: CreateUserAction is aliased to avoid collision with @memberjunction/core-actions
import {
    BaseLMSAction,
    CreateUserAction as CreateUserAction_actions_bizapps_lms,
    EnrollUserAction,
    GetCertificatesAction,
    GetCourseAnalyticsAction,
    GetLearnWorldsCourseDetailsAction,
    GetLearnWorldsCoursesAction,
    GetLearnWorldsUserDetailsAction,
    GetLearnWorldsUserProgressAction,
    GetLearnWorldsUsersAction,
    GetQuizResultsAction,
    GetUserEnrollmentsAction,
    LearnWorldsBaseAction,
    UpdateUserProgressAction,
} from '@memberjunction/actions-bizapps-lms';

// @memberjunction/ai-anthropic (1 classes)
import {
    AnthropicLLM,
} from '@memberjunction/ai-anthropic';

// @memberjunction/ai-openai (4 classes)
import {
    OpenAIAudioGenerator,
    OpenAIEmbedding,
    OpenAIImageGenerator,
    OpenAILLM,
} from '@memberjunction/ai-openai';

// @memberjunction/core-actions (99 classes)
// Note: CreateUserAction is aliased to avoid collision with @memberjunction/actions-bizapps-lms
import {
    APIRateLimiterAction,
    AddRecordsToListAction,
    // ... 95 more classes ...
    CreateUserAction as CreateUserAction_core_actions,
    // ... remaining classes ...
    XMLParserAction,
} from '@memberjunction/core-actions';

// @memberjunction/core-entities (275 classes)
import {
    AIActionEntity,
    AIAgentActionEntity,
    // ... 271 more classes ...
    WorkspaceItemEntity,
} from '@memberjunction/core-entities';

// @memberjunction/server (7 classes)
import {
    Auth0Provider,
    CognitoProvider,
    EntityPermissionsEntity_Server,
    GoogleProvider,
    MSALProvider,
    OktaProvider,
    SkipProxyAgent,
} from '@memberjunction/server';

// @memberjunction/storage (7 classes)
import {
    AWSFileStorage,
    AzureFileStorage,
    BoxFileStorage,
    DropboxFileStorage,
    GoogleDriveFileStorage,
    GoogleFileStorage,
    SharePointFileStorage,
} from '@memberjunction/storage';

// ... 40+ more package imports ...

// mj_generatedentities (59 classes)
import {
    AccreditingBodyEntity,
    AdvocacyActionEntity,
    // ... 55 more classes ...
    SegmentEntity,
} from 'mj_generatedentities';

/**
 * Runtime references to every @RegisterClass decorated class.
 * This array creates a static code path the bundler cannot tree-shake.
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const CLASS_REGISTRATIONS: any[] = [
    EntityActionInvocationMultipleRecords,
    EntityActionInvocationSingleRecord,
    EntityActionInvocationValidate,
    ApolloEnrichmentAccountsAction,
    ApolloEnrichmentContactsAction,
    MJActionEntityExtended,
    MJEntityActionEntityExtended,
    // ... all 705 classes listed here ...
    BaseLMSAction,
    CreateUserAction_actions_bizapps_lms,  // aliased import used here
    // ...
    CreateUserAction_core_actions,          // aliased import used here
    // ...
    SegmentEntity,
];

/** Marker constant indicating the manifest has been loaded. */
export const CLASS_REGISTRATIONS_MANIFEST_LOADED = true;

/** Total @RegisterClass decorated classes discovered in dependency tree */
export const CLASS_REGISTRATIONS_COUNT = 705;

/** Packages imported by this manifest */
export const CLASS_REGISTRATIONS_PACKAGES = [
    '@memberjunction/actions',
    '@memberjunction/actions-apollo',
    '@memberjunction/actions-base',
    '@memberjunction/actions-bizapps-accounting',
    '@memberjunction/actions-bizapps-crm',
    '@memberjunction/actions-bizapps-formbuilders',
    '@memberjunction/actions-bizapps-lms',
    '@memberjunction/actions-bizapps-social',
    '@memberjunction/ai-agent-manager',
    '@memberjunction/ai-agents',
    '@memberjunction/ai-anthropic',
    '@memberjunction/ai-azure',
    '@memberjunction/ai-bedrock',
    '@memberjunction/ai-betty-bot',
    '@memberjunction/ai-blackforestlabs',
    '@memberjunction/ai-cerebras',
    '@memberjunction/ai-cohere',
    '@memberjunction/ai-core-plus',
    '@memberjunction/ai-elevenlabs',
    '@memberjunction/ai-engine-base',
    '@memberjunction/ai-gemini',
    '@memberjunction/ai-groq',
    '@memberjunction/ai-heygen',
    '@memberjunction/ai-lmstudio',
    '@memberjunction/ai-local-embeddings',
    '@memberjunction/ai-mistral',
    '@memberjunction/ai-ollama',
    '@memberjunction/ai-openai',
    '@memberjunction/ai-openrouter',
    '@memberjunction/ai-recommendations-rex',
    '@memberjunction/ai-reranker',
    '@memberjunction/ai-vectors-pinecone',
    '@memberjunction/ai-vertex',
    '@memberjunction/ai-xai',
    '@memberjunction/communication-ms-graph',
    '@memberjunction/communication-sendgrid',
    '@memberjunction/communication-types',
    '@memberjunction/content-autotagging',
    '@memberjunction/core-actions',
    '@memberjunction/core-entities',
    '@memberjunction/core-entities-server',
    '@memberjunction/data-context-server',
    '@memberjunction/doc-utils',
    '@memberjunction/encryption',
    '@memberjunction/entity-communications-base',
    '@memberjunction/queue',
    '@memberjunction/scheduling-actions',
    '@memberjunction/scheduling-engine',
    '@memberjunction/scheduling-engine-base',
    '@memberjunction/server',
    '@memberjunction/storage',
    '@memberjunction/templates',
    '@memberjunction/testing-engine',
    'mj_generatedentities',
] as const;
```
