@memberjunction/ng-dashboards 2.42.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.
Files changed (117) hide show
  1. package/dist/AI/ai-dashboard.component.d.ts +54 -0
  2. package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
  3. package/dist/AI/ai-dashboard.component.js +248 -0
  4. package/dist/AI/ai-dashboard.component.js.map +1 -0
  5. package/dist/AI/components/agents/agent-configuration.component.d.ts +41 -0
  6. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -0
  7. package/dist/AI/components/agents/agent-configuration.component.js +325 -0
  8. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -0
  9. package/dist/AI/components/agents/agent-editor.component.d.ts +77 -0
  10. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -0
  11. package/dist/AI/components/agents/agent-editor.component.js +869 -0
  12. package/dist/AI/components/agents/agent-editor.component.js.map +1 -0
  13. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +33 -0
  14. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -0
  15. package/dist/AI/components/agents/agent-filter-panel.component.js +144 -0
  16. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -0
  17. package/dist/AI/components/execution-monitoring.component.d.ts +13 -0
  18. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -0
  19. package/dist/AI/components/execution-monitoring.component.js +30 -0
  20. package/dist/AI/components/execution-monitoring.component.js.map +1 -0
  21. package/dist/AI/components/models/model-management.component.d.ts +73 -0
  22. package/dist/AI/components/models/model-management.component.d.ts.map +1 -0
  23. package/dist/AI/components/models/model-management.component.js +669 -0
  24. package/dist/AI/components/models/model-management.component.js.map +1 -0
  25. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +49 -0
  26. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -0
  27. package/dist/AI/components/prompts/prompt-filter-panel.component.js +186 -0
  28. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -0
  29. package/dist/AI/components/prompts/prompt-management.component.d.ts +113 -0
  30. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -0
  31. package/dist/AI/components/prompts/prompt-management.component.js +1316 -0
  32. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -0
  33. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +33 -0
  34. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -0
  35. package/dist/AI/components/system/system-config-filter-panel.component.js +146 -0
  36. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -0
  37. package/dist/AI/components/system/system-configuration.component.d.ts +37 -0
  38. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -0
  39. package/dist/AI/components/system/system-configuration.component.js +311 -0
  40. package/dist/AI/components/system/system-configuration.component.js.map +1 -0
  41. package/dist/Actions/actions-management-dashboard.component.d.ts +50 -0
  42. package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
  43. package/dist/Actions/actions-management-dashboard.component.js +282 -0
  44. package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
  45. package/dist/Actions/components/actions-list-view.component.d.ts +52 -0
  46. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -0
  47. package/dist/Actions/components/actions-list-view.component.js +366 -0
  48. package/dist/Actions/components/actions-list-view.component.js.map +1 -0
  49. package/dist/Actions/components/actions-overview.component.d.ts +71 -0
  50. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -0
  51. package/dist/Actions/components/actions-overview.component.js +605 -0
  52. package/dist/Actions/components/actions-overview.component.js.map +1 -0
  53. package/dist/Actions/components/categories-list-view.component.d.ts +11 -0
  54. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -0
  55. package/dist/Actions/components/categories-list-view.component.js +35 -0
  56. package/dist/Actions/components/categories-list-view.component.js.map +1 -0
  57. package/dist/Actions/components/code-management.component.d.ts +11 -0
  58. package/dist/Actions/components/code-management.component.d.ts.map +1 -0
  59. package/dist/Actions/components/code-management.component.js +35 -0
  60. package/dist/Actions/components/code-management.component.js.map +1 -0
  61. package/dist/Actions/components/entity-integration.component.d.ts +11 -0
  62. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -0
  63. package/dist/Actions/components/entity-integration.component.js +35 -0
  64. package/dist/Actions/components/entity-integration.component.js.map +1 -0
  65. package/dist/Actions/components/execution-monitoring.component.d.ts +83 -0
  66. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -0
  67. package/dist/Actions/components/execution-monitoring.component.js +629 -0
  68. package/dist/Actions/components/execution-monitoring.component.js.map +1 -0
  69. package/dist/Actions/components/executions-list-view.component.d.ts +11 -0
  70. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -0
  71. package/dist/Actions/components/executions-list-view.component.js +35 -0
  72. package/dist/Actions/components/executions-list-view.component.js.map +1 -0
  73. package/dist/Actions/components/scheduled-actions.component.d.ts +11 -0
  74. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -0
  75. package/dist/Actions/components/scheduled-actions.component.js +35 -0
  76. package/dist/Actions/components/scheduled-actions.component.js.map +1 -0
  77. package/dist/Actions/components/security-permissions.component.d.ts +11 -0
  78. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -0
  79. package/dist/Actions/components/security-permissions.component.js +35 -0
  80. package/dist/Actions/components/security-permissions.component.js.map +1 -0
  81. package/dist/Actions/index.d.ts +11 -0
  82. package/dist/Actions/index.d.ts.map +1 -0
  83. package/dist/Actions/index.js +11 -0
  84. package/dist/Actions/index.js.map +1 -0
  85. package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
  86. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
  87. package/dist/EntityAdmin/components/entity-details.component.js +684 -0
  88. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
  89. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
  90. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
  91. package/dist/EntityAdmin/components/entity-filter-panel.component.js +162 -0
  92. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
  93. package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
  94. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
  95. package/dist/EntityAdmin/components/erd-composite.component.js +288 -0
  96. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
  97. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
  98. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
  99. package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
  100. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
  101. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +50 -0
  102. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -0
  103. package/dist/EntityAdmin/entity-admin-dashboard.component.js +190 -0
  104. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -0
  105. package/dist/generic/base-dashboard.d.ts +65 -0
  106. package/dist/generic/base-dashboard.d.ts.map +1 -0
  107. package/dist/generic/base-dashboard.js +86 -0
  108. package/dist/generic/base-dashboard.js.map +1 -0
  109. package/dist/module.d.ts +43 -0
  110. package/dist/module.d.ts.map +1 -0
  111. package/dist/module.js +141 -0
  112. package/dist/module.js.map +1 -0
  113. package/dist/public-api.d.ts +6 -0
  114. package/dist/public-api.d.ts.map +1 -0
  115. package/dist/public-api.js +18 -0
  116. package/dist/public-api.js.map +1 -0
  117. package/package.json +46 -0
