@memberjunction/ng-bootstrap 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# @memberjunction/ng-bootstrap
|
|
2
2
|
|
|
3
|
-
MemberJunction
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
In MemberJunction 3.0, Angular applications (MJExplorer) become **minimal configuration files** (~15-20 lines) that import all functionality from NPM packages. This package provides the `MJBootstrapModule` and `MJBootstrapComponent` that handle all authentication, GraphQL setup, and application initialization.
|
|
3
|
+
MemberJunction Angular Bootstrap -- encapsulates all Angular authentication and initialization logic into a single reusable module. Reduces an entire MJExplorer application module to approximately 15 lines of code.
|
|
8
4
|
|
|
9
5
|
## Installation
|
|
10
6
|
|
|
@@ -12,22 +8,51 @@ In MemberJunction 3.0, Angular applications (MJExplorer) become **minimal config
|
|
|
12
8
|
npm install @memberjunction/ng-bootstrap
|
|
13
9
|
```
|
|
14
10
|
|
|
15
|
-
##
|
|
11
|
+
## Overview
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
In MemberJunction 3.0+, Angular applications become minimal configuration files that delegate authentication, GraphQL setup, metadata loading, and user validation to this bootstrap package. The `MJBootstrapModule` configures all necessary providers via `forRoot()`, while `MJBootstrapComponent` serves as the root component handling the full application lifecycle from login through to the authenticated shell.
|
|
14
|
+
|
|
15
|
+
```mermaid
|
|
16
|
+
flowchart TD
|
|
17
|
+
subgraph Bootstrap["MJBootstrapModule.forRoot(env)"]
|
|
18
|
+
A["MJEnvironmentConfig"]
|
|
19
|
+
A --> B["Auth Provider (MSAL / Auth0)"]
|
|
20
|
+
A --> C["GraphQL Client + WebSocket"]
|
|
21
|
+
A --> D["MJ_ENVIRONMENT Token"]
|
|
22
|
+
end
|
|
23
|
+
subgraph Lifecycle["MJBootstrapComponent"]
|
|
24
|
+
E["Login Screen"] --> F["Authentication"]
|
|
25
|
+
F --> G["Token Management"]
|
|
26
|
+
G --> H["Metadata Loading"]
|
|
27
|
+
H --> I["User Validation"]
|
|
28
|
+
I --> J["Startup Validation"]
|
|
29
|
+
J --> K["Authenticated Shell"]
|
|
30
|
+
end
|
|
31
|
+
subgraph States["Application States"]
|
|
32
|
+
L["Not Authenticated"]
|
|
33
|
+
M["Authenticated"]
|
|
34
|
+
N["Error State"]
|
|
35
|
+
O["Validation Banner"]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Bootstrap --> Lifecycle
|
|
39
|
+
Lifecycle --> States
|
|
40
|
+
|
|
41
|
+
style Bootstrap fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
42
|
+
style Lifecycle fill:#7c5295,stroke:#563a6b,color:#fff
|
|
43
|
+
style States fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
44
|
+
```
|
|
18
45
|
|
|
19
|
-
|
|
46
|
+
## Usage
|
|
47
|
+
|
|
48
|
+
### Minimal Application Module
|
|
20
49
|
|
|
21
50
|
```typescript
|
|
22
51
|
import { NgModule } from '@angular/core';
|
|
23
52
|
import { BrowserModule } from '@angular/platform-browser';
|
|
24
53
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
25
|
-
|
|
26
54
|
import { MJBootstrapModule, MJBootstrapComponent } from '@memberjunction/ng-bootstrap';
|
|
27
55
|
import { MJExplorerModule } from '@memberjunction/ng-explorer-core';
|
|
28
|
-
import { CoreGeneratedFormsModule } from '@memberjunction/ng-core-entity-forms';
|
|
29
|
-
import { GeneratedFormsModule } from '@mycompany/generated-forms';
|
|
30
|
-
|
|
31
56
|
import { environment } from '../environments/environment';
|
|
32
57
|
|
|
33
58
|
@NgModule({
|
|
@@ -35,21 +60,15 @@ import { environment } from '../environments/environment';
|
|
|
35
60
|
BrowserModule,
|
|
36
61
|
BrowserAnimationsModule,
|
|
37
62
|
MJBootstrapModule.forRoot(environment),
|
|
38
|
-
MJExplorerModule
|
|
39
|
-
CoreGeneratedFormsModule,
|
|
40
|
-
GeneratedFormsModule
|
|
63
|
+
MJExplorerModule
|
|
41
64
|
],
|
|
42
|
-
bootstrap: [MJBootstrapComponent]
|
|
65
|
+
bootstrap: [MJBootstrapComponent]
|
|
43
66
|
})
|
|
44
67
|
export class AppModule {}
|
|
45
68
|
```
|
|
46
69
|
|
|
47
|
-
**That's it!** Your entire MJExplorer application module in ~15 lines.
|
|
48
|
-
|
|
49
70
|
### Environment Configuration
|
|
50
71
|
|
|
51
|
-
Create your `packages/explorer/src/environments/environment.ts`:
|
|
52
|
-
|
|
53
72
|
```typescript
|
|
54
73
|
import { MJEnvironmentConfig } from '@memberjunction/ng-bootstrap';
|
|
55
74
|
|
|
@@ -70,62 +89,31 @@ export const environment: MJEnvironmentConfig = {
|
|
|
70
89
|
};
|
|
71
90
|
```
|
|
72
91
|
|
|
73
|
-
## What It
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
## Component Structure
|
|
87
|
-
|
|
88
|
-
The bootstrap component provides a clean template structure:
|
|
89
|
-
|
|
90
|
-
```html
|
|
91
|
-
<mj-bootstrap>
|
|
92
|
-
<!-- Authenticated: Shows the main shell -->
|
|
93
|
-
@if (authenticated) {
|
|
94
|
-
<mj-shell></mj-shell>
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
<!-- Not authenticated: Shows login screen -->
|
|
98
|
-
@if (!authenticated) {
|
|
99
|
-
<mj-login></mj-login>
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
<!-- Error state: Shows error message -->
|
|
103
|
-
@if (hasError) {
|
|
104
|
-
<mj-error></mj-error>
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
<!-- Validation issues: Shows validation banner -->
|
|
108
|
-
@if (showValidation) {
|
|
109
|
-
<mj-validation-banner></mj-validation-banner>
|
|
110
|
-
}
|
|
111
|
-
</mj-bootstrap>
|
|
112
|
-
```
|
|
92
|
+
## What It Handles
|
|
93
|
+
|
|
94
|
+
| Concern | Description |
|
|
95
|
+
|---------|-------------|
|
|
96
|
+
| Authentication | MSAL or Auth0 login/logout with token management |
|
|
97
|
+
| GraphQL setup | Client configuration with WebSocket subscriptions |
|
|
98
|
+
| Token refresh | Automatic token refresh before expiration |
|
|
99
|
+
| Metadata loading | MemberJunction entity metadata and definitions |
|
|
100
|
+
| User validation | Access and permission checks |
|
|
101
|
+
| Startup validation | System health checks on initialization |
|
|
102
|
+
| Error handling | Appropriate error messages for auth failures |
|
|
103
|
+
| Navigation | Initial routing after successful login |
|
|
113
104
|
|
|
114
105
|
## API Reference
|
|
115
106
|
|
|
116
|
-
###
|
|
107
|
+
### MJBootstrapModule.forRoot(environment)
|
|
117
108
|
|
|
118
109
|
Configures the bootstrap module with environment settings.
|
|
119
110
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
- `environment` - MJEnvironmentConfig object with application settings
|
|
111
|
+
**Parameters:**
|
|
112
|
+
- `environment: MJEnvironmentConfig` -- Application configuration
|
|
123
113
|
|
|
124
|
-
|
|
114
|
+
**Returns:** `ModuleWithProviders<MJBootstrapModule>`
|
|
125
115
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
### `MJEnvironmentConfig` Interface
|
|
116
|
+
### MJEnvironmentConfig
|
|
129
117
|
|
|
130
118
|
```typescript
|
|
131
119
|
interface MJEnvironmentConfig {
|
|
@@ -135,116 +123,46 @@ interface MJEnvironmentConfig {
|
|
|
135
123
|
AUTH_TYPE: 'msal' | 'auth0';
|
|
136
124
|
MJ_CORE_SCHEMA_NAME: string;
|
|
137
125
|
|
|
138
|
-
// MSAL-specific
|
|
126
|
+
// MSAL-specific
|
|
139
127
|
CLIENT_ID?: string;
|
|
140
128
|
TENANT_ID?: string;
|
|
141
129
|
|
|
142
|
-
// Auth0-specific
|
|
130
|
+
// Auth0-specific
|
|
143
131
|
AUTH0_DOMAIN?: string;
|
|
144
132
|
AUTH0_CLIENTID?: string;
|
|
145
|
-
|
|
146
|
-
// Additional custom properties
|
|
147
|
-
[key: string]: any;
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Migration from 2.x
|
|
152
|
-
|
|
153
|
-
In MemberJunction 2.x, your MJExplorer had:
|
|
154
|
-
- `app.component.ts` with ~245 lines of authentication logic
|
|
155
|
-
- `app.module.ts` with ~107 lines of module imports and configuration
|
|
156
|
-
|
|
157
|
-
**Before (2.x):**
|
|
158
|
-
```typescript
|
|
159
|
-
// app.component.ts - 245 lines of auth/initialization code
|
|
160
|
-
@Component({...})
|
|
161
|
-
export class AppComponent implements OnInit {
|
|
162
|
-
// Complex authentication logic
|
|
163
|
-
// GraphQL setup
|
|
164
|
-
// Error handling
|
|
165
|
-
// Navigation logic
|
|
166
|
-
// ...
|
|
167
133
|
}
|
|
168
|
-
|
|
169
|
-
// app.module.ts - 107 lines of imports and configuration
|
|
170
|
-
@NgModule({
|
|
171
|
-
declarations: [AppComponent, ...],
|
|
172
|
-
imports: [BrowserModule, ...many modules...],
|
|
173
|
-
providers: [...many providers...],
|
|
174
|
-
bootstrap: [AppComponent]
|
|
175
|
-
})
|
|
176
|
-
export class AppModule {}
|
|
177
134
|
```
|
|
178
135
|
|
|
179
|
-
|
|
180
|
-
```typescript
|
|
181
|
-
// app.module.ts - ~15 lines total
|
|
182
|
-
@NgModule({
|
|
183
|
-
imports: [
|
|
184
|
-
BrowserModule,
|
|
185
|
-
BrowserAnimationsModule,
|
|
186
|
-
MJBootstrapModule.forRoot(environment),
|
|
187
|
-
MJExplorerModule,
|
|
188
|
-
GeneratedFormsModule
|
|
189
|
-
],
|
|
190
|
-
bootstrap: [MJBootstrapComponent]
|
|
191
|
-
})
|
|
192
|
-
export class AppModule {}
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
All the complexity is now encapsulated in this package and updated via NPM.
|
|
136
|
+
### Injection Tokens
|
|
196
137
|
|
|
197
|
-
|
|
138
|
+
- `MJ_ENVIRONMENT` -- Provides the `MJEnvironmentConfig` throughout the application
|
|
198
139
|
|
|
199
|
-
###
|
|
140
|
+
### MJStartupValidationService
|
|
200
141
|
|
|
201
|
-
|
|
142
|
+
An optional interface for implementing custom startup validation:
|
|
202
143
|
|
|
203
144
|
```typescript
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
@Component({
|
|
207
|
-
selector: 'app-custom-bootstrap',
|
|
208
|
-
template: `
|
|
209
|
-
<mj-bootstrap></mj-bootstrap>
|
|
210
|
-
@if (hasCustomError) {
|
|
211
|
-
<app-custom-error></app-custom-error>
|
|
212
|
-
}
|
|
213
|
-
`
|
|
214
|
-
})
|
|
215
|
-
export class CustomBootstrapComponent extends MJBootstrapComponent {
|
|
216
|
-
// Add custom logic
|
|
145
|
+
interface MJStartupValidationService {
|
|
146
|
+
Validate(): Promise<ValidationResult>;
|
|
217
147
|
}
|
|
218
148
|
```
|
|
219
149
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
Configure your environment to support both MSAL and Auth0:
|
|
223
|
-
|
|
224
|
-
```typescript
|
|
225
|
-
export const environment: MJEnvironmentConfig = {
|
|
226
|
-
production: false,
|
|
227
|
-
AUTH_TYPE: 'msal', // Default
|
|
228
|
-
|
|
229
|
-
// MSAL config
|
|
230
|
-
CLIENT_ID: 'msal-client-id',
|
|
231
|
-
TENANT_ID: 'tenant-id',
|
|
232
|
-
|
|
233
|
-
// Auth0 config (fallback)
|
|
234
|
-
AUTH0_DOMAIN: 'yourapp.us.auth0.com',
|
|
235
|
-
AUTH0_CLIENTID: 'auth0-client-id'
|
|
236
|
-
};
|
|
237
|
-
```
|
|
150
|
+
## Migration from MJ 2.x
|
|
238
151
|
|
|
239
|
-
|
|
152
|
+
MemberJunction 2.x required ~350 lines of custom code in `app.component.ts` and `app.module.ts` for authentication and initialization. With 3.0+, this entire surface area is encapsulated in the bootstrap package:
|
|
240
153
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
154
|
+
| Before (2.x) | After (3.0+) |
|
|
155
|
+
|--------------|--------------|
|
|
156
|
+
| ~245 lines in `app.component.ts` | Removed entirely |
|
|
157
|
+
| ~107 lines in `app.module.ts` | ~15 lines |
|
|
158
|
+
| Custom auth logic | `MJBootstrapModule.forRoot(env)` |
|
|
159
|
+
| Manual GraphQL setup | Automatic |
|
|
160
|
+
| Custom error handling | Built-in |
|
|
247
161
|
|
|
248
|
-
##
|
|
162
|
+
## Dependencies
|
|
249
163
|
|
|
250
|
-
|
|
164
|
+
- [@memberjunction/core](../../MJCore/README.md) -- Core framework
|
|
165
|
+
- [@memberjunction/graphql-dataprovider](../../GraphQLDataProvider/README.md) -- GraphQL client
|
|
166
|
+
- [@memberjunction/ng-auth-services](../auth-services/README.md) -- Authentication services
|
|
167
|
+
- [@memberjunction/ng-explorer-core](../../Angular/Explorer/explorer-core/README.md) -- Explorer shell
|
|
168
|
+
- [@memberjunction/ng-shared](../shared/README.md) -- Shared utilities
|
|
@@ -18,7 +18,7 @@ import { CodeArtifactViewerComponent, ComponentArtifactViewerComponent, HtmlArti
|
|
|
18
18
|
import { FlowAgentFormSectionComponent } from '@memberjunction/ng-core-entity-forms';
|
|
19
19
|
import { ArtifactConfigPanelComponent, ArtifactPartComponent, QueryConfigPanelComponent, QueryPartComponent, ViewConfigPanelComponent, ViewPartComponent, WebURLConfigPanelComponent, WebURLPartComponent } from '@memberjunction/ng-dashboard-viewer';
|
|
20
20
|
import { APIKeysResourceComponent, ActionExplorerComponent, ActionsOverviewComponent, AgentConfigurationComponent, CodeManagementComponent, CommunicationDashboardComponent, CommunicationLogsResourceComponent, CommunicationMonitorResourceComponent, CommunicationProvidersResourceComponent, CommunicationRunsResourceComponent, CommunicationTemplatesResourceComponent, ComponentStudioDashboardComponent, CredentialsAuditResourceComponent, CredentialsCategoriesResourceComponent, CredentialsDashboardComponent, CredentialsListResourceComponent, CredentialsOverviewResourceComponent, CredentialsTypesResourceComponent, DashboardBrowserResourceComponent, DataExplorerDashboardComponent, DataExplorerResourceComponent, EntityAdminDashboardComponent, EntityIntegrationComponent, ExecutionMonitoringComponent, HomeApplication, HomeDashboardComponent, ListsBrowseResource, ListsCategoriesResource, ListsMyListsResource, ListsOperationsResource, MCPDashboardComponent, ModelManagementComponent, PromptManagementComponent, QueryBrowserResourceComponent, ScheduledActionsComponent, SchedulingActivityResourceComponent, SchedulingDashboardComponent, SchedulingJobsResourceComponent, SchedulingOverviewResourceComponent, SecurityPermissionsComponent, SystemConfigurationComponent, SystemDiagnosticsComponent, TestingAnalyticsResourceComponent, TestingDashboardComponent, TestingDashboardTabResourceComponent, TestingExplorerResourceComponent, TestingReviewResourceComponent, TestingRunsResourceComponent, VersionHistoryDiffResourceComponent, VersionHistoryGraphResourceComponent, VersionHistoryLabelsResourceComponent, VersionHistoryRestoreResourceComponent } from '@memberjunction/ng-dashboards';
|
|
21
|
-
import { ArtifactResource,
|
|
21
|
+
import { ArtifactResource, ChatConversationsResource, DashboardResource, EntityRecordResource, ListDetailResource, QueryResource, SearchResultsResource, UserViewResource } from '@memberjunction/ng-explorer-core';
|
|
22
22
|
import { ApplicationManagementComponent, EntityPermissionsComponent, RoleManagementComponent, SettingsComponent, SqlLoggingComponent, UserManagementComponent } from '@memberjunction/ng-explorer-settings';
|
|
23
23
|
import { FileBrowserResource } from '@memberjunction/ng-file-storage';
|
|
24
24
|
|
|
@@ -481,7 +481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
481
481
|
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
482
482
|
* Generated by mj codegen manifest
|
|
483
483
|
* App: @memberjunction/ng-bootstrap
|
|
484
|
-
* Dependency tree:
|
|
484
|
+
* Dependency tree: 490 packages walked, 14 contain @RegisterClass
|
|
485
485
|
*
|
|
486
486
|
* This file imports every @RegisterClass decorated class by name and places
|
|
487
487
|
* them in an exported array, creating a static code path that prevents
|
|
@@ -863,7 +863,6 @@ const CLASS_REGISTRATIONS = [
|
|
|
863
863
|
VersionHistoryLabelsResourceComponent,
|
|
864
864
|
VersionHistoryRestoreResourceComponent,
|
|
865
865
|
ArtifactResource,
|
|
866
|
-
BaseUserMenu,
|
|
867
866
|
ChatConversationsResource,
|
|
868
867
|
DashboardResource,
|
|
869
868
|
EntityRecordResource,
|
|
@@ -882,7 +881,7 @@ const CLASS_REGISTRATIONS = [
|
|
|
882
881
|
/** Marker constant indicating the manifest has been loaded. */
|
|
883
882
|
const CLASS_REGISTRATIONS_MANIFEST_LOADED = true;
|
|
884
883
|
/** Total @RegisterClass decorated classes discovered in dependency tree */
|
|
885
|
-
const CLASS_REGISTRATIONS_COUNT =
|
|
884
|
+
const CLASS_REGISTRATIONS_COUNT = 382;
|
|
886
885
|
/** Packages imported by this manifest */
|
|
887
886
|
const CLASS_REGISTRATIONS_PACKAGES = [
|
|
888
887
|
'@memberjunction/actions-base',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberjunction-ng-bootstrap.mjs","sources":["../../src/lib/bootstrap.types.ts","../../src/lib/bootstrap.component.ts","../../src/lib/services/initialization.service.ts","../../src/lib/components/auth-shell.component.ts","../../src/lib/bootstrap.module.ts","../../src/generated/mj-class-registrations.ts","../../src/public-api.ts","../../src/memberjunction-ng-bootstrap.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Injection token for MJ Environment Configuration\n */\nexport const MJ_ENVIRONMENT = new InjectionToken<MJEnvironmentConfig>('MJ_ENVIRONMENT');\n\n/**\n * Injection token for optional startup validation service\n */\nexport const MJ_STARTUP_VALIDATION = new InjectionToken<MJStartupValidationService | null>('MJ_STARTUP_VALIDATION', {\n providedIn: 'root',\n factory: () => null // Default to null if not provided\n});\n\n/**\n * Optional interface for startup validation services\n * Applications can provide their own implementation to handle startup validation\n */\nexport interface MJStartupValidationService {\n /**\n * Runs validation checks during application startup\n */\n validateSystemSetup(): void;\n\n /**\n * Adds a validation issue for missing user roles\n */\n addNoRolesValidationIssue(): void;\n}\n\n/**\n * Environment configuration interface for MemberJunction Angular applications\n */\nexport interface MJEnvironmentConfig {\n /**\n * Whether the app is running in production mode\n */\n production: boolean;\n\n /**\n * GraphQL HTTP endpoint URL\n * @example 'http://localhost:4000/graphql'\n */\n GRAPHQL_URI: string;\n\n /**\n * GraphQL WebSocket endpoint URL for subscriptions\n * @example 'ws://localhost:4000/graphql'\n */\n GRAPHQL_WS_URI: string;\n\n /**\n * Authentication provider type\n */\n AUTH_TYPE: 'msal' | 'auth0';\n\n /**\n * MemberJunction core schema name in the database\n * @default '__mj'\n */\n MJ_CORE_SCHEMA_NAME: string;\n\n /**\n * Microsoft Azure AD/Entra Client ID (for MSAL auth)\n */\n CLIENT_ID?: string;\n\n /**\n * Microsoft Azure AD/Entra Tenant ID (for MSAL auth)\n */\n TENANT_ID?: string;\n\n /**\n * Auth0 domain (for Auth0 auth)\n * @example 'myapp.us.auth0.com'\n */\n AUTH0_DOMAIN?: string;\n\n /**\n * Auth0 client ID (for Auth0 auth)\n */\n AUTH0_CLIENTID?: string;\n\n /**\n * Additional custom environment properties\n */\n [key: string]: any;\n}\n","/**\n * MemberJunction 3.0 Bootstrap Component\n *\n * Minimal placeholder component for future fully encapsulated bootstrap.\n * Currently applications should use MJInitializationService directly in their app.component.\n */\n\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { SetProductionStatus } from '@memberjunction/core';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from './bootstrap.types';\n\n@Component({\n standalone: false,\n selector: 'mj-bootstrap',\n template: `\n <div class=\"mj-bootstrap-container\">\n <ng-content></ng-content>\n </div>\n `,\n styles: [`\n .mj-bootstrap-container {\n display: block;\n width: 100%;\n height: 100%;\n }\n `]\n})\nexport class MJBootstrapComponent implements OnInit {\n constructor(\n @Inject(MJ_ENVIRONMENT) private environment: MJEnvironmentConfig\n ) {}\n\n ngOnInit() {\n console.log('🚀 MemberJunction 3.0 Bootstrap');\n SetProductionStatus(this.environment.production);\n }\n}\n","/**\n * MemberJunction 3.0 Initialization Service\n *\n * Handles all core initialization tasks:\n * - Generated entities loading\n * - GraphQL client setup\n * - Token refresh configuration\n * - System validation\n */\n\nimport { Injectable, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Metadata } from '@memberjunction/core';\nimport { setupGraphQLClient, GraphQLProviderConfigData } from '@memberjunction/graphql-dataprovider';\nimport { MJAuthBase, StandardUserInfo, AuthErrorType } from '@memberjunction/ng-auth-services';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT, MJStartupValidationService, MJ_STARTUP_VALIDATION } from '../bootstrap.types';\n\nexport interface InitializationResult {\n success: boolean;\n error?: {\n message: string;\n type: 'no_access' | 'no_roles' | 'auth_error' | 'unknown';\n showValidationOnly?: boolean;\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MJInitializationService {\n constructor(\n private router: Router,\n private authBase: MJAuthBase,\n @Inject(MJ_STARTUP_VALIDATION) private startupValidationService: MJStartupValidationService | null\n ) {}\n\n /**\n * Initialize GraphQL client with authentication token and refresh callback\n */\n async initializeGraphQL(token: string, environment: MJEnvironmentConfig): Promise<void> {\n const url: string = environment.GRAPHQL_URI;\n const wsurl: string = environment.GRAPHQL_WS_URI;\n\n const start = Date.now();\n const config = new GraphQLProviderConfigData(\n token,\n url,\n wsurl,\n async () => {\n // Token refresh callback - refreshToken() returns StandardAuthToken directly or throws\n const token = await this.authBase.refreshToken();\n return token.idToken;\n },\n environment.MJ_CORE_SCHEMA_NAME\n );\n\n await setupGraphQLClient(config);\n const end = Date.now();\n console.log(`✓ GraphQL Client Setup Complete: ${end - start}ms`);\n }\n\n /**\n * Refresh shared data and validate user access\n */\n async validateUserAccess(): Promise<InitializationResult> {\n await SharedService.RefreshData(true);\n\n const md = new Metadata();\n\n if (!md.CurrentUser) {\n return {\n success: false,\n error: {\n message: \"You don't have access to the application, contact your system administrator.\",\n type: 'no_access'\n }\n };\n }\n\n return { success: true };\n }\n\n /**\n * Run startup validation checks (if validation service is provided)\n */\n runValidationChecks(): void {\n if (!this.startupValidationService) {\n return; // No validation service provided\n }\n\n // Small delay to ensure everything is initialized\n setTimeout(() => {\n this.startupValidationService?.validateSystemSetup();\n }, 500);\n }\n\n /**\n * Navigate to initial route after successful login\n */\n navigateToInitialRoute(initialPath: string, document: Document): void {\n localStorage.removeItem('jwt-retry-ts');\n\n if (initialPath === '/') {\n // Use first nav item instead\n setTimeout(() => {\n // Find the KendoDrawer element and simulate a click for the first item\n const drawerElement = document.querySelector('li.k-drawer-item.k-level-0') as any;\n if (drawerElement) drawerElement.click();\n }, 10); // Wait for the drawer to finish render\n } else {\n this.router.navigateByUrl(initialPath, { replaceUrl: true });\n }\n }\n\n /**\n * Check if error is related to missing user roles\n */\n isNoUserRolesError(err: any): boolean {\n try {\n if (!err || typeof err !== 'object') return false;\n\n // Check for GraphQL-style errors\n if (err.response && Array.isArray(err.response.errors)) {\n return err.response.errors.some((e: any) =>\n e && e.message && typeof e.message === 'string' &&\n e.message.includes('does not have read permissions on User Roles')\n );\n }\n\n // Check for specific \"ResourceTypes\" error\n if (err.toString && typeof err.toString === 'function') {\n const errorString = err.toString();\n if (errorString.includes(\"Cannot read properties of undefined (reading 'ResourceTypes')\")) {\n return true;\n }\n }\n\n // Check for error message directly on the error object\n if (err.message && typeof err.message === 'string') {\n const message = err.message;\n return message.includes('does not have read permissions on User Roles') ||\n message.includes(\"Cannot read properties of undefined (reading 'ResourceTypes')\");\n }\n\n // Check for nested error object\n if (err.error && typeof err.error === 'object') {\n return this.isNoUserRolesError(err.error);\n }\n\n return false;\n } catch (e) {\n console.error('Error while checking for user roles error:', e);\n return false;\n }\n }\n\n /**\n * Handle no roles error by showing validation banner (if validation service is provided)\n */\n handleNoRolesError(): InitializationResult {\n this.startupValidationService?.addNoRolesValidationIssue();\n\n return {\n success: false,\n error: {\n message: 'User has no roles assigned',\n type: 'no_roles',\n showValidationOnly: true\n }\n };\n }\n\n /**\n * Handle authentication retry logic\n */\n async handleAuthRetry(err: any): Promise<boolean> {\n const retryKey = 'auth-retry-dt';\n const lastRetryDateTime = localStorage.getItem(retryKey);\n const yesterday = +new Date(Date.now() - 1 * 24 * 60 * 60 * 1000);\n const retriedRecently = lastRetryDateTime && +new Date(lastRetryDateTime) > yesterday;\n\n const authError = this.authBase.classifyError(err);\n const isTokenExpired = authError.type === AuthErrorType.TOKEN_EXPIRED;\n\n if (!retriedRecently && isTokenExpired) {\n console.log('JWT Expired, retrying once: ' + err);\n localStorage.setItem(retryKey, new Date().toISOString());\n await this.authBase.login({ appState: { target: window.location.pathname } }).toPromise();\n return true;\n }\n\n return false;\n }\n\n /**\n * Get auth error message for display\n */\n getAuthErrorMessage(err: unknown): string {\n const authError = this.authBase.classifyError(err);\n\n switch (authError.type) {\n case AuthErrorType.NO_ACTIVE_SESSION:\n return \"Welcome back! Please log in to your account.\";\n case AuthErrorType.INTERACTION_REQUIRED:\n case AuthErrorType.TOKEN_EXPIRED:\n return \"Your session has expired. Please log in to your account.\";\n default:\n return authError.userMessage || \"Welcome back! Please log in to your account.\";\n }\n }\n}\n","/**\n * MemberJunction 3.0 Auth Shell Component\n *\n * Handles authentication flow and initialization for MJ applications.\n * This component encapsulates all the auth logic that was previously in app.component.ts\n */\n\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { take } from 'rxjs/operators';\nimport { SetProductionStatus, LogError, LogStatus } from '@memberjunction/core';\nimport { MJAuthBase, StandardUserInfo, AuthErrorType } from '@memberjunction/ng-auth-services';\nimport { MJInitializationService } from '../services/initialization.service';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from '../bootstrap.types';\n\n@Component({\n standalone: false,\n selector: 'mj-auth-shell',\n template: `\n <div class=\"mj-auth-shell\">\n @if (!HasError || showValidationOnly) {\n <ng-content></ng-content>\n }\n \n @if (HasError && !showValidationOnly) {\n <div class=\"error-container\">\n <h2>Error</h2>\n <p>{{ ErrorMessage }}</p>\n </div>\n }\n </div>\n `,\n styles: [`\n .mj-auth-shell {\n width: 100%;\n height: 100%;\n display: block;\n }\n\n .error-container {\n padding: 20px;\n text-align: center;\n }\n\n .error-container h2 {\n color: #d32f2f;\n margin-bottom: 10px;\n }\n `]\n})\nexport class MJAuthShellComponent implements OnInit {\n public HasError = false;\n public ErrorMessage: any = '';\n public showValidationOnly = false;\n public subHeaderText: string = \"Welcome back! Please log in to your account.\";\n\n private initialPath = '/';\n\n constructor(\n private router: Router,\n @Inject(DOCUMENT) public document: Document,\n public authBase: MJAuthBase,\n private initService: MJInitializationService,\n @Inject(MJ_ENVIRONMENT) private environment: MJEnvironmentConfig\n ) {}\n\n async ngOnInit() {\n console.log('🚀 MemberJunction 3.0 - Auth Shell Initializing');\n\n SetProductionStatus(this.environment.production);\n this.initialPath = window.location.pathname + (window.location.search ? window.location.search : '');\n\n await this.setupAuth();\n }\n\n /**\n * Handle successful login and initialize the application\n */\n async handleLogin(token: string, userInfo: StandardUserInfo): Promise<void> {\n if (!token) return;\n\n try {\n // Initialize GraphQL client\n await this.initService.initializeGraphQL(token, this.environment);\n\n // Validate user access and refresh data\n const validationResult = await this.initService.validateUserAccess();\n\n if (!validationResult.success) {\n this.HasError = true;\n this.ErrorMessage = validationResult.error!.message;\n throw new Error(this.ErrorMessage);\n }\n\n // Run startup validation checks\n this.initService.runValidationChecks();\n\n // Navigate to initial route\n this.initService.navigateToInitialRoute(this.initialPath, this.document);\n\n } catch (err: any) {\n // Check for no roles error\n if (this.initService.isNoUserRolesError(err)) {\n this.showValidationOnly = true;\n this.HasError = true;\n const result = this.initService.handleNoRolesError();\n return; // Don't throw, allow UI to show validation banner\n }\n\n // Try auth retry if applicable\n const retried = await this.initService.handleAuthRetry(err);\n if (retried) {\n return; // Retry initiated\n }\n\n // Show error\n this.HasError = true;\n this.ErrorMessage = err;\n LogError('Error Logging In: ' + err);\n throw err;\n }\n }\n\n /**\n * Setup authentication and handle auth state changes\n */\n async setupAuth(): Promise<void> {\n // Auth provider already initialized by APP_INITIALIZER\n\n // Listen for user info changes\n this.authBase.getUserInfo()\n .pipe(take(1))\n .subscribe({\n next: async (userInfo) => {\n if (userInfo) {\n const token = await this.authBase.getIdToken();\n\n if (token) {\n await this.handleLogin(token, userInfo);\n } else {\n console.error('User info available but no token found');\n }\n }\n },\n error: (err: unknown) => {\n LogError('Error Logging In: ' + err);\n this.subHeaderText = this.initService.getAuthErrorMessage(err);\n }\n });\n\n // Check if user is authenticated\n this.authBase.isAuthenticated()\n .pipe(take(1))\n .subscribe((loggedIn: boolean) => {\n if (!loggedIn) {\n // Display login screen - auth state is managed by provider\n console.log('User not authenticated, showing login screen');\n }\n });\n }\n}\n","/**\n * MemberJunction 3.0 Bootstrap Module\n *\n * Provides the MJBootstrapComponent and all necessary services for MemberJunction Angular applications.\n * This module encapsulates all the authentication and initialization logic that was previously\n * spread across app.component.ts and app.module.ts.\n *\n * Usage:\n * ```typescript\n * @NgModule({\n * imports: [\n * BrowserModule,\n * BrowserAnimationsModule,\n * MJBootstrapModule.forRoot(environment),\n * // ... other MJ modules\n * ],\n * bootstrap: [AppComponent]\n * })\n * export class AppModule {}\n * ```\n */\n\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJBootstrapComponent } from './bootstrap.component';\nimport { MJAuthShellComponent } from './components/auth-shell.component';\nimport { MJInitializationService } from './services/initialization.service';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from './bootstrap.types';\nimport { MJAuthBase } from '@memberjunction/ng-auth-services';\n\n/**\n * Initialize auth provider before Angular routing starts\n * This ensures auth providers can process OAuth redirect responses before Angular's router\n * consumes the URL hash\n */\nexport function initializeAuth(authService: MJAuthBase): () => Promise<void> {\n return () => authService.initialize();\n}\n\n@NgModule({\n declarations: [\n MJBootstrapComponent,\n MJAuthShellComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MJBootstrapComponent,\n MJAuthShellComponent\n ]\n})\nexport class MJBootstrapModule {\n /**\n * Configure the bootstrap module with environment settings\n *\n * @param environment - Environment configuration for the application\n * @returns ModuleWithProviders with environment configuration and all services\n *\n * @example\n * ```typescript\n * import { environment } from '../environments/environment';\n *\n * @NgModule({\n * imports: [\n * MJBootstrapModule.forRoot(environment)\n * ]\n * })\n * export class AppModule {}\n * ```\n */\n static forRoot(environment: MJEnvironmentConfig): ModuleWithProviders<MJBootstrapModule> {\n return {\n ngModule: MJBootstrapModule,\n providers: [\n { provide: MJ_ENVIRONMENT, useValue: environment },\n // MJInitializationService uses providedIn: 'root'\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAuth,\n deps: [MJAuthBase],\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * AUTO-GENERATED FILE - DO NOT EDIT\n * Generated by mj codegen manifest\n * App: @memberjunction/ng-bootstrap\n * Dependency tree: 491 packages walked, 14 contain @RegisterClass\n *\n * This file imports every @RegisterClass decorated class by name and places\n * them in an exported array, creating a static code path that prevents\n * tree-shaking from removing them.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @memberjunction/actions-base (2 classes)\nimport {\n ActionEntityExtended,\n EntityActionEntityExtended,\n} from '@memberjunction/actions-base';\n\n// @memberjunction/ai-core-plus (7 classes)\nimport {\n AIAgentEntityExtended,\n AIAgentRunEntityExtended,\n AIAgentRunStepEntityExtended,\n AIModelEntityExtended,\n AIPromptCategoryEntityExtended,\n AIPromptEntityExtended,\n AIPromptRunEntityExtended,\n} from '@memberjunction/ai-core-plus';\n\n// @memberjunction/ai-engine-base (4 classes)\nimport {\n AICredentialBindingEntityExtended,\n PerHundredThousandTokensPriceUnitType,\n PerMillionTokensPriceUnitType,\n PerThousandTokensPriceUnitType,\n} from '@memberjunction/ai-engine-base';\n\n// @memberjunction/communication-types (1 classes)\nimport {\n CommunicationProviderEntityExtended,\n} from '@memberjunction/communication-types';\n\n// @memberjunction/core-entities (282 classes)\nimport {\n AIActionEntity,\n AIAgentActionEntity,\n AIAgentArtifactTypeEntity,\n AIAgentConfigurationEntity,\n AIAgentDataSourceEntity,\n AIAgentEntity,\n AIAgentExampleEntity,\n AIAgentLearningCycleEntity,\n AIAgentModalityEntity,\n AIAgentModelEntity,\n AIAgentNoteEntity,\n AIAgentNoteTypeEntity,\n AIAgentPermissionEntity,\n AIAgentPromptEntity,\n AIAgentRelationshipEntity,\n AIAgentRequestEntity,\n AIAgentRunEntity,\n AIAgentRunMediaEntity,\n AIAgentRunStepEntity,\n AIAgentStepEntity,\n AIAgentStepPathEntity,\n AIAgentTypeEntity,\n AIArchitectureEntity,\n AIConfigurationEntity,\n AIConfigurationParamEntity,\n AICredentialBindingEntity,\n AIModalityEntity,\n AIModelActionEntity,\n AIModelArchitectureEntity,\n AIModelCostEntity,\n AIModelEntity,\n AIModelModalityEntity,\n AIModelPriceTypeEntity,\n AIModelPriceUnitTypeEntity,\n AIModelTypeEntity,\n AIModelVendorEntity,\n AIPromptCategoryEntity,\n AIPromptEntity,\n AIPromptModelEntity,\n AIPromptRunEntity,\n AIPromptRunMediaEntity,\n AIPromptTypeEntity,\n AIResultCacheEntity,\n AIVendorEntity,\n AIVendorTypeDefinitionEntity,\n AIVendorTypeEntity,\n APIApplicationEntity,\n APIApplicationScopeEntity,\n APIKeyApplicationEntity,\n APIKeyEntity,\n APIKeyScopeEntity,\n APIKeyUsageLogEntity,\n APIScopeEntity,\n AccessControlRuleEntity,\n ActionAuthorizationEntity,\n ActionCategoryEntity,\n ActionContextEntity,\n ActionContextTypeEntity,\n ActionEntity,\n ActionExecutionLogEntity,\n ActionFilterEntity,\n ActionLibraryEntity,\n ActionParamEntity,\n ActionResultCodeEntity,\n ApplicationEntity,\n ApplicationEntityEntity,\n ApplicationSettingEntity,\n ArtifactEntity,\n ArtifactPermissionEntity,\n ArtifactTypeEntity,\n ArtifactUseEntity,\n ArtifactVersionAttributeEntity,\n ArtifactVersionEntity,\n AuditLogEntity,\n AuditLogTypeEntity,\n AuthorizationEntity,\n AuthorizationRoleEntity,\n CollectionArtifactEntity,\n CollectionEntity,\n CollectionPermissionEntity,\n CommunicationBaseMessageTypeEntity,\n CommunicationLogEntity,\n CommunicationProviderEntity,\n CommunicationProviderMessageTypeEntity,\n CommunicationRunEntity,\n CompanyEntity,\n CompanyIntegrationEntity,\n CompanyIntegrationRecordMapEntity,\n CompanyIntegrationRunAPILogEntity,\n CompanyIntegrationRunDetailEntity,\n CompanyIntegrationRunEntity,\n ComponentDependencyEntity,\n ComponentEntity,\n ComponentEntityExtended,\n ComponentLibraryEntity,\n ComponentLibraryLinkEntity,\n ComponentRegistryEntity,\n ContentFileTypeEntity,\n ContentItemAttributeEntity,\n ContentItemEntity,\n ContentItemTagEntity,\n ContentProcessRunEntity,\n ContentSourceEntity,\n ContentSourceParamEntity,\n ContentSourceTypeEntity,\n ContentSourceTypeParamEntity,\n ContentTypeAttributeEntity,\n ContentTypeEntity,\n ConversationArtifactEntity,\n ConversationArtifactPermissionEntity,\n ConversationArtifactVersionEntity,\n ConversationDetailArtifactEntity,\n ConversationDetailAttachmentEntity,\n ConversationDetailEntity,\n ConversationDetailRatingEntity,\n ConversationEntity,\n CredentialCategoryEntity,\n CredentialEntity,\n CredentialTypeEntity,\n DashboardCategoryEntity,\n DashboardCategoryLinkEntity,\n DashboardCategoryPermissionEntity,\n DashboardEntity,\n DashboardEntityExtended,\n DashboardPartTypeEntity,\n DashboardPermissionEntity,\n DashboardUserPreferenceEntity,\n DashboardUserStateEntity,\n DataContextEntity,\n DataContextItemEntity,\n DatasetEntity,\n DatasetItemEntity,\n DuplicateRunDetailEntity,\n DuplicateRunDetailMatchEntity,\n DuplicateRunEntity,\n EmployeeCompanyIntegrationEntity,\n EmployeeEntity,\n EmployeeRoleEntity,\n EmployeeSkillEntity,\n EncryptionAlgorithmEntity,\n EncryptionKeyEntity,\n EncryptionKeySourceEntity,\n EntityAIActionEntity,\n EntityActionEntity,\n EntityActionFilterEntity,\n EntityActionInvocationEntity,\n EntityActionInvocationTypeEntity,\n EntityActionParamEntity,\n EntityCommunicationFieldEntity,\n EntityCommunicationMessageTypeEntity,\n EntityDocumentEntity,\n EntityDocumentRunEntity,\n EntityDocumentSettingEntity,\n EntityDocumentTypeEntity,\n EntityEntity,\n EntityEntityExtended,\n EntityFieldEntity,\n EntityFieldEntityExtended,\n EntityFieldValueEntity,\n EntityPermissionEntity,\n EntityRecordDocumentEntity,\n EntityRelationshipDisplayComponentEntity,\n EntityRelationshipEntity,\n EntitySettingEntity,\n EnvironmentEntity,\n EnvironmentEntityExtended,\n ErrorLogEntity,\n ExplorerNavigationItemEntity,\n FileCategoryEntity,\n FileEntity,\n FileEntityRecordLinkEntity,\n FileStorageAccountEntity,\n FileStorageProviderEntity,\n GeneratedCodeCategoryEntity,\n GeneratedCodeEntity,\n IntegrationEntity,\n IntegrationURLFormatEntity,\n LibraryEntity,\n LibraryItemEntity,\n ListCategoryEntity,\n ListDetailEntity,\n ListDetailEntityExtended,\n ListEntity,\n ListInvitationEntity,\n ListShareEntity,\n MCPServerConnectionEntity,\n MCPServerConnectionPermissionEntity,\n MCPServerConnectionToolEntity,\n MCPServerEntity,\n MCPServerToolEntity,\n MCPToolExecutionLogEntity,\n OAuthAuthServerMetadataCacheEntity,\n OAuthAuthorizationStateEntity,\n OAuthClientRegistrationEntity,\n OAuthTokenEntity,\n OutputDeliveryTypeEntity,\n OutputFormatTypeEntity,\n OutputTriggerTypeEntity,\n ProjectEntity,\n PublicLinkEntity,\n QueryCategoryEntity,\n QueryEntity,\n QueryEntityEntity,\n QueryFieldEntity,\n QueryParameterEntity,\n QueryPermissionEntity,\n QueueEntity,\n QueueTaskEntity,\n QueueTypeEntity,\n RecommendationEntity,\n RecommendationItemEntity,\n RecommendationProviderEntity,\n RecommendationRunEntity,\n RecordChangeEntity,\n RecordChangeReplayRunEntity,\n RecordLinkEntity,\n RecordMergeDeletionLogEntity,\n RecordMergeLogEntity,\n ReportCategoryEntity,\n ReportEntity,\n ReportSnapshotEntity,\n ReportUserStateEntity,\n ReportVersionEntity,\n ResourceLinkEntity,\n ResourcePermissionEntity,\n ResourcePermissionEntityExtended,\n ResourceTypeEntity,\n RoleEntity,\n RowLevelSecurityFilterEntity,\n ScheduledActionEntity,\n ScheduledActionEntityExtended,\n ScheduledActionParamEntity,\n ScheduledJobEntity,\n ScheduledJobRunEntity,\n ScheduledJobTypeEntity,\n SchemaInfoEntity,\n SkillEntity,\n TagEntity,\n TaggedItemEntity,\n TaskDependencyEntity,\n TaskEntity,\n TaskTypeEntity,\n TemplateCategoryEntity,\n TemplateContentEntity,\n TemplateContentTypeEntity,\n TemplateEntity,\n TemplateEntityExtended,\n TemplateParamEntity,\n TestEntity,\n TestRubricEntity,\n TestRunEntity,\n TestRunFeedbackEntity,\n TestSuiteEntity,\n TestSuiteRunEntity,\n TestSuiteTestEntity,\n TestTypeEntity,\n UserApplicationEntity,\n UserApplicationEntityEntity,\n UserEntity,\n UserFavoriteEntity,\n UserNotificationEntity,\n UserNotificationPreferenceEntity,\n UserNotificationTypeEntity,\n UserRecordLogEntity,\n UserRoleEntity,\n UserSettingEntity,\n UserViewCategoryEntity,\n UserViewEntity,\n UserViewEntityExtended,\n UserViewRunDetailEntity,\n UserViewRunEntity,\n VectorDatabaseEntity,\n VectorIndexEntity,\n VersionInstallationEntity,\n VersionLabelEntity,\n VersionLabelItemEntity,\n VersionLabelRestoreEntity,\n WorkflowEngineEntity,\n WorkflowEntity,\n WorkflowRunEntity,\n WorkspaceEntity,\n WorkspaceItemEntity,\n} from '@memberjunction/core-entities';\n\n// @memberjunction/entity-communications-base (1 classes)\nimport {\n EntityCommunicationMessageTypeExtended,\n} from '@memberjunction/entity-communications-base';\n\n// @memberjunction/ng-artifacts (6 classes)\nimport {\n CodeArtifactViewerComponent,\n ComponentArtifactViewerComponent,\n HtmlArtifactViewerComponent,\n JsonArtifactViewerComponent,\n MarkdownArtifactViewerComponent,\n SvgArtifactViewerComponent,\n} from '@memberjunction/ng-artifacts';\n\n// @memberjunction/ng-auth-services (3 classes)\nimport {\n MJAuth0Provider,\n MJMSALProvider,\n MJOktaProvider,\n} from '@memberjunction/ng-auth-services';\n\n// @memberjunction/ng-core-entity-forms (1 classes)\nimport {\n FlowAgentFormSectionComponent,\n} from '@memberjunction/ng-core-entity-forms';\n\n// @memberjunction/ng-dashboard-viewer (8 classes)\nimport {\n ArtifactConfigPanelComponent,\n ArtifactPartComponent,\n QueryConfigPanelComponent,\n QueryPartComponent,\n ViewConfigPanelComponent,\n ViewPartComponent,\n WebURLConfigPanelComponent,\n WebURLPartComponent,\n} from '@memberjunction/ng-dashboard-viewer';\n\n// @memberjunction/ng-dashboards (52 classes)\nimport {\n APIKeysResourceComponent,\n ActionExplorerComponent,\n ActionsOverviewComponent,\n AgentConfigurationComponent,\n CodeManagementComponent,\n CommunicationDashboardComponent,\n CommunicationLogsResourceComponent,\n CommunicationMonitorResourceComponent,\n CommunicationProvidersResourceComponent,\n CommunicationRunsResourceComponent,\n CommunicationTemplatesResourceComponent,\n ComponentStudioDashboardComponent,\n CredentialsAuditResourceComponent,\n CredentialsCategoriesResourceComponent,\n CredentialsDashboardComponent,\n CredentialsListResourceComponent,\n CredentialsOverviewResourceComponent,\n CredentialsTypesResourceComponent,\n DashboardBrowserResourceComponent,\n DataExplorerDashboardComponent,\n DataExplorerResourceComponent,\n EntityAdminDashboardComponent,\n EntityIntegrationComponent,\n ExecutionMonitoringComponent,\n HomeApplication,\n HomeDashboardComponent,\n ListsBrowseResource,\n ListsCategoriesResource,\n ListsMyListsResource,\n ListsOperationsResource,\n MCPDashboardComponent,\n ModelManagementComponent,\n PromptManagementComponent,\n QueryBrowserResourceComponent,\n ScheduledActionsComponent,\n SchedulingActivityResourceComponent,\n SchedulingDashboardComponent,\n SchedulingJobsResourceComponent,\n SchedulingOverviewResourceComponent,\n SecurityPermissionsComponent,\n SystemConfigurationComponent,\n SystemDiagnosticsComponent,\n TestingAnalyticsResourceComponent,\n TestingDashboardComponent,\n TestingDashboardTabResourceComponent,\n TestingExplorerResourceComponent,\n TestingReviewResourceComponent,\n TestingRunsResourceComponent,\n VersionHistoryDiffResourceComponent,\n VersionHistoryGraphResourceComponent,\n VersionHistoryLabelsResourceComponent,\n VersionHistoryRestoreResourceComponent,\n} from '@memberjunction/ng-dashboards';\n\n// @memberjunction/ng-explorer-core (9 classes)\nimport {\n ArtifactResource,\n BaseUserMenu,\n ChatConversationsResource,\n DashboardResource,\n EntityRecordResource,\n ListDetailResource,\n QueryResource,\n SearchResultsResource,\n UserViewResource,\n} from '@memberjunction/ng-explorer-core';\n\n// @memberjunction/ng-explorer-settings (6 classes)\nimport {\n ApplicationManagementComponent,\n EntityPermissionsComponent,\n RoleManagementComponent,\n SettingsComponent,\n SqlLoggingComponent,\n UserManagementComponent,\n} from '@memberjunction/ng-explorer-settings';\n\n// @memberjunction/ng-file-storage (1 classes)\nimport {\n FileBrowserResource,\n} from '@memberjunction/ng-file-storage';\n\n/**\n * Runtime references to every @RegisterClass decorated class.\n * This array creates a static code path the bundler cannot tree-shake.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const CLASS_REGISTRATIONS: any[] = [\n ActionEntityExtended,\n EntityActionEntityExtended,\n AIAgentEntityExtended,\n AIAgentRunEntityExtended,\n AIAgentRunStepEntityExtended,\n AIModelEntityExtended,\n AIPromptCategoryEntityExtended,\n AIPromptEntityExtended,\n AIPromptRunEntityExtended,\n AICredentialBindingEntityExtended,\n PerHundredThousandTokensPriceUnitType,\n PerMillionTokensPriceUnitType,\n PerThousandTokensPriceUnitType,\n CommunicationProviderEntityExtended,\n AIActionEntity,\n AIAgentActionEntity,\n AIAgentArtifactTypeEntity,\n AIAgentConfigurationEntity,\n AIAgentDataSourceEntity,\n AIAgentEntity,\n AIAgentExampleEntity,\n AIAgentLearningCycleEntity,\n AIAgentModalityEntity,\n AIAgentModelEntity,\n AIAgentNoteEntity,\n AIAgentNoteTypeEntity,\n AIAgentPermissionEntity,\n AIAgentPromptEntity,\n AIAgentRelationshipEntity,\n AIAgentRequestEntity,\n AIAgentRunEntity,\n AIAgentRunMediaEntity,\n AIAgentRunStepEntity,\n AIAgentStepEntity,\n AIAgentStepPathEntity,\n AIAgentTypeEntity,\n AIArchitectureEntity,\n AIConfigurationEntity,\n AIConfigurationParamEntity,\n AICredentialBindingEntity,\n AIModalityEntity,\n AIModelActionEntity,\n AIModelArchitectureEntity,\n AIModelCostEntity,\n AIModelEntity,\n AIModelModalityEntity,\n AIModelPriceTypeEntity,\n AIModelPriceUnitTypeEntity,\n AIModelTypeEntity,\n AIModelVendorEntity,\n AIPromptCategoryEntity,\n AIPromptEntity,\n AIPromptModelEntity,\n AIPromptRunEntity,\n AIPromptRunMediaEntity,\n AIPromptTypeEntity,\n AIResultCacheEntity,\n AIVendorEntity,\n AIVendorTypeDefinitionEntity,\n AIVendorTypeEntity,\n APIApplicationEntity,\n APIApplicationScopeEntity,\n APIKeyApplicationEntity,\n APIKeyEntity,\n APIKeyScopeEntity,\n APIKeyUsageLogEntity,\n APIScopeEntity,\n AccessControlRuleEntity,\n ActionAuthorizationEntity,\n ActionCategoryEntity,\n ActionContextEntity,\n ActionContextTypeEntity,\n ActionEntity,\n ActionExecutionLogEntity,\n ActionFilterEntity,\n ActionLibraryEntity,\n ActionParamEntity,\n ActionResultCodeEntity,\n ApplicationEntity,\n ApplicationEntityEntity,\n ApplicationSettingEntity,\n ArtifactEntity,\n ArtifactPermissionEntity,\n ArtifactTypeEntity,\n ArtifactUseEntity,\n ArtifactVersionAttributeEntity,\n ArtifactVersionEntity,\n AuditLogEntity,\n AuditLogTypeEntity,\n AuthorizationEntity,\n AuthorizationRoleEntity,\n CollectionArtifactEntity,\n CollectionEntity,\n CollectionPermissionEntity,\n CommunicationBaseMessageTypeEntity,\n CommunicationLogEntity,\n CommunicationProviderEntity,\n CommunicationProviderMessageTypeEntity,\n CommunicationRunEntity,\n CompanyEntity,\n CompanyIntegrationEntity,\n CompanyIntegrationRecordMapEntity,\n CompanyIntegrationRunAPILogEntity,\n CompanyIntegrationRunDetailEntity,\n CompanyIntegrationRunEntity,\n ComponentDependencyEntity,\n ComponentEntity,\n ComponentEntityExtended,\n ComponentLibraryEntity,\n ComponentLibraryLinkEntity,\n ComponentRegistryEntity,\n ContentFileTypeEntity,\n ContentItemAttributeEntity,\n ContentItemEntity,\n ContentItemTagEntity,\n ContentProcessRunEntity,\n ContentSourceEntity,\n ContentSourceParamEntity,\n ContentSourceTypeEntity,\n ContentSourceTypeParamEntity,\n ContentTypeAttributeEntity,\n ContentTypeEntity,\n ConversationArtifactEntity,\n ConversationArtifactPermissionEntity,\n ConversationArtifactVersionEntity,\n ConversationDetailArtifactEntity,\n ConversationDetailAttachmentEntity,\n ConversationDetailEntity,\n ConversationDetailRatingEntity,\n ConversationEntity,\n CredentialCategoryEntity,\n CredentialEntity,\n CredentialTypeEntity,\n DashboardCategoryEntity,\n DashboardCategoryLinkEntity,\n DashboardCategoryPermissionEntity,\n DashboardEntity,\n DashboardEntityExtended,\n DashboardPartTypeEntity,\n DashboardPermissionEntity,\n DashboardUserPreferenceEntity,\n DashboardUserStateEntity,\n DataContextEntity,\n DataContextItemEntity,\n DatasetEntity,\n DatasetItemEntity,\n DuplicateRunDetailEntity,\n DuplicateRunDetailMatchEntity,\n DuplicateRunEntity,\n EmployeeCompanyIntegrationEntity,\n EmployeeEntity,\n EmployeeRoleEntity,\n EmployeeSkillEntity,\n EncryptionAlgorithmEntity,\n EncryptionKeyEntity,\n EncryptionKeySourceEntity,\n EntityAIActionEntity,\n EntityActionEntity,\n EntityActionFilterEntity,\n EntityActionInvocationEntity,\n EntityActionInvocationTypeEntity,\n EntityActionParamEntity,\n EntityCommunicationFieldEntity,\n EntityCommunicationMessageTypeEntity,\n EntityDocumentEntity,\n EntityDocumentRunEntity,\n EntityDocumentSettingEntity,\n EntityDocumentTypeEntity,\n EntityEntity,\n EntityEntityExtended,\n EntityFieldEntity,\n EntityFieldEntityExtended,\n EntityFieldValueEntity,\n EntityPermissionEntity,\n EntityRecordDocumentEntity,\n EntityRelationshipDisplayComponentEntity,\n EntityRelationshipEntity,\n EntitySettingEntity,\n EnvironmentEntity,\n EnvironmentEntityExtended,\n ErrorLogEntity,\n ExplorerNavigationItemEntity,\n FileCategoryEntity,\n FileEntity,\n FileEntityRecordLinkEntity,\n FileStorageAccountEntity,\n FileStorageProviderEntity,\n GeneratedCodeCategoryEntity,\n GeneratedCodeEntity,\n IntegrationEntity,\n IntegrationURLFormatEntity,\n LibraryEntity,\n LibraryItemEntity,\n ListCategoryEntity,\n ListDetailEntity,\n ListDetailEntityExtended,\n ListEntity,\n ListInvitationEntity,\n ListShareEntity,\n MCPServerConnectionEntity,\n MCPServerConnectionPermissionEntity,\n MCPServerConnectionToolEntity,\n MCPServerEntity,\n MCPServerToolEntity,\n MCPToolExecutionLogEntity,\n OAuthAuthServerMetadataCacheEntity,\n OAuthAuthorizationStateEntity,\n OAuthClientRegistrationEntity,\n OAuthTokenEntity,\n OutputDeliveryTypeEntity,\n OutputFormatTypeEntity,\n OutputTriggerTypeEntity,\n ProjectEntity,\n PublicLinkEntity,\n QueryCategoryEntity,\n QueryEntity,\n QueryEntityEntity,\n QueryFieldEntity,\n QueryParameterEntity,\n QueryPermissionEntity,\n QueueEntity,\n QueueTaskEntity,\n QueueTypeEntity,\n RecommendationEntity,\n RecommendationItemEntity,\n RecommendationProviderEntity,\n RecommendationRunEntity,\n RecordChangeEntity,\n RecordChangeReplayRunEntity,\n RecordLinkEntity,\n RecordMergeDeletionLogEntity,\n RecordMergeLogEntity,\n ReportCategoryEntity,\n ReportEntity,\n ReportSnapshotEntity,\n ReportUserStateEntity,\n ReportVersionEntity,\n ResourceLinkEntity,\n ResourcePermissionEntity,\n ResourcePermissionEntityExtended,\n ResourceTypeEntity,\n RoleEntity,\n RowLevelSecurityFilterEntity,\n ScheduledActionEntity,\n ScheduledActionEntityExtended,\n ScheduledActionParamEntity,\n ScheduledJobEntity,\n ScheduledJobRunEntity,\n ScheduledJobTypeEntity,\n SchemaInfoEntity,\n SkillEntity,\n TagEntity,\n TaggedItemEntity,\n TaskDependencyEntity,\n TaskEntity,\n TaskTypeEntity,\n TemplateCategoryEntity,\n TemplateContentEntity,\n TemplateContentTypeEntity,\n TemplateEntity,\n TemplateEntityExtended,\n TemplateParamEntity,\n TestEntity,\n TestRubricEntity,\n TestRunEntity,\n TestRunFeedbackEntity,\n TestSuiteEntity,\n TestSuiteRunEntity,\n TestSuiteTestEntity,\n TestTypeEntity,\n UserApplicationEntity,\n UserApplicationEntityEntity,\n UserEntity,\n UserFavoriteEntity,\n UserNotificationEntity,\n UserNotificationPreferenceEntity,\n UserNotificationTypeEntity,\n UserRecordLogEntity,\n UserRoleEntity,\n UserSettingEntity,\n UserViewCategoryEntity,\n UserViewEntity,\n UserViewEntityExtended,\n UserViewRunDetailEntity,\n UserViewRunEntity,\n VectorDatabaseEntity,\n VectorIndexEntity,\n VersionInstallationEntity,\n VersionLabelEntity,\n VersionLabelItemEntity,\n VersionLabelRestoreEntity,\n WorkflowEngineEntity,\n WorkflowEntity,\n WorkflowRunEntity,\n WorkspaceEntity,\n WorkspaceItemEntity,\n EntityCommunicationMessageTypeExtended,\n CodeArtifactViewerComponent,\n ComponentArtifactViewerComponent,\n HtmlArtifactViewerComponent,\n JsonArtifactViewerComponent,\n MarkdownArtifactViewerComponent,\n SvgArtifactViewerComponent,\n MJAuth0Provider,\n MJMSALProvider,\n MJOktaProvider,\n FlowAgentFormSectionComponent,\n ArtifactConfigPanelComponent,\n ArtifactPartComponent,\n QueryConfigPanelComponent,\n QueryPartComponent,\n ViewConfigPanelComponent,\n ViewPartComponent,\n WebURLConfigPanelComponent,\n WebURLPartComponent,\n APIKeysResourceComponent,\n ActionExplorerComponent,\n ActionsOverviewComponent,\n AgentConfigurationComponent,\n CodeManagementComponent,\n CommunicationDashboardComponent,\n CommunicationLogsResourceComponent,\n CommunicationMonitorResourceComponent,\n CommunicationProvidersResourceComponent,\n CommunicationRunsResourceComponent,\n CommunicationTemplatesResourceComponent,\n ComponentStudioDashboardComponent,\n CredentialsAuditResourceComponent,\n CredentialsCategoriesResourceComponent,\n CredentialsDashboardComponent,\n CredentialsListResourceComponent,\n CredentialsOverviewResourceComponent,\n CredentialsTypesResourceComponent,\n DashboardBrowserResourceComponent,\n DataExplorerDashboardComponent,\n DataExplorerResourceComponent,\n EntityAdminDashboardComponent,\n EntityIntegrationComponent,\n ExecutionMonitoringComponent,\n HomeApplication,\n HomeDashboardComponent,\n ListsBrowseResource,\n ListsCategoriesResource,\n ListsMyListsResource,\n ListsOperationsResource,\n MCPDashboardComponent,\n ModelManagementComponent,\n PromptManagementComponent,\n QueryBrowserResourceComponent,\n ScheduledActionsComponent,\n SchedulingActivityResourceComponent,\n SchedulingDashboardComponent,\n SchedulingJobsResourceComponent,\n SchedulingOverviewResourceComponent,\n SecurityPermissionsComponent,\n SystemConfigurationComponent,\n SystemDiagnosticsComponent,\n TestingAnalyticsResourceComponent,\n TestingDashboardComponent,\n TestingDashboardTabResourceComponent,\n TestingExplorerResourceComponent,\n TestingReviewResourceComponent,\n TestingRunsResourceComponent,\n VersionHistoryDiffResourceComponent,\n VersionHistoryGraphResourceComponent,\n VersionHistoryLabelsResourceComponent,\n VersionHistoryRestoreResourceComponent,\n ArtifactResource,\n BaseUserMenu,\n ChatConversationsResource,\n DashboardResource,\n EntityRecordResource,\n ListDetailResource,\n QueryResource,\n SearchResultsResource,\n UserViewResource,\n ApplicationManagementComponent,\n EntityPermissionsComponent,\n RoleManagementComponent,\n SettingsComponent,\n SqlLoggingComponent,\n UserManagementComponent,\n FileBrowserResource,\n];\n\n/** Marker constant indicating the manifest has been loaded. */\nexport const CLASS_REGISTRATIONS_MANIFEST_LOADED = true;\n\n/** Total @RegisterClass decorated classes discovered in dependency tree */\nexport const CLASS_REGISTRATIONS_COUNT = 383;\n\n/** Packages imported by this manifest */\nexport const CLASS_REGISTRATIONS_PACKAGES = [\n '@memberjunction/actions-base',\n '@memberjunction/ai-core-plus',\n '@memberjunction/ai-engine-base',\n '@memberjunction/communication-types',\n '@memberjunction/core-entities',\n '@memberjunction/entity-communications-base',\n '@memberjunction/ng-artifacts',\n '@memberjunction/ng-auth-services',\n '@memberjunction/ng-core-entity-forms',\n '@memberjunction/ng-dashboard-viewer',\n '@memberjunction/ng-dashboards',\n '@memberjunction/ng-explorer-core',\n '@memberjunction/ng-explorer-settings',\n '@memberjunction/ng-file-storage',\n] as const;\n","/**\n * Public API Surface of @memberjunction/ng-bootstrap\n */\n\nexport * from './lib/bootstrap.module';\nexport * from './lib/bootstrap.component';\nexport * from './lib/bootstrap.types';\nexport * from './lib/services/initialization.service';\nexport * from './lib/components/auth-shell.component';\n\n/**\n * Pre-built class registrations manifest for all @memberjunction/* Angular packages.\n * Importing this module prevents tree-shaking of MJ's dynamically registered classes.\n * Generated at MJ build time and ships with the package.\n */\nexport * from './generated/mj-class-registrations';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.MJInitializationService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memberjunction-ng-bootstrap.mjs","sources":["../../src/lib/bootstrap.types.ts","../../src/lib/bootstrap.component.ts","../../src/lib/services/initialization.service.ts","../../src/lib/components/auth-shell.component.ts","../../src/lib/bootstrap.module.ts","../../src/generated/mj-class-registrations.ts","../../src/public-api.ts","../../src/memberjunction-ng-bootstrap.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Injection token for MJ Environment Configuration\n */\nexport const MJ_ENVIRONMENT = new InjectionToken<MJEnvironmentConfig>('MJ_ENVIRONMENT');\n\n/**\n * Injection token for optional startup validation service\n */\nexport const MJ_STARTUP_VALIDATION = new InjectionToken<MJStartupValidationService | null>('MJ_STARTUP_VALIDATION', {\n providedIn: 'root',\n factory: () => null // Default to null if not provided\n});\n\n/**\n * Optional interface for startup validation services\n * Applications can provide their own implementation to handle startup validation\n */\nexport interface MJStartupValidationService {\n /**\n * Runs validation checks during application startup\n */\n validateSystemSetup(): void;\n\n /**\n * Adds a validation issue for missing user roles\n */\n addNoRolesValidationIssue(): void;\n}\n\n/**\n * Environment configuration interface for MemberJunction Angular applications\n */\nexport interface MJEnvironmentConfig {\n /**\n * Whether the app is running in production mode\n */\n production: boolean;\n\n /**\n * GraphQL HTTP endpoint URL\n * @example 'http://localhost:4000/graphql'\n */\n GRAPHQL_URI: string;\n\n /**\n * GraphQL WebSocket endpoint URL for subscriptions\n * @example 'ws://localhost:4000/graphql'\n */\n GRAPHQL_WS_URI: string;\n\n /**\n * Authentication provider type\n */\n AUTH_TYPE: 'msal' | 'auth0';\n\n /**\n * MemberJunction core schema name in the database\n * @default '__mj'\n */\n MJ_CORE_SCHEMA_NAME: string;\n\n /**\n * Microsoft Azure AD/Entra Client ID (for MSAL auth)\n */\n CLIENT_ID?: string;\n\n /**\n * Microsoft Azure AD/Entra Tenant ID (for MSAL auth)\n */\n TENANT_ID?: string;\n\n /**\n * Auth0 domain (for Auth0 auth)\n * @example 'myapp.us.auth0.com'\n */\n AUTH0_DOMAIN?: string;\n\n /**\n * Auth0 client ID (for Auth0 auth)\n */\n AUTH0_CLIENTID?: string;\n\n /**\n * Additional custom environment properties\n */\n [key: string]: any;\n}\n","/**\n * MemberJunction 3.0 Bootstrap Component\n *\n * Minimal placeholder component for future fully encapsulated bootstrap.\n * Currently applications should use MJInitializationService directly in their app.component.\n */\n\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { SetProductionStatus } from '@memberjunction/core';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from './bootstrap.types';\n\n@Component({\n standalone: false,\n selector: 'mj-bootstrap',\n template: `\n <div class=\"mj-bootstrap-container\">\n <ng-content></ng-content>\n </div>\n `,\n styles: [`\n .mj-bootstrap-container {\n display: block;\n width: 100%;\n height: 100%;\n }\n `]\n})\nexport class MJBootstrapComponent implements OnInit {\n constructor(\n @Inject(MJ_ENVIRONMENT) private environment: MJEnvironmentConfig\n ) {}\n\n ngOnInit() {\n console.log('🚀 MemberJunction 3.0 Bootstrap');\n SetProductionStatus(this.environment.production);\n }\n}\n","/**\n * MemberJunction 3.0 Initialization Service\n *\n * Handles all core initialization tasks:\n * - Generated entities loading\n * - GraphQL client setup\n * - Token refresh configuration\n * - System validation\n */\n\nimport { Injectable, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Metadata } from '@memberjunction/core';\nimport { setupGraphQLClient, GraphQLProviderConfigData } from '@memberjunction/graphql-dataprovider';\nimport { MJAuthBase, StandardUserInfo, AuthErrorType } from '@memberjunction/ng-auth-services';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT, MJStartupValidationService, MJ_STARTUP_VALIDATION } from '../bootstrap.types';\n\nexport interface InitializationResult {\n success: boolean;\n error?: {\n message: string;\n type: 'no_access' | 'no_roles' | 'auth_error' | 'unknown';\n showValidationOnly?: boolean;\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MJInitializationService {\n constructor(\n private router: Router,\n private authBase: MJAuthBase,\n @Inject(MJ_STARTUP_VALIDATION) private startupValidationService: MJStartupValidationService | null\n ) {}\n\n /**\n * Initialize GraphQL client with authentication token and refresh callback\n */\n async initializeGraphQL(token: string, environment: MJEnvironmentConfig): Promise<void> {\n const url: string = environment.GRAPHQL_URI;\n const wsurl: string = environment.GRAPHQL_WS_URI;\n\n const start = Date.now();\n const config = new GraphQLProviderConfigData(\n token,\n url,\n wsurl,\n async () => {\n // Token refresh callback - refreshToken() returns StandardAuthToken directly or throws\n const token = await this.authBase.refreshToken();\n return token.idToken;\n },\n environment.MJ_CORE_SCHEMA_NAME\n );\n\n await setupGraphQLClient(config);\n const end = Date.now();\n console.log(`✓ GraphQL Client Setup Complete: ${end - start}ms`);\n }\n\n /**\n * Refresh shared data and validate user access\n */\n async validateUserAccess(): Promise<InitializationResult> {\n await SharedService.RefreshData(true);\n\n const md = new Metadata();\n\n if (!md.CurrentUser) {\n return {\n success: false,\n error: {\n message: \"You don't have access to the application, contact your system administrator.\",\n type: 'no_access'\n }\n };\n }\n\n return { success: true };\n }\n\n /**\n * Run startup validation checks (if validation service is provided)\n */\n runValidationChecks(): void {\n if (!this.startupValidationService) {\n return; // No validation service provided\n }\n\n // Small delay to ensure everything is initialized\n setTimeout(() => {\n this.startupValidationService?.validateSystemSetup();\n }, 500);\n }\n\n /**\n * Navigate to initial route after successful login\n */\n navigateToInitialRoute(initialPath: string, document: Document): void {\n localStorage.removeItem('jwt-retry-ts');\n\n if (initialPath === '/') {\n // Use first nav item instead\n setTimeout(() => {\n // Find the KendoDrawer element and simulate a click for the first item\n const drawerElement = document.querySelector('li.k-drawer-item.k-level-0') as any;\n if (drawerElement) drawerElement.click();\n }, 10); // Wait for the drawer to finish render\n } else {\n this.router.navigateByUrl(initialPath, { replaceUrl: true });\n }\n }\n\n /**\n * Check if error is related to missing user roles\n */\n isNoUserRolesError(err: any): boolean {\n try {\n if (!err || typeof err !== 'object') return false;\n\n // Check for GraphQL-style errors\n if (err.response && Array.isArray(err.response.errors)) {\n return err.response.errors.some((e: any) =>\n e && e.message && typeof e.message === 'string' &&\n e.message.includes('does not have read permissions on User Roles')\n );\n }\n\n // Check for specific \"ResourceTypes\" error\n if (err.toString && typeof err.toString === 'function') {\n const errorString = err.toString();\n if (errorString.includes(\"Cannot read properties of undefined (reading 'ResourceTypes')\")) {\n return true;\n }\n }\n\n // Check for error message directly on the error object\n if (err.message && typeof err.message === 'string') {\n const message = err.message;\n return message.includes('does not have read permissions on User Roles') ||\n message.includes(\"Cannot read properties of undefined (reading 'ResourceTypes')\");\n }\n\n // Check for nested error object\n if (err.error && typeof err.error === 'object') {\n return this.isNoUserRolesError(err.error);\n }\n\n return false;\n } catch (e) {\n console.error('Error while checking for user roles error:', e);\n return false;\n }\n }\n\n /**\n * Handle no roles error by showing validation banner (if validation service is provided)\n */\n handleNoRolesError(): InitializationResult {\n this.startupValidationService?.addNoRolesValidationIssue();\n\n return {\n success: false,\n error: {\n message: 'User has no roles assigned',\n type: 'no_roles',\n showValidationOnly: true\n }\n };\n }\n\n /**\n * Handle authentication retry logic\n */\n async handleAuthRetry(err: any): Promise<boolean> {\n const retryKey = 'auth-retry-dt';\n const lastRetryDateTime = localStorage.getItem(retryKey);\n const yesterday = +new Date(Date.now() - 1 * 24 * 60 * 60 * 1000);\n const retriedRecently = lastRetryDateTime && +new Date(lastRetryDateTime) > yesterday;\n\n const authError = this.authBase.classifyError(err);\n const isTokenExpired = authError.type === AuthErrorType.TOKEN_EXPIRED;\n\n if (!retriedRecently && isTokenExpired) {\n console.log('JWT Expired, retrying once: ' + err);\n localStorage.setItem(retryKey, new Date().toISOString());\n await this.authBase.login({ appState: { target: window.location.pathname } }).toPromise();\n return true;\n }\n\n return false;\n }\n\n /**\n * Get auth error message for display\n */\n getAuthErrorMessage(err: unknown): string {\n const authError = this.authBase.classifyError(err);\n\n switch (authError.type) {\n case AuthErrorType.NO_ACTIVE_SESSION:\n return \"Welcome back! Please log in to your account.\";\n case AuthErrorType.INTERACTION_REQUIRED:\n case AuthErrorType.TOKEN_EXPIRED:\n return \"Your session has expired. Please log in to your account.\";\n default:\n return authError.userMessage || \"Welcome back! Please log in to your account.\";\n }\n }\n}\n","/**\n * MemberJunction 3.0 Auth Shell Component\n *\n * Handles authentication flow and initialization for MJ applications.\n * This component encapsulates all the auth logic that was previously in app.component.ts\n */\n\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { take } from 'rxjs/operators';\nimport { SetProductionStatus, LogError, LogStatus } from '@memberjunction/core';\nimport { MJAuthBase, StandardUserInfo, AuthErrorType } from '@memberjunction/ng-auth-services';\nimport { MJInitializationService } from '../services/initialization.service';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from '../bootstrap.types';\n\n@Component({\n standalone: false,\n selector: 'mj-auth-shell',\n template: `\n <div class=\"mj-auth-shell\">\n @if (!HasError || showValidationOnly) {\n <ng-content></ng-content>\n }\n \n @if (HasError && !showValidationOnly) {\n <div class=\"error-container\">\n <h2>Error</h2>\n <p>{{ ErrorMessage }}</p>\n </div>\n }\n </div>\n `,\n styles: [`\n .mj-auth-shell {\n width: 100%;\n height: 100%;\n display: block;\n }\n\n .error-container {\n padding: 20px;\n text-align: center;\n }\n\n .error-container h2 {\n color: #d32f2f;\n margin-bottom: 10px;\n }\n `]\n})\nexport class MJAuthShellComponent implements OnInit {\n public HasError = false;\n public ErrorMessage: any = '';\n public showValidationOnly = false;\n public subHeaderText: string = \"Welcome back! Please log in to your account.\";\n\n private initialPath = '/';\n\n constructor(\n private router: Router,\n @Inject(DOCUMENT) public document: Document,\n public authBase: MJAuthBase,\n private initService: MJInitializationService,\n @Inject(MJ_ENVIRONMENT) private environment: MJEnvironmentConfig\n ) {}\n\n async ngOnInit() {\n console.log('🚀 MemberJunction 3.0 - Auth Shell Initializing');\n\n SetProductionStatus(this.environment.production);\n this.initialPath = window.location.pathname + (window.location.search ? window.location.search : '');\n\n await this.setupAuth();\n }\n\n /**\n * Handle successful login and initialize the application\n */\n async handleLogin(token: string, userInfo: StandardUserInfo): Promise<void> {\n if (!token) return;\n\n try {\n // Initialize GraphQL client\n await this.initService.initializeGraphQL(token, this.environment);\n\n // Validate user access and refresh data\n const validationResult = await this.initService.validateUserAccess();\n\n if (!validationResult.success) {\n this.HasError = true;\n this.ErrorMessage = validationResult.error!.message;\n throw new Error(this.ErrorMessage);\n }\n\n // Run startup validation checks\n this.initService.runValidationChecks();\n\n // Navigate to initial route\n this.initService.navigateToInitialRoute(this.initialPath, this.document);\n\n } catch (err: any) {\n // Check for no roles error\n if (this.initService.isNoUserRolesError(err)) {\n this.showValidationOnly = true;\n this.HasError = true;\n const result = this.initService.handleNoRolesError();\n return; // Don't throw, allow UI to show validation banner\n }\n\n // Try auth retry if applicable\n const retried = await this.initService.handleAuthRetry(err);\n if (retried) {\n return; // Retry initiated\n }\n\n // Show error\n this.HasError = true;\n this.ErrorMessage = err;\n LogError('Error Logging In: ' + err);\n throw err;\n }\n }\n\n /**\n * Setup authentication and handle auth state changes\n */\n async setupAuth(): Promise<void> {\n // Auth provider already initialized by APP_INITIALIZER\n\n // Listen for user info changes\n this.authBase.getUserInfo()\n .pipe(take(1))\n .subscribe({\n next: async (userInfo) => {\n if (userInfo) {\n const token = await this.authBase.getIdToken();\n\n if (token) {\n await this.handleLogin(token, userInfo);\n } else {\n console.error('User info available but no token found');\n }\n }\n },\n error: (err: unknown) => {\n LogError('Error Logging In: ' + err);\n this.subHeaderText = this.initService.getAuthErrorMessage(err);\n }\n });\n\n // Check if user is authenticated\n this.authBase.isAuthenticated()\n .pipe(take(1))\n .subscribe((loggedIn: boolean) => {\n if (!loggedIn) {\n // Display login screen - auth state is managed by provider\n console.log('User not authenticated, showing login screen');\n }\n });\n }\n}\n","/**\n * MemberJunction 3.0 Bootstrap Module\n *\n * Provides the MJBootstrapComponent and all necessary services for MemberJunction Angular applications.\n * This module encapsulates all the authentication and initialization logic that was previously\n * spread across app.component.ts and app.module.ts.\n *\n * Usage:\n * ```typescript\n * @NgModule({\n * imports: [\n * BrowserModule,\n * BrowserAnimationsModule,\n * MJBootstrapModule.forRoot(environment),\n * // ... other MJ modules\n * ],\n * bootstrap: [AppComponent]\n * })\n * export class AppModule {}\n * ```\n */\n\nimport { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJBootstrapComponent } from './bootstrap.component';\nimport { MJAuthShellComponent } from './components/auth-shell.component';\nimport { MJInitializationService } from './services/initialization.service';\nimport { MJEnvironmentConfig, MJ_ENVIRONMENT } from './bootstrap.types';\nimport { MJAuthBase } from '@memberjunction/ng-auth-services';\n\n/**\n * Initialize auth provider before Angular routing starts\n * This ensures auth providers can process OAuth redirect responses before Angular's router\n * consumes the URL hash\n */\nexport function initializeAuth(authService: MJAuthBase): () => Promise<void> {\n return () => authService.initialize();\n}\n\n@NgModule({\n declarations: [\n MJBootstrapComponent,\n MJAuthShellComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MJBootstrapComponent,\n MJAuthShellComponent\n ]\n})\nexport class MJBootstrapModule {\n /**\n * Configure the bootstrap module with environment settings\n *\n * @param environment - Environment configuration for the application\n * @returns ModuleWithProviders with environment configuration and all services\n *\n * @example\n * ```typescript\n * import { environment } from '../environments/environment';\n *\n * @NgModule({\n * imports: [\n * MJBootstrapModule.forRoot(environment)\n * ]\n * })\n * export class AppModule {}\n * ```\n */\n static forRoot(environment: MJEnvironmentConfig): ModuleWithProviders<MJBootstrapModule> {\n return {\n ngModule: MJBootstrapModule,\n providers: [\n { provide: MJ_ENVIRONMENT, useValue: environment },\n // MJInitializationService uses providedIn: 'root'\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAuth,\n deps: [MJAuthBase],\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * AUTO-GENERATED FILE - DO NOT EDIT\n * Generated by mj codegen manifest\n * App: @memberjunction/ng-bootstrap\n * Dependency tree: 490 packages walked, 14 contain @RegisterClass\n *\n * This file imports every @RegisterClass decorated class by name and places\n * them in an exported array, creating a static code path that prevents\n * tree-shaking from removing them.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @memberjunction/actions-base (2 classes)\nimport {\n ActionEntityExtended,\n EntityActionEntityExtended,\n} from '@memberjunction/actions-base';\n\n// @memberjunction/ai-core-plus (7 classes)\nimport {\n AIAgentEntityExtended,\n AIAgentRunEntityExtended,\n AIAgentRunStepEntityExtended,\n AIModelEntityExtended,\n AIPromptCategoryEntityExtended,\n AIPromptEntityExtended,\n AIPromptRunEntityExtended,\n} from '@memberjunction/ai-core-plus';\n\n// @memberjunction/ai-engine-base (4 classes)\nimport {\n AICredentialBindingEntityExtended,\n PerHundredThousandTokensPriceUnitType,\n PerMillionTokensPriceUnitType,\n PerThousandTokensPriceUnitType,\n} from '@memberjunction/ai-engine-base';\n\n// @memberjunction/communication-types (1 classes)\nimport {\n CommunicationProviderEntityExtended,\n} from '@memberjunction/communication-types';\n\n// @memberjunction/core-entities (282 classes)\nimport {\n AIActionEntity,\n AIAgentActionEntity,\n AIAgentArtifactTypeEntity,\n AIAgentConfigurationEntity,\n AIAgentDataSourceEntity,\n AIAgentEntity,\n AIAgentExampleEntity,\n AIAgentLearningCycleEntity,\n AIAgentModalityEntity,\n AIAgentModelEntity,\n AIAgentNoteEntity,\n AIAgentNoteTypeEntity,\n AIAgentPermissionEntity,\n AIAgentPromptEntity,\n AIAgentRelationshipEntity,\n AIAgentRequestEntity,\n AIAgentRunEntity,\n AIAgentRunMediaEntity,\n AIAgentRunStepEntity,\n AIAgentStepEntity,\n AIAgentStepPathEntity,\n AIAgentTypeEntity,\n AIArchitectureEntity,\n AIConfigurationEntity,\n AIConfigurationParamEntity,\n AICredentialBindingEntity,\n AIModalityEntity,\n AIModelActionEntity,\n AIModelArchitectureEntity,\n AIModelCostEntity,\n AIModelEntity,\n AIModelModalityEntity,\n AIModelPriceTypeEntity,\n AIModelPriceUnitTypeEntity,\n AIModelTypeEntity,\n AIModelVendorEntity,\n AIPromptCategoryEntity,\n AIPromptEntity,\n AIPromptModelEntity,\n AIPromptRunEntity,\n AIPromptRunMediaEntity,\n AIPromptTypeEntity,\n AIResultCacheEntity,\n AIVendorEntity,\n AIVendorTypeDefinitionEntity,\n AIVendorTypeEntity,\n APIApplicationEntity,\n APIApplicationScopeEntity,\n APIKeyApplicationEntity,\n APIKeyEntity,\n APIKeyScopeEntity,\n APIKeyUsageLogEntity,\n APIScopeEntity,\n AccessControlRuleEntity,\n ActionAuthorizationEntity,\n ActionCategoryEntity,\n ActionContextEntity,\n ActionContextTypeEntity,\n ActionEntity,\n ActionExecutionLogEntity,\n ActionFilterEntity,\n ActionLibraryEntity,\n ActionParamEntity,\n ActionResultCodeEntity,\n ApplicationEntity,\n ApplicationEntityEntity,\n ApplicationSettingEntity,\n ArtifactEntity,\n ArtifactPermissionEntity,\n ArtifactTypeEntity,\n ArtifactUseEntity,\n ArtifactVersionAttributeEntity,\n ArtifactVersionEntity,\n AuditLogEntity,\n AuditLogTypeEntity,\n AuthorizationEntity,\n AuthorizationRoleEntity,\n CollectionArtifactEntity,\n CollectionEntity,\n CollectionPermissionEntity,\n CommunicationBaseMessageTypeEntity,\n CommunicationLogEntity,\n CommunicationProviderEntity,\n CommunicationProviderMessageTypeEntity,\n CommunicationRunEntity,\n CompanyEntity,\n CompanyIntegrationEntity,\n CompanyIntegrationRecordMapEntity,\n CompanyIntegrationRunAPILogEntity,\n CompanyIntegrationRunDetailEntity,\n CompanyIntegrationRunEntity,\n ComponentDependencyEntity,\n ComponentEntity,\n ComponentEntityExtended,\n ComponentLibraryEntity,\n ComponentLibraryLinkEntity,\n ComponentRegistryEntity,\n ContentFileTypeEntity,\n ContentItemAttributeEntity,\n ContentItemEntity,\n ContentItemTagEntity,\n ContentProcessRunEntity,\n ContentSourceEntity,\n ContentSourceParamEntity,\n ContentSourceTypeEntity,\n ContentSourceTypeParamEntity,\n ContentTypeAttributeEntity,\n ContentTypeEntity,\n ConversationArtifactEntity,\n ConversationArtifactPermissionEntity,\n ConversationArtifactVersionEntity,\n ConversationDetailArtifactEntity,\n ConversationDetailAttachmentEntity,\n ConversationDetailEntity,\n ConversationDetailRatingEntity,\n ConversationEntity,\n CredentialCategoryEntity,\n CredentialEntity,\n CredentialTypeEntity,\n DashboardCategoryEntity,\n DashboardCategoryLinkEntity,\n DashboardCategoryPermissionEntity,\n DashboardEntity,\n DashboardEntityExtended,\n DashboardPartTypeEntity,\n DashboardPermissionEntity,\n DashboardUserPreferenceEntity,\n DashboardUserStateEntity,\n DataContextEntity,\n DataContextItemEntity,\n DatasetEntity,\n DatasetItemEntity,\n DuplicateRunDetailEntity,\n DuplicateRunDetailMatchEntity,\n DuplicateRunEntity,\n EmployeeCompanyIntegrationEntity,\n EmployeeEntity,\n EmployeeRoleEntity,\n EmployeeSkillEntity,\n EncryptionAlgorithmEntity,\n EncryptionKeyEntity,\n EncryptionKeySourceEntity,\n EntityAIActionEntity,\n EntityActionEntity,\n EntityActionFilterEntity,\n EntityActionInvocationEntity,\n EntityActionInvocationTypeEntity,\n EntityActionParamEntity,\n EntityCommunicationFieldEntity,\n EntityCommunicationMessageTypeEntity,\n EntityDocumentEntity,\n EntityDocumentRunEntity,\n EntityDocumentSettingEntity,\n EntityDocumentTypeEntity,\n EntityEntity,\n EntityEntityExtended,\n EntityFieldEntity,\n EntityFieldEntityExtended,\n EntityFieldValueEntity,\n EntityPermissionEntity,\n EntityRecordDocumentEntity,\n EntityRelationshipDisplayComponentEntity,\n EntityRelationshipEntity,\n EntitySettingEntity,\n EnvironmentEntity,\n EnvironmentEntityExtended,\n ErrorLogEntity,\n ExplorerNavigationItemEntity,\n FileCategoryEntity,\n FileEntity,\n FileEntityRecordLinkEntity,\n FileStorageAccountEntity,\n FileStorageProviderEntity,\n GeneratedCodeCategoryEntity,\n GeneratedCodeEntity,\n IntegrationEntity,\n IntegrationURLFormatEntity,\n LibraryEntity,\n LibraryItemEntity,\n ListCategoryEntity,\n ListDetailEntity,\n ListDetailEntityExtended,\n ListEntity,\n ListInvitationEntity,\n ListShareEntity,\n MCPServerConnectionEntity,\n MCPServerConnectionPermissionEntity,\n MCPServerConnectionToolEntity,\n MCPServerEntity,\n MCPServerToolEntity,\n MCPToolExecutionLogEntity,\n OAuthAuthServerMetadataCacheEntity,\n OAuthAuthorizationStateEntity,\n OAuthClientRegistrationEntity,\n OAuthTokenEntity,\n OutputDeliveryTypeEntity,\n OutputFormatTypeEntity,\n OutputTriggerTypeEntity,\n ProjectEntity,\n PublicLinkEntity,\n QueryCategoryEntity,\n QueryEntity,\n QueryEntityEntity,\n QueryFieldEntity,\n QueryParameterEntity,\n QueryPermissionEntity,\n QueueEntity,\n QueueTaskEntity,\n QueueTypeEntity,\n RecommendationEntity,\n RecommendationItemEntity,\n RecommendationProviderEntity,\n RecommendationRunEntity,\n RecordChangeEntity,\n RecordChangeReplayRunEntity,\n RecordLinkEntity,\n RecordMergeDeletionLogEntity,\n RecordMergeLogEntity,\n ReportCategoryEntity,\n ReportEntity,\n ReportSnapshotEntity,\n ReportUserStateEntity,\n ReportVersionEntity,\n ResourceLinkEntity,\n ResourcePermissionEntity,\n ResourcePermissionEntityExtended,\n ResourceTypeEntity,\n RoleEntity,\n RowLevelSecurityFilterEntity,\n ScheduledActionEntity,\n ScheduledActionEntityExtended,\n ScheduledActionParamEntity,\n ScheduledJobEntity,\n ScheduledJobRunEntity,\n ScheduledJobTypeEntity,\n SchemaInfoEntity,\n SkillEntity,\n TagEntity,\n TaggedItemEntity,\n TaskDependencyEntity,\n TaskEntity,\n TaskTypeEntity,\n TemplateCategoryEntity,\n TemplateContentEntity,\n TemplateContentTypeEntity,\n TemplateEntity,\n TemplateEntityExtended,\n TemplateParamEntity,\n TestEntity,\n TestRubricEntity,\n TestRunEntity,\n TestRunFeedbackEntity,\n TestSuiteEntity,\n TestSuiteRunEntity,\n TestSuiteTestEntity,\n TestTypeEntity,\n UserApplicationEntity,\n UserApplicationEntityEntity,\n UserEntity,\n UserFavoriteEntity,\n UserNotificationEntity,\n UserNotificationPreferenceEntity,\n UserNotificationTypeEntity,\n UserRecordLogEntity,\n UserRoleEntity,\n UserSettingEntity,\n UserViewCategoryEntity,\n UserViewEntity,\n UserViewEntityExtended,\n UserViewRunDetailEntity,\n UserViewRunEntity,\n VectorDatabaseEntity,\n VectorIndexEntity,\n VersionInstallationEntity,\n VersionLabelEntity,\n VersionLabelItemEntity,\n VersionLabelRestoreEntity,\n WorkflowEngineEntity,\n WorkflowEntity,\n WorkflowRunEntity,\n WorkspaceEntity,\n WorkspaceItemEntity,\n} from '@memberjunction/core-entities';\n\n// @memberjunction/entity-communications-base (1 classes)\nimport {\n EntityCommunicationMessageTypeExtended,\n} from '@memberjunction/entity-communications-base';\n\n// @memberjunction/ng-artifacts (6 classes)\nimport {\n CodeArtifactViewerComponent,\n ComponentArtifactViewerComponent,\n HtmlArtifactViewerComponent,\n JsonArtifactViewerComponent,\n MarkdownArtifactViewerComponent,\n SvgArtifactViewerComponent,\n} from '@memberjunction/ng-artifacts';\n\n// @memberjunction/ng-auth-services (3 classes)\nimport {\n MJAuth0Provider,\n MJMSALProvider,\n MJOktaProvider,\n} from '@memberjunction/ng-auth-services';\n\n// @memberjunction/ng-core-entity-forms (1 classes)\nimport {\n FlowAgentFormSectionComponent,\n} from '@memberjunction/ng-core-entity-forms';\n\n// @memberjunction/ng-dashboard-viewer (8 classes)\nimport {\n ArtifactConfigPanelComponent,\n ArtifactPartComponent,\n QueryConfigPanelComponent,\n QueryPartComponent,\n ViewConfigPanelComponent,\n ViewPartComponent,\n WebURLConfigPanelComponent,\n WebURLPartComponent,\n} from '@memberjunction/ng-dashboard-viewer';\n\n// @memberjunction/ng-dashboards (52 classes)\nimport {\n APIKeysResourceComponent,\n ActionExplorerComponent,\n ActionsOverviewComponent,\n AgentConfigurationComponent,\n CodeManagementComponent,\n CommunicationDashboardComponent,\n CommunicationLogsResourceComponent,\n CommunicationMonitorResourceComponent,\n CommunicationProvidersResourceComponent,\n CommunicationRunsResourceComponent,\n CommunicationTemplatesResourceComponent,\n ComponentStudioDashboardComponent,\n CredentialsAuditResourceComponent,\n CredentialsCategoriesResourceComponent,\n CredentialsDashboardComponent,\n CredentialsListResourceComponent,\n CredentialsOverviewResourceComponent,\n CredentialsTypesResourceComponent,\n DashboardBrowserResourceComponent,\n DataExplorerDashboardComponent,\n DataExplorerResourceComponent,\n EntityAdminDashboardComponent,\n EntityIntegrationComponent,\n ExecutionMonitoringComponent,\n HomeApplication,\n HomeDashboardComponent,\n ListsBrowseResource,\n ListsCategoriesResource,\n ListsMyListsResource,\n ListsOperationsResource,\n MCPDashboardComponent,\n ModelManagementComponent,\n PromptManagementComponent,\n QueryBrowserResourceComponent,\n ScheduledActionsComponent,\n SchedulingActivityResourceComponent,\n SchedulingDashboardComponent,\n SchedulingJobsResourceComponent,\n SchedulingOverviewResourceComponent,\n SecurityPermissionsComponent,\n SystemConfigurationComponent,\n SystemDiagnosticsComponent,\n TestingAnalyticsResourceComponent,\n TestingDashboardComponent,\n TestingDashboardTabResourceComponent,\n TestingExplorerResourceComponent,\n TestingReviewResourceComponent,\n TestingRunsResourceComponent,\n VersionHistoryDiffResourceComponent,\n VersionHistoryGraphResourceComponent,\n VersionHistoryLabelsResourceComponent,\n VersionHistoryRestoreResourceComponent,\n} from '@memberjunction/ng-dashboards';\n\n// @memberjunction/ng-explorer-core (8 classes)\nimport {\n ArtifactResource,\n ChatConversationsResource,\n DashboardResource,\n EntityRecordResource,\n ListDetailResource,\n QueryResource,\n SearchResultsResource,\n UserViewResource,\n} from '@memberjunction/ng-explorer-core';\n\n// @memberjunction/ng-explorer-settings (6 classes)\nimport {\n ApplicationManagementComponent,\n EntityPermissionsComponent,\n RoleManagementComponent,\n SettingsComponent,\n SqlLoggingComponent,\n UserManagementComponent,\n} from '@memberjunction/ng-explorer-settings';\n\n// @memberjunction/ng-file-storage (1 classes)\nimport {\n FileBrowserResource,\n} from '@memberjunction/ng-file-storage';\n\n/**\n * Runtime references to every @RegisterClass decorated class.\n * This array creates a static code path the bundler cannot tree-shake.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const CLASS_REGISTRATIONS: any[] = [\n ActionEntityExtended,\n EntityActionEntityExtended,\n AIAgentEntityExtended,\n AIAgentRunEntityExtended,\n AIAgentRunStepEntityExtended,\n AIModelEntityExtended,\n AIPromptCategoryEntityExtended,\n AIPromptEntityExtended,\n AIPromptRunEntityExtended,\n AICredentialBindingEntityExtended,\n PerHundredThousandTokensPriceUnitType,\n PerMillionTokensPriceUnitType,\n PerThousandTokensPriceUnitType,\n CommunicationProviderEntityExtended,\n AIActionEntity,\n AIAgentActionEntity,\n AIAgentArtifactTypeEntity,\n AIAgentConfigurationEntity,\n AIAgentDataSourceEntity,\n AIAgentEntity,\n AIAgentExampleEntity,\n AIAgentLearningCycleEntity,\n AIAgentModalityEntity,\n AIAgentModelEntity,\n AIAgentNoteEntity,\n AIAgentNoteTypeEntity,\n AIAgentPermissionEntity,\n AIAgentPromptEntity,\n AIAgentRelationshipEntity,\n AIAgentRequestEntity,\n AIAgentRunEntity,\n AIAgentRunMediaEntity,\n AIAgentRunStepEntity,\n AIAgentStepEntity,\n AIAgentStepPathEntity,\n AIAgentTypeEntity,\n AIArchitectureEntity,\n AIConfigurationEntity,\n AIConfigurationParamEntity,\n AICredentialBindingEntity,\n AIModalityEntity,\n AIModelActionEntity,\n AIModelArchitectureEntity,\n AIModelCostEntity,\n AIModelEntity,\n AIModelModalityEntity,\n AIModelPriceTypeEntity,\n AIModelPriceUnitTypeEntity,\n AIModelTypeEntity,\n AIModelVendorEntity,\n AIPromptCategoryEntity,\n AIPromptEntity,\n AIPromptModelEntity,\n AIPromptRunEntity,\n AIPromptRunMediaEntity,\n AIPromptTypeEntity,\n AIResultCacheEntity,\n AIVendorEntity,\n AIVendorTypeDefinitionEntity,\n AIVendorTypeEntity,\n APIApplicationEntity,\n APIApplicationScopeEntity,\n APIKeyApplicationEntity,\n APIKeyEntity,\n APIKeyScopeEntity,\n APIKeyUsageLogEntity,\n APIScopeEntity,\n AccessControlRuleEntity,\n ActionAuthorizationEntity,\n ActionCategoryEntity,\n ActionContextEntity,\n ActionContextTypeEntity,\n ActionEntity,\n ActionExecutionLogEntity,\n ActionFilterEntity,\n ActionLibraryEntity,\n ActionParamEntity,\n ActionResultCodeEntity,\n ApplicationEntity,\n ApplicationEntityEntity,\n ApplicationSettingEntity,\n ArtifactEntity,\n ArtifactPermissionEntity,\n ArtifactTypeEntity,\n ArtifactUseEntity,\n ArtifactVersionAttributeEntity,\n ArtifactVersionEntity,\n AuditLogEntity,\n AuditLogTypeEntity,\n AuthorizationEntity,\n AuthorizationRoleEntity,\n CollectionArtifactEntity,\n CollectionEntity,\n CollectionPermissionEntity,\n CommunicationBaseMessageTypeEntity,\n CommunicationLogEntity,\n CommunicationProviderEntity,\n CommunicationProviderMessageTypeEntity,\n CommunicationRunEntity,\n CompanyEntity,\n CompanyIntegrationEntity,\n CompanyIntegrationRecordMapEntity,\n CompanyIntegrationRunAPILogEntity,\n CompanyIntegrationRunDetailEntity,\n CompanyIntegrationRunEntity,\n ComponentDependencyEntity,\n ComponentEntity,\n ComponentEntityExtended,\n ComponentLibraryEntity,\n ComponentLibraryLinkEntity,\n ComponentRegistryEntity,\n ContentFileTypeEntity,\n ContentItemAttributeEntity,\n ContentItemEntity,\n ContentItemTagEntity,\n ContentProcessRunEntity,\n ContentSourceEntity,\n ContentSourceParamEntity,\n ContentSourceTypeEntity,\n ContentSourceTypeParamEntity,\n ContentTypeAttributeEntity,\n ContentTypeEntity,\n ConversationArtifactEntity,\n ConversationArtifactPermissionEntity,\n ConversationArtifactVersionEntity,\n ConversationDetailArtifactEntity,\n ConversationDetailAttachmentEntity,\n ConversationDetailEntity,\n ConversationDetailRatingEntity,\n ConversationEntity,\n CredentialCategoryEntity,\n CredentialEntity,\n CredentialTypeEntity,\n DashboardCategoryEntity,\n DashboardCategoryLinkEntity,\n DashboardCategoryPermissionEntity,\n DashboardEntity,\n DashboardEntityExtended,\n DashboardPartTypeEntity,\n DashboardPermissionEntity,\n DashboardUserPreferenceEntity,\n DashboardUserStateEntity,\n DataContextEntity,\n DataContextItemEntity,\n DatasetEntity,\n DatasetItemEntity,\n DuplicateRunDetailEntity,\n DuplicateRunDetailMatchEntity,\n DuplicateRunEntity,\n EmployeeCompanyIntegrationEntity,\n EmployeeEntity,\n EmployeeRoleEntity,\n EmployeeSkillEntity,\n EncryptionAlgorithmEntity,\n EncryptionKeyEntity,\n EncryptionKeySourceEntity,\n EntityAIActionEntity,\n EntityActionEntity,\n EntityActionFilterEntity,\n EntityActionInvocationEntity,\n EntityActionInvocationTypeEntity,\n EntityActionParamEntity,\n EntityCommunicationFieldEntity,\n EntityCommunicationMessageTypeEntity,\n EntityDocumentEntity,\n EntityDocumentRunEntity,\n EntityDocumentSettingEntity,\n EntityDocumentTypeEntity,\n EntityEntity,\n EntityEntityExtended,\n EntityFieldEntity,\n EntityFieldEntityExtended,\n EntityFieldValueEntity,\n EntityPermissionEntity,\n EntityRecordDocumentEntity,\n EntityRelationshipDisplayComponentEntity,\n EntityRelationshipEntity,\n EntitySettingEntity,\n EnvironmentEntity,\n EnvironmentEntityExtended,\n ErrorLogEntity,\n ExplorerNavigationItemEntity,\n FileCategoryEntity,\n FileEntity,\n FileEntityRecordLinkEntity,\n FileStorageAccountEntity,\n FileStorageProviderEntity,\n GeneratedCodeCategoryEntity,\n GeneratedCodeEntity,\n IntegrationEntity,\n IntegrationURLFormatEntity,\n LibraryEntity,\n LibraryItemEntity,\n ListCategoryEntity,\n ListDetailEntity,\n ListDetailEntityExtended,\n ListEntity,\n ListInvitationEntity,\n ListShareEntity,\n MCPServerConnectionEntity,\n MCPServerConnectionPermissionEntity,\n MCPServerConnectionToolEntity,\n MCPServerEntity,\n MCPServerToolEntity,\n MCPToolExecutionLogEntity,\n OAuthAuthServerMetadataCacheEntity,\n OAuthAuthorizationStateEntity,\n OAuthClientRegistrationEntity,\n OAuthTokenEntity,\n OutputDeliveryTypeEntity,\n OutputFormatTypeEntity,\n OutputTriggerTypeEntity,\n ProjectEntity,\n PublicLinkEntity,\n QueryCategoryEntity,\n QueryEntity,\n QueryEntityEntity,\n QueryFieldEntity,\n QueryParameterEntity,\n QueryPermissionEntity,\n QueueEntity,\n QueueTaskEntity,\n QueueTypeEntity,\n RecommendationEntity,\n RecommendationItemEntity,\n RecommendationProviderEntity,\n RecommendationRunEntity,\n RecordChangeEntity,\n RecordChangeReplayRunEntity,\n RecordLinkEntity,\n RecordMergeDeletionLogEntity,\n RecordMergeLogEntity,\n ReportCategoryEntity,\n ReportEntity,\n ReportSnapshotEntity,\n ReportUserStateEntity,\n ReportVersionEntity,\n ResourceLinkEntity,\n ResourcePermissionEntity,\n ResourcePermissionEntityExtended,\n ResourceTypeEntity,\n RoleEntity,\n RowLevelSecurityFilterEntity,\n ScheduledActionEntity,\n ScheduledActionEntityExtended,\n ScheduledActionParamEntity,\n ScheduledJobEntity,\n ScheduledJobRunEntity,\n ScheduledJobTypeEntity,\n SchemaInfoEntity,\n SkillEntity,\n TagEntity,\n TaggedItemEntity,\n TaskDependencyEntity,\n TaskEntity,\n TaskTypeEntity,\n TemplateCategoryEntity,\n TemplateContentEntity,\n TemplateContentTypeEntity,\n TemplateEntity,\n TemplateEntityExtended,\n TemplateParamEntity,\n TestEntity,\n TestRubricEntity,\n TestRunEntity,\n TestRunFeedbackEntity,\n TestSuiteEntity,\n TestSuiteRunEntity,\n TestSuiteTestEntity,\n TestTypeEntity,\n UserApplicationEntity,\n UserApplicationEntityEntity,\n UserEntity,\n UserFavoriteEntity,\n UserNotificationEntity,\n UserNotificationPreferenceEntity,\n UserNotificationTypeEntity,\n UserRecordLogEntity,\n UserRoleEntity,\n UserSettingEntity,\n UserViewCategoryEntity,\n UserViewEntity,\n UserViewEntityExtended,\n UserViewRunDetailEntity,\n UserViewRunEntity,\n VectorDatabaseEntity,\n VectorIndexEntity,\n VersionInstallationEntity,\n VersionLabelEntity,\n VersionLabelItemEntity,\n VersionLabelRestoreEntity,\n WorkflowEngineEntity,\n WorkflowEntity,\n WorkflowRunEntity,\n WorkspaceEntity,\n WorkspaceItemEntity,\n EntityCommunicationMessageTypeExtended,\n CodeArtifactViewerComponent,\n ComponentArtifactViewerComponent,\n HtmlArtifactViewerComponent,\n JsonArtifactViewerComponent,\n MarkdownArtifactViewerComponent,\n SvgArtifactViewerComponent,\n MJAuth0Provider,\n MJMSALProvider,\n MJOktaProvider,\n FlowAgentFormSectionComponent,\n ArtifactConfigPanelComponent,\n ArtifactPartComponent,\n QueryConfigPanelComponent,\n QueryPartComponent,\n ViewConfigPanelComponent,\n ViewPartComponent,\n WebURLConfigPanelComponent,\n WebURLPartComponent,\n APIKeysResourceComponent,\n ActionExplorerComponent,\n ActionsOverviewComponent,\n AgentConfigurationComponent,\n CodeManagementComponent,\n CommunicationDashboardComponent,\n CommunicationLogsResourceComponent,\n CommunicationMonitorResourceComponent,\n CommunicationProvidersResourceComponent,\n CommunicationRunsResourceComponent,\n CommunicationTemplatesResourceComponent,\n ComponentStudioDashboardComponent,\n CredentialsAuditResourceComponent,\n CredentialsCategoriesResourceComponent,\n CredentialsDashboardComponent,\n CredentialsListResourceComponent,\n CredentialsOverviewResourceComponent,\n CredentialsTypesResourceComponent,\n DashboardBrowserResourceComponent,\n DataExplorerDashboardComponent,\n DataExplorerResourceComponent,\n EntityAdminDashboardComponent,\n EntityIntegrationComponent,\n ExecutionMonitoringComponent,\n HomeApplication,\n HomeDashboardComponent,\n ListsBrowseResource,\n ListsCategoriesResource,\n ListsMyListsResource,\n ListsOperationsResource,\n MCPDashboardComponent,\n ModelManagementComponent,\n PromptManagementComponent,\n QueryBrowserResourceComponent,\n ScheduledActionsComponent,\n SchedulingActivityResourceComponent,\n SchedulingDashboardComponent,\n SchedulingJobsResourceComponent,\n SchedulingOverviewResourceComponent,\n SecurityPermissionsComponent,\n SystemConfigurationComponent,\n SystemDiagnosticsComponent,\n TestingAnalyticsResourceComponent,\n TestingDashboardComponent,\n TestingDashboardTabResourceComponent,\n TestingExplorerResourceComponent,\n TestingReviewResourceComponent,\n TestingRunsResourceComponent,\n VersionHistoryDiffResourceComponent,\n VersionHistoryGraphResourceComponent,\n VersionHistoryLabelsResourceComponent,\n VersionHistoryRestoreResourceComponent,\n ArtifactResource,\n ChatConversationsResource,\n DashboardResource,\n EntityRecordResource,\n ListDetailResource,\n QueryResource,\n SearchResultsResource,\n UserViewResource,\n ApplicationManagementComponent,\n EntityPermissionsComponent,\n RoleManagementComponent,\n SettingsComponent,\n SqlLoggingComponent,\n UserManagementComponent,\n FileBrowserResource,\n];\n\n/** Marker constant indicating the manifest has been loaded. */\nexport const CLASS_REGISTRATIONS_MANIFEST_LOADED = true;\n\n/** Total @RegisterClass decorated classes discovered in dependency tree */\nexport const CLASS_REGISTRATIONS_COUNT = 382;\n\n/** Packages imported by this manifest */\nexport const CLASS_REGISTRATIONS_PACKAGES = [\n '@memberjunction/actions-base',\n '@memberjunction/ai-core-plus',\n '@memberjunction/ai-engine-base',\n '@memberjunction/communication-types',\n '@memberjunction/core-entities',\n '@memberjunction/entity-communications-base',\n '@memberjunction/ng-artifacts',\n '@memberjunction/ng-auth-services',\n '@memberjunction/ng-core-entity-forms',\n '@memberjunction/ng-dashboard-viewer',\n '@memberjunction/ng-dashboards',\n '@memberjunction/ng-explorer-core',\n '@memberjunction/ng-explorer-settings',\n '@memberjunction/ng-file-storage',\n] as const;\n","/**\n * Public API Surface of @memberjunction/ng-bootstrap\n */\n\nexport * from './lib/bootstrap.module';\nexport * from './lib/bootstrap.component';\nexport * from './lib/bootstrap.types';\nexport * from './lib/services/initialization.service';\nexport * from './lib/components/auth-shell.component';\n\n/**\n * Pre-built class registrations manifest for all @memberjunction/* Angular packages.\n * Importing this module prevents tree-shaking of MJ's dynamically registered classes.\n * Generated at MJ build time and ships with the package.\n */\nexport * from './generated/mj-class-registrations';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.MJInitializationService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-bootstrap",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "MemberJunction Angular Bootstrap - Encapsulates all Angular authentication and initialization logic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"memberjunction",
|
|
@@ -17,23 +17,23 @@
|
|
|
17
17
|
"rxjs": "^7.8.2"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@memberjunction/actions-base": "4.
|
|
21
|
-
"@memberjunction/ai-core-plus": "4.
|
|
22
|
-
"@memberjunction/ai-engine-base": "4.
|
|
23
|
-
"@memberjunction/communication-types": "4.
|
|
24
|
-
"@memberjunction/core": "4.
|
|
25
|
-
"@memberjunction/core-entities": "4.
|
|
26
|
-
"@memberjunction/entity-communications-base": "4.
|
|
27
|
-
"@memberjunction/graphql-dataprovider": "4.
|
|
28
|
-
"@memberjunction/ng-artifacts": "4.
|
|
29
|
-
"@memberjunction/ng-auth-services": "4.
|
|
30
|
-
"@memberjunction/ng-core-entity-forms": "4.
|
|
31
|
-
"@memberjunction/ng-dashboard-viewer": "4.
|
|
32
|
-
"@memberjunction/ng-dashboards": "4.
|
|
33
|
-
"@memberjunction/ng-explorer-core": "4.
|
|
34
|
-
"@memberjunction/ng-explorer-settings": "4.
|
|
35
|
-
"@memberjunction/ng-file-storage": "4.
|
|
36
|
-
"@memberjunction/ng-shared": "4.
|
|
20
|
+
"@memberjunction/actions-base": "4.1.0",
|
|
21
|
+
"@memberjunction/ai-core-plus": "4.1.0",
|
|
22
|
+
"@memberjunction/ai-engine-base": "4.1.0",
|
|
23
|
+
"@memberjunction/communication-types": "4.1.0",
|
|
24
|
+
"@memberjunction/core": "4.1.0",
|
|
25
|
+
"@memberjunction/core-entities": "4.1.0",
|
|
26
|
+
"@memberjunction/entity-communications-base": "4.1.0",
|
|
27
|
+
"@memberjunction/graphql-dataprovider": "4.1.0",
|
|
28
|
+
"@memberjunction/ng-artifacts": "4.1.0",
|
|
29
|
+
"@memberjunction/ng-auth-services": "4.1.0",
|
|
30
|
+
"@memberjunction/ng-core-entity-forms": "4.1.0",
|
|
31
|
+
"@memberjunction/ng-dashboard-viewer": "4.1.0",
|
|
32
|
+
"@memberjunction/ng-dashboards": "4.1.0",
|
|
33
|
+
"@memberjunction/ng-explorer-core": "4.1.0",
|
|
34
|
+
"@memberjunction/ng-explorer-settings": "4.1.0",
|
|
35
|
+
"@memberjunction/ng-file-storage": "4.1.0",
|
|
36
|
+
"@memberjunction/ng-shared": "4.1.0",
|
|
37
37
|
"rxjs": "^7.8.2",
|
|
38
38
|
"tslib": "^2.3.0"
|
|
39
39
|
},
|
|
@@ -229,7 +229,7 @@ declare class MJBootstrapModule {
|
|
|
229
229
|
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
230
230
|
* Generated by mj codegen manifest
|
|
231
231
|
* App: @memberjunction/ng-bootstrap
|
|
232
|
-
* Dependency tree:
|
|
232
|
+
* Dependency tree: 490 packages walked, 14 contain @RegisterClass
|
|
233
233
|
*
|
|
234
234
|
* This file imports every @RegisterClass decorated class by name and places
|
|
235
235
|
* them in an exported array, creating a static code path that prevents
|
|
@@ -243,7 +243,7 @@ declare const CLASS_REGISTRATIONS: any[];
|
|
|
243
243
|
/** Marker constant indicating the manifest has been loaded. */
|
|
244
244
|
declare const CLASS_REGISTRATIONS_MANIFEST_LOADED = true;
|
|
245
245
|
/** Total @RegisterClass decorated classes discovered in dependency tree */
|
|
246
|
-
declare const CLASS_REGISTRATIONS_COUNT =
|
|
246
|
+
declare const CLASS_REGISTRATIONS_COUNT = 382;
|
|
247
247
|
/** Packages imported by this manifest */
|
|
248
248
|
declare const CLASS_REGISTRATIONS_PACKAGES: readonly ["@memberjunction/actions-base", "@memberjunction/ai-core-plus", "@memberjunction/ai-engine-base", "@memberjunction/communication-types", "@memberjunction/core-entities", "@memberjunction/entity-communications-base", "@memberjunction/ng-artifacts", "@memberjunction/ng-auth-services", "@memberjunction/ng-core-entity-forms", "@memberjunction/ng-dashboard-viewer", "@memberjunction/ng-dashboards", "@memberjunction/ng-explorer-core", "@memberjunction/ng-explorer-settings", "@memberjunction/ng-file-storage"];
|
|
249
249
|
|