@@ -0,0 +1,54 @@
1
+ import { AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { BaseDashboard } from '../generic/base-dashboard';
3
+ import * as i0 from "@angular/core";
4
+ interface AIDashboardState {
5
+ activeTab: string;
6
+ modelManagementState: any;
7
+ promptManagementState: any;
8
+ agentConfigurationState: any;
9
+ executionMonitoringState: any;
10
+ systemConfigurationState: any;
11
+ }
12
+ export declare class AIDashboardComponent extends BaseDashboard implements AfterViewInit, OnDestroy {
13
+ isLoading: boolean;
14
+ activeTab: string;
15
+ selectedIndex: number;
16
+ promptManagementState: any;
17
+ agentConfigurationState: any;
18
+ systemConfigurationState: any;
19
+ navigationItems: string[];
20
+ get navigationConfig(): {
21
+ text: string;
22
+ icon: string;
23
+ selected: boolean;
24
+ }[];
25
+ get navigationConfigForKendo(): {
26
+ text: string;
27
+ icon: string;
28
+ selected: boolean;
29
+ }[];
30
+ private stateChangeSubject;
31
+ constructor();
32
+ ngAfterViewInit(): void;
33
+ ngOnDestroy(): void;
34
+ onTabChange(tabId: string): void;
35
+ onNavigationChange(event: any): void;
36
+ private setupStateManagement;
37
+ private emitStateChange;
38
+ onPromptManagementStateChange(state: any): void;
39
+ onAgentConfigurationStateChange(state: any): void;
40
+ onSystemConfigurationStateChange(state: any): void;
41
+ loadUserState(state: Partial<AIDashboardState>): void;
42
+ onOpenEntityRecord(data: {
43
+ entityName: string;
44
+ recordId: string;
45
+ } | Event): void;
46
+ initDashboard(): void;
47
+ loadData(): void;
48
+ getCurrentTabLabel(): string;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<AIDashboardComponent, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<AIDashboardComponent, "mj-ai-dashboard", never, {}, {}, never, never, false, never>;
51
+ }
52
+ export declare function LoadAIDashboard(): void;
53
+ export {};
54
+ //# sourceMappingURL=ai-dashboard.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/AI/ai-dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;;AAM1D,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,qBAAqB,EAAE,GAAG,CAAC;IAC3B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,wBAAwB,EAAE,GAAG,CAAC;IAC9B,wBAAwB,EAAE,GAAG,CAAC;CAC/B;AAED,qBAMa,oBAAqB,SAAQ,aAAc,YAAW,aAAa,EAAE,SAAS;IAElF,SAAS,UAAS;IAClB,SAAS,SAAY;IACrB,aAAa,SAAK;IAGlB,qBAAqB,EAAE,GAAG,CAAQ;IAClC,uBAAuB,EAAE,GAAG,CAAQ;IACpC,wBAAwB,EAAE,GAAG,CAAQ;IAGrC,eAAe,EAAE,MAAM,EAAE,CAA2D;IAE3F,IAAW,gBAAgB;;;;QAQ1B;IAED,IAAW,wBAAwB;;;;QAQlC;IAED,OAAO,CAAC,kBAAkB,CAAmC;;IAO7D,eAAe,IAAI,IAAI;IAKvB,WAAW,IAAI,IAAI;IAIZ,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAW3C,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAahB,6BAA6B,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAK/C,+BAA+B,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKjD,gCAAgC,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKlD,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IASrD,kBAAkB,CAAC,IAAI,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,KAAK,GAAG,IAAI;IAarF,aAAa,IAAI,IAAI;IAYrB,QAAQ,IAAI,IAAI;IAKT,kBAAkB,IAAI,MAAM;yCAhJxB,oBAAoB;2CAApB,oBAAoB;CAqJhC;AAED,wBAAgB,eAAe,SAE9B"}
@@ -0,0 +1,248 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component } from '@angular/core';
8
+ import { BaseDashboard } from '../generic/base-dashboard';
9
+ import { RegisterClass } from '@memberjunction/global';
10
+ import { CompositeKey } from '@memberjunction/core';
11
+ import { Subject } from 'rxjs';
12
+ import { debounceTime } from 'rxjs/operators';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@memberjunction/ng-container-directives";
15
+ import * as i2 from "./components/models/model-management.component";
16
+ import * as i3 from "./components/prompts/prompt-management.component";
17
+ import * as i4 from "./components/agents/agent-configuration.component";
18
+ import * as i5 from "./components/execution-monitoring.component";
19
+ import * as i6 from "./components/system/system-configuration.component";
20
+ function AIDashboardComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 3)(2, "div", 4);
22
+ i0.ɵɵelement(3, "div", 5)(4, "div", 5)(5, "div", 5);
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementStart(6, "div", 6);
25
+ i0.ɵɵtext(7, "Loading AI Dashboard...");
26
+ i0.ɵɵelementEnd()()();
27
+ } }
28
+ function AIDashboardComponent_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29
+ const _r1 = i0.ɵɵgetCurrentView();
30
+ i0.ɵɵelementStart(0, "app-model-management", 11);
31
+ i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_2_Conditional_2_Template_app_model_management_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); });
32
+ i0.ɵɵelementEnd();
33
+ } }
34
+ function AIDashboardComponent_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
35
+ const _r3 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "app-prompt-management", 12);
37
+ i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_2_Conditional_3_Template_app_prompt_management_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("stateChange", function AIDashboardComponent_Conditional_2_Conditional_3_Template_app_prompt_management_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPromptManagementStateChange($event)); });
38
+ i0.ɵɵelementEnd();
39
+ } }
40
+ function AIDashboardComponent_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
41
+ const _r4 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "app-agent-configuration", 12);
43
+ i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_2_Conditional_4_Template_app_agent_configuration_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("stateChange", function AIDashboardComponent_Conditional_2_Conditional_4_Template_app_agent_configuration_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAgentConfigurationStateChange($event)); });
44
+ i0.ɵɵelementEnd();
45
+ } }
46
+ function AIDashboardComponent_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
47
+ const _r5 = i0.ɵɵgetCurrentView();
48
+ i0.ɵɵelementStart(0, "app-execution-monitoring", 11);
49
+ i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_2_Conditional_5_Template_app_execution_monitoring_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); });
50
+ i0.ɵɵelementEnd();
51
+ } }
52
+ function AIDashboardComponent_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
53
+ const _r6 = i0.ɵɵgetCurrentView();
54
+ i0.ɵɵelementStart(0, "app-system-configuration", 12);
55
+ i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_2_Conditional_6_Template_app_system_configuration_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("stateChange", function AIDashboardComponent_Conditional_2_Conditional_6_Template_app_system_configuration_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSystemConfigurationStateChange($event)); });
56
+ i0.ɵɵelementEnd();
57
+ } }
58
+ function AIDashboardComponent_Conditional_2_For_9_Template(rf, ctx) { if (rf & 1) {
59
+ const _r7 = i0.ɵɵgetCurrentView();
60
+ i0.ɵɵelementStart(0, "div", 13);
61
+ i0.ɵɵlistener("click", function AIDashboardComponent_Conditional_2_For_9_Template_div_click_0_listener() { const $index_r8 = i0.ɵɵrestoreView(_r7).$index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onTabChange(ctx_r1.navigationItems[$index_r8])); });
62
+ i0.ɵɵelement(1, "i");
63
+ i0.ɵɵelementStart(2, "span");
64
+ i0.ɵɵtext(3);
65
+ i0.ɵɵelementEnd()();
66
+ } if (rf & 2) {
67
+ const navItem_r9 = ctx.$implicit;
68
+ i0.ɵɵclassProp("active", navItem_r9.selected);
69
+ i0.ɵɵadvance();
70
+ i0.ɵɵclassMap(navItem_r9.icon);
71
+ i0.ɵɵadvance(2);
72
+ i0.ɵɵtextInterpolate(navItem_r9.text);
73
+ } }
74
+ function AIDashboardComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 7);
76
+ i0.ɵɵtemplate(2, AIDashboardComponent_Conditional_2_Conditional_2_Template, 1, 0, "app-model-management", 8)(3, AIDashboardComponent_Conditional_2_Conditional_3_Template, 1, 0, "app-prompt-management", 8)(4, AIDashboardComponent_Conditional_2_Conditional_4_Template, 1, 0, "app-agent-configuration", 8)(5, AIDashboardComponent_Conditional_2_Conditional_5_Template, 1, 0, "app-execution-monitoring", 8)(6, AIDashboardComponent_Conditional_2_Conditional_6_Template, 1, 0, "app-system-configuration", 8);
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelementStart(7, "div", 9);
79
+ i0.ɵɵrepeaterCreate(8, AIDashboardComponent_Conditional_2_For_9_Template, 4, 5, "div", 10, i0.ɵɵrepeaterTrackByIndex);
80
+ i0.ɵɵelementEnd()();
81
+ } if (rf & 2) {
82
+ const ctx_r1 = i0.ɵɵnextContext();
83
+ i0.ɵɵadvance(2);
84
+ i0.ɵɵconditional(ctx_r1.activeTab === "models" ? 2 : -1);
85
+ i0.ɵɵadvance();
86
+ i0.ɵɵconditional(ctx_r1.activeTab === "prompts" ? 3 : -1);
87
+ i0.ɵɵadvance();
88
+ i0.ɵɵconditional(ctx_r1.activeTab === "agents" ? 4 : -1);
89
+ i0.ɵɵadvance();
90
+ i0.ɵɵconditional(ctx_r1.activeTab === "monitoring" ? 5 : -1);
91
+ i0.ɵɵadvance();
92
+ i0.ɵɵconditional(ctx_r1.activeTab === "config" ? 6 : -1);
93
+ i0.ɵɵadvance(2);
94
+ i0.ɵɵrepeater(ctx_r1.navigationConfig);
95
+ } }
96
+ let AIDashboardComponent = class AIDashboardComponent extends BaseDashboard {
97
+ get navigationConfig() {
98
+ return [
99
+ { text: 'Models', icon: 'fa-solid fa-microchip', selected: this.activeTab === 'models' },
100
+ { text: 'Prompts', icon: 'fa-solid fa-comment-dots', selected: this.activeTab === 'prompts' },
101
+ { text: 'Agents', icon: 'fa-solid fa-robot', selected: this.activeTab === 'agents' },
102
+ { text: 'Monitor', icon: 'fa-solid fa-chart-line', selected: this.activeTab === 'monitoring' },
103
+ { text: 'Config', icon: 'fa-solid fa-cogs', selected: this.activeTab === 'config' }
104
+ ];
105
+ }
106
+ get navigationConfigForKendo() {
107
+ return [
108
+ { text: 'Models', icon: 'gear', selected: this.activeTab === 'models' },
109
+ { text: 'Prompts', icon: 'comment', selected: this.activeTab === 'prompts' },
110
+ { text: 'Agents', icon: 'user', selected: this.activeTab === 'agents' },
111
+ { text: 'Monitor', icon: 'chart-line', selected: this.activeTab === 'monitoring' },
112
+ { text: 'Config', icon: 'cog', selected: this.activeTab === 'config' }
113
+ ];
114
+ }
115
+ constructor() {
116
+ super();
117
+ this.isLoading = false;
118
+ this.activeTab = 'models'; // Default tab
119
+ this.selectedIndex = 0; // Track selected navigation index
120
+ // Component states
121
+ this.promptManagementState = null;
122
+ this.agentConfigurationState = null;
123
+ this.systemConfigurationState = null;
124
+ // Navigation items for bottom navigation
125
+ this.navigationItems = ['models', 'prompts', 'agents', 'monitoring', 'config'];
126
+ this.stateChangeSubject = new Subject();
127
+ this.setupStateManagement();
128
+ }
129
+ ngAfterViewInit() {
130
+ // Initialize the dashboard after view init
131
+ this.emitStateChange();
132
+ }
133
+ ngOnDestroy() {
134
+ this.stateChangeSubject.complete();
135
+ }
136
+ onTabChange(tabId) {
137
+ console.log('AI Dashboard: Tab changed to:', tabId);
138
+ this.activeTab = tabId;
139
+ this.selectedIndex = this.navigationItems.indexOf(tabId);
140
+ this.emitStateChange();
141
+ }
142
+ onNavigationChange(event) {
143
+ // Legacy method for Kendo navigation - kept for compatibility
144
+ const index = event.index;
145
+ if (index >= 0 && index < this.navigationItems.length) {
146
+ this.selectedIndex = index;
147
+ this.activeTab = this.navigationItems[index];
148
+ this.emitStateChange();
149
+ console.log('AI Dashboard: Switched to tab:', this.activeTab, 'index:', index);
150
+ }
151
+ }
152
+ setupStateManagement() {
153
+ // Debounced state change emissions
154
+ this.stateChangeSubject.pipe(debounceTime(50)).subscribe(state => {
155
+ this.UserStateChanged.emit(state);
156
+ });
157
+ }
158
+ emitStateChange() {
159
+ const state = {
160
+ activeTab: this.activeTab,
161
+ modelManagementState: {},
162
+ promptManagementState: this.promptManagementState || {},
163
+ agentConfigurationState: this.agentConfigurationState || {},
164
+ executionMonitoringState: {},
165
+ systemConfigurationState: this.systemConfigurationState || {}
166
+ };
167
+ this.stateChangeSubject.next(state);
168
+ }
169
+ onPromptManagementStateChange(state) {
170
+ this.promptManagementState = state;
171
+ this.emitStateChange();
172
+ }
173
+ onAgentConfigurationStateChange(state) {
174
+ this.agentConfigurationState = state;
175
+ this.emitStateChange();
176
+ }
177
+ onSystemConfigurationStateChange(state) {
178
+ this.systemConfigurationState = state;
179
+ this.emitStateChange();
180
+ }
181
+ loadUserState(state) {
182
+ if (state.activeTab) {
183
+ this.activeTab = state.activeTab;
184
+ this.selectedIndex = this.navigationItems.indexOf(state.activeTab);
185
+ }
186
+ // Load sub-component states as they're implemented
187
+ }
188
+ // Handle entity record opening from sub-components
189
+ onOpenEntityRecord(data) {
190
+ // Type guard to check if it's the correct event type
191
+ if (data && typeof data === 'object' && 'entityName' in data && 'recordId' in data) {
192
+ const entityData = data;
193
+ const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: entityData.recordId }]);
194
+ this.OpenEntityRecord.emit({
195
+ EntityName: entityData.entityName,
196
+ RecordPKey: compositeKey
197
+ });
198
+ }
199
+ }
200
+ // Required BaseDashboard methods
201
+ initDashboard() {
202
+ try {
203
+ this.isLoading = true;
204
+ // Initialize AI dashboard components
205
+ }
206
+ catch (error) {
207
+ console.error('Error initializing AI dashboard:', error);
208
+ this.Error.emit(new Error('Failed to initialize AI dashboard. Please try again.'));
209
+ }
210
+ finally {
211
+ this.isLoading = false;
212
+ }
213
+ }
214
+ loadData() {
215
+ // Load any initial data needed for the AI dashboard
216
+ // This can be expanded to load configuration data, recent activities, etc.
217
+ }
218
+ getCurrentTabLabel() {
219
+ const tabIndex = this.navigationItems.indexOf(this.activeTab);
220
+ const labels = ['Models', 'Prompts', 'Agents', 'Monitor', 'Config'];
221
+ return tabIndex >= 0 ? labels[tabIndex] : 'AI Administration';
222
+ }
223
+ };
224
+ AIDashboardComponent.ɵfac = function AIDashboardComponent_Factory(t) { return new (t || AIDashboardComponent)(); };
225
+ AIDashboardComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIDashboardComponent, selectors: [["mj-ai-dashboard"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 4, consts: [["mjFillContainer", "", 1, "ai-dashboard-container", 3, "rightMargin", "bottomMargin"], [1, "loading-container"], [1, "dashboard-content-wrapper"], [1, "loading-content"], [1, "loading-spinner"], [1, "spinner-ring"], [1, "loading-text"], [1, "dashboard-content"], ["mjFillContainer", ""], [1, "ai-dashboard-nav"], [1, "nav-item", 3, "active"], ["mjFillContainer", "", 3, "openEntityRecord"], ["mjFillContainer", "", 3, "openEntityRecord", "stateChange"], [1, "nav-item", 3, "click"]], template: function AIDashboardComponent_Template(rf, ctx) { if (rf & 1) {
226
+ i0.ɵɵelementStart(0, "div", 0);
227
+ i0.ɵɵtemplate(1, AIDashboardComponent_Conditional_1_Template, 8, 0, "div", 1)(2, AIDashboardComponent_Conditional_2_Template, 10, 5, "div", 2);
228
+ i0.ɵɵelementEnd();
229
+ } if (rf & 2) {
230
+ i0.ɵɵproperty("rightMargin", 8)("bottomMargin", 8);
231
+ i0.ɵɵadvance();
232
+ i0.ɵɵconditional(ctx.isLoading ? 1 : -1);
233
+ i0.ɵɵadvance();
234
+ i0.ɵɵconditional(!ctx.isLoading ? 2 : -1);
235
+ } }, dependencies: [i1.FillContainer, i2.ModelManagementComponent, i3.PromptManagementComponent, i4.AgentConfigurationComponent, i5.ExecutionMonitoringComponent, i6.SystemConfigurationComponent], styles: [".ai-dashboard-container[_ngcontent-%COMP%] {\n overflow: hidden;\n padding: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.dashboard-header[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n \n .header-info {\n flex: 1;\n display: flex;\n align-items: center;\n }\n \n .current-tab-info {\n font-size: 12px;\n color: #2196f3;\n font-weight: 600;\n background: rgba(33, 150, 243, 0.1);\n padding: 4px 8px;\n border-radius: 4px;\n border: 1px solid rgba(33, 150, 243, 0.2);\n }\n \n .header-controls {\n display: flex;\n gap: 8px;\n \n .control-btn {\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s;\n \n &:hover {\n background-color: #f0f0f0;\n border-color: #2196f3;\n }\n \n &.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n \n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n \n &:hover {\n background-color: white;\n border-color: #ccc;\n }\n }\n \n .fa-solid {\n font-size: 14px;\n }\n }\n }\n}\n\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: #fafafa;\n flex: 1;\n \n p {\n color: #666;\n font-size: 14px;\n }\n}\n\n.dashboard-content-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n}\n\n.dashboard-content[_ngcontent-%COMP%] {\n overflow: hidden;\n flex: 1;\n}\n\n.ai-dashboard-nav[_ngcontent-%COMP%] {\n flex-shrink: 0;\n display: flex;\n background: white;\n border-top: 1px solid #e0e0e0;\n padding: 0;\n \n .nav-item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #666;\n font-size: 12px;\n border-right: 1px solid #e0e0e0;\n \n &:last-child {\n border-right: none;\n }\n \n &:hover {\n background-color: #f5f5f5;\n color: #2196f3;\n }\n \n &.active {\n background-color: #e3f2fd;\n color: #2196f3;\n font-weight: 600;\n \n i {\n color: #2196f3;\n }\n }\n \n i {\n font-size: 18px;\n margin-bottom: 4px;\n color: inherit;\n }\n \n span {\n font-size: 11px;\n text-align: center;\n line-height: 1.2;\n }\n }\n}\n\n.loading-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s linear infinite;\n \n &:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n }\n \n &:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n }\n \n &:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n }\n}\n\n.loading-text[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}"] });
236
+ AIDashboardComponent = __decorate([
237
+ RegisterClass(BaseDashboard, 'AIDashboard')
238
+ ], AIDashboardComponent);
239
+ export { AIDashboardComponent };
240
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIDashboardComponent, [{
241
+ type: Component,
242
+ args: [{ selector: 'mj-ai-dashboard', template: "<div class=\"ai-dashboard-container\" mjFillContainer [rightMargin]=\"8\" [bottomMargin]=\"8\">\n @if (isLoading) {\n <div class=\"loading-container\">\n <div class=\"loading-content\">\n <div class=\"loading-spinner\">\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n <div class=\"spinner-ring\"></div>\n </div>\n <div class=\"loading-text\">Loading AI Dashboard...</div>\n </div>\n </div>\n }\n \n @if (!isLoading) {\n <div class=\"dashboard-content-wrapper\">\n <div class=\"dashboard-content\">\n @if (activeTab === 'models') {\n <app-model-management\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n mjFillContainer>\n </app-model-management>\n }\n \n @if (activeTab === 'prompts') {\n <app-prompt-management\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onPromptManagementStateChange($event)\"\n mjFillContainer>\n </app-prompt-management>\n }\n \n @if (activeTab === 'agents') {\n <app-agent-configuration\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onAgentConfigurationStateChange($event)\"\n mjFillContainer>\n </app-agent-configuration>\n }\n \n @if (activeTab === 'monitoring') {\n <app-execution-monitoring\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n mjFillContainer>\n </app-execution-monitoring>\n }\n \n @if (activeTab === 'config') {\n <app-system-configuration\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onSystemConfigurationStateChange($event)\"\n mjFillContainer>\n </app-system-configuration>\n }\n </div>\n \n <div class=\"ai-dashboard-nav\">\n @for (navItem of navigationConfig; track $index) {\n <div \n class=\"nav-item\"\n [class.active]=\"navItem.selected\"\n (click)=\"onTabChange(navigationItems[$index])\">\n <i [class]=\"navItem.icon\"></i>\n <span>{{ navItem.text }}</span>\n </div>\n }\n </div>\n </div>\n }\n</div>", styles: [".ai-dashboard-container {\n overflow: hidden;\n padding: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.dashboard-header {\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n \n .header-info {\n flex: 1;\n display: flex;\n align-items: center;\n }\n \n .current-tab-info {\n font-size: 12px;\n color: #2196f3;\n font-weight: 600;\n background: rgba(33, 150, 243, 0.1);\n padding: 4px 8px;\n border-radius: 4px;\n border: 1px solid rgba(33, 150, 243, 0.2);\n }\n \n .header-controls {\n display: flex;\n gap: 8px;\n \n .control-btn {\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s;\n \n &:hover {\n background-color: #f0f0f0;\n border-color: #2196f3;\n }\n \n &.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n \n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n \n &:hover {\n background-color: white;\n border-color: #ccc;\n }\n }\n \n .fa-solid {\n font-size: 14px;\n }\n }\n }\n}\n\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: #fafafa;\n flex: 1;\n \n p {\n color: #666;\n font-size: 14px;\n }\n}\n\n.dashboard-content-wrapper {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n}\n\n.dashboard-content {\n overflow: hidden;\n flex: 1;\n}\n\n.ai-dashboard-nav {\n flex-shrink: 0;\n display: flex;\n background: white;\n border-top: 1px solid #e0e0e0;\n padding: 0;\n \n .nav-item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #666;\n font-size: 12px;\n border-right: 1px solid #e0e0e0;\n \n &:last-child {\n border-right: none;\n }\n \n &:hover {\n background-color: #f5f5f5;\n color: #2196f3;\n }\n \n &.active {\n background-color: #e3f2fd;\n color: #2196f3;\n font-weight: 600;\n \n i {\n color: #2196f3;\n }\n }\n \n i {\n font-size: 18px;\n margin-bottom: 4px;\n color: inherit;\n }\n \n span {\n font-size: 11px;\n text-align: center;\n line-height: 1.2;\n }\n }\n}\n\n.loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: spin 1.5s linear infinite;\n \n &:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n }\n \n &:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n }\n \n &:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n }\n}\n\n.loading-text {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}"] }]
243
+ }], () => [], null); })();
244
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIDashboardComponent, { className: "AIDashboardComponent", filePath: "src/AI/ai-dashboard.component.ts", lineNumber: 23 }); })();
245
+ export function LoadAIDashboard() {
246
+ // Prevents tree-shaking
247
+ }
248
+ //# sourceMappingURL=ai-dashboard.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-dashboard.component.js","sourceRoot":"","sources":["../../src/AI/ai-dashboard.component.ts","../../src/AI/ai-dashboard.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;ICDtC,AADF,AADF,8BAA+B,aACA,aACE;IAG3B,AADA,AADA,yBAAgC,aACA,aACA;IAClC,iBAAM;IACN,8BAA0B;IAAA,uCAAuB;IAErD,AADE,AADmD,iBAAM,EACnD,EACF;;;;IAOA,gDAEkB;IADhB,iPAAoB,iCAA0B,KAAC;IAEjD,iBAAuB;;;;IAIvB,iDAGkB;IADhB,AADA,kPAAoB,iCAA0B,KAAC,2NAChC,4CAAqC,KAAC;IAEvD,iBAAwB;;;;IAIxB,mDAGkB;IADhB,AADA,oPAAoB,iCAA0B,KAAC,6NAChC,8CAAuC,KAAC;IAEzD,iBAA0B;;;;IAI1B,oDAEkB;IADhB,qPAAoB,iCAA0B,KAAC;IAEjD,iBAA2B;;;;IAI3B,oDAGkB;IADhB,AADA,qPAAoB,iCAA0B,KAAC,8NAChC,+CAAwC,KAAC;IAE1D,iBAA2B;;;;IAM3B,+BAGiD;IAA/C,qNAAS,qDAAoC,KAAC;IAC9C,oBAA8B;IAC9B,4BAAM;IAAA,YAAkB;IAC1B,AAD0B,iBAAO,EAC3B;;;IAJJ,6CAAiC;IAE9B,cAAsB;IAAtB,8BAAsB;IACnB,eAAkB;IAAlB,qCAAkB;;;IA/C9B,AADF,8BAAuC,aACN;IA+B7B,AAPA,AARA,AARA,AAPA,4GAA8B,gGAOC,kGAQD,mGAQI,mGAOJ;IAOhC,iBAAM;IAEN,8BAA8B;IAC5B,qHAQC;IAEL,AADE,iBAAM,EACF;;;IAlDF,eAKC;IALD,wDAKC;IAED,cAMC;IAND,yDAMC;IAED,cAMC;IAND,wDAMC;IAED,cAKC;IALD,4DAKC;IAED,cAMC;IAND,wDAMC;IAID,eAQC;IARD,sCAQC;;AD3CF,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,aAAa;IAcrD,IAAW,gBAAgB;QACzB,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACxF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC7F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpF,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;SACpF,CAAC;IACJ,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC5E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;SACvE,CAAC;IACJ,CAAC;IAID;QACE,KAAK,EAAE,CAAC;QAnCH,cAAS,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,QAAQ,CAAC,CAAC,cAAc;QACpC,kBAAa,GAAG,CAAC,CAAC,CAAC,kCAAkC;QAE5D,mBAAmB;QACZ,0BAAqB,GAAQ,IAAI,CAAC;QAClC,4BAAuB,GAAQ,IAAI,CAAC;QACpC,6BAAwB,GAAQ,IAAI,CAAC;QAE5C,yCAAyC;QAClC,oBAAe,GAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAsBnF,uBAAkB,GAAG,IAAI,OAAO,EAAoB,CAAC;QAI3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,2CAA2C;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAEM,WAAW,CAAC,KAAa;QAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,kBAAkB,CAAC,KAAU;QAClC,8DAA8D;QAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,mCAAmC;QACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,YAAY,CAAC,EAAE,CAAC,CACjB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAqB;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,EAAE;YACxB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,IAAI,EAAE;YACvD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,IAAI,EAAE;YAC3D,wBAAwB,EAAE,EAAE;YAC5B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,IAAI,EAAE;SAC9D,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAEM,6BAA6B,CAAC,KAAU;QAC7C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,+BAA+B,CAAC,KAAU;QAC/C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,gCAAgC,CAAC,KAAU;QAChD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,aAAa,CAAC,KAAgC;QACnD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QACD,mDAAmD;IACrD,CAAC;IAED,mDAAmD;IAC5C,kBAAkB,CAAC,IAAoD;QAC5E,qDAAqD;QACrD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,YAAY,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACnF,MAAM,UAAU,GAAG,IAA8C,CAAC;YAClE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,aAAa;QACX,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,qCAAqC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED,QAAQ;QACN,oDAAoD;QACpD,2EAA2E;IAC7E,CAAC;IAEM,kBAAkB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAChE,CAAC;;wFApJU,oBAAoB;uEAApB,oBAAoB;QCtBjC,8BAAyF;QAcvF,AAbA,6EAAiB,iEAaC;QAuDpB,iBAAM;;QArEgE,AAAlB,+BAAiB,mBAAmB;QACtF,cAWC;QAXD,wCAWC;QAED,cAsDC;QAtDD,yCAsDC;;AD9CU,oBAAoB;IADhC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC;GAC/B,oBAAoB,CAqJhC;;iFArJY,oBAAoB;cANhC,SAAS;2BACE,iBAAiB;;kFAKhB,oBAAoB;AAuJjC,MAAM,UAAU,eAAe;IAC7B,wBAAwB;AAC1B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { AIAgentEntity } from '@memberjunction/core-entities';
3
+ import * as i0 from "@angular/core";
4
+ interface AgentFilter {
5
+ searchTerm: string;
6
+ executionMode: string;
7
+ exposeAsAction: string;
8
+ }
9
+ export declare class AgentConfigurationComponent implements OnInit {
10
+ openEntityRecord: EventEmitter<{
11
+ entityName: string;
12
+ recordId: string;
13
+ }>;
14
+ stateChange: EventEmitter<any>;
15
+ isLoading: boolean;
16
+ filterPanelVisible: boolean;
17
+ showEditor: boolean;
18
+ selectedAgentId: string | null;
19
+ agents: AIAgentEntity[];
20
+ filteredAgents: AIAgentEntity[];
21
+ currentFilters: AgentFilter;
22
+ ngOnInit(): void;
23
+ private loadAgents;
24
+ toggleFilterPanel(): void;
25
+ onMainSplitterChange(event: any): void;
26
+ onFiltersChange(filters: AgentFilter): void;
27
+ onFilterChange(): void;
28
+ onResetFilters(): void;
29
+ private applyFilters;
30
+ private emitStateChange;
31
+ onOpenRecord(entityName: string, recordId: string): void;
32
+ getExecutionModeColor(mode: string): string;
33
+ getExecutionModeIcon(mode: string): string;
34
+ openAgentEditor(agentId: string): void;
35
+ closeAgentEditor(): void;
36
+ onOpenAgentFromEditor(agentId: string): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<AgentConfigurationComponent, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<AgentConfigurationComponent, "app-agent-configuration", never, {}, { "openEntityRecord": "openEntityRecord"; "stateChange": "stateChange"; }, never, never, false, never>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=agent-configuration.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-configuration.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-configuration.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAE9D,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAKa,2BAA4B,YAAW,MAAM;IAC9C,gBAAgB;oBAAiC,MAAM;kBAAY,MAAM;OAAK;IAC9E,WAAW,oBAA2B;IAEzC,SAAS,UAAS;IAClB,kBAAkB,UAAQ;IAC1B,UAAU,UAAS;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,MAAM,EAAE,aAAa,EAAE,CAAM;IAC7B,cAAc,EAAE,aAAa,EAAE,CAAM;IAErC,cAAc,EAAE,WAAW,CAIhC;IAEF,QAAQ,IAAI,IAAI;YAIF,UAAU;IAoBjB,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C,cAAc,IAAI,IAAI;IAItB,cAAc,IAAI,IAAI;IAS7B,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,eAAe;IAQhB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ3C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKtC,gBAAgB,IAAI,IAAI;IAKxB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;yCArIxC,2BAA2B;2CAA3B,2BAA2B;CAyIvC"}