@memberjunction/ng-dashboards 2.54.0 → 2.56.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/dist/AI/ai-dashboard.component.d.ts.map +1 -1
- package/dist/AI/ai-dashboard.component.js +47 -47
- package/dist/AI/ai-dashboard.component.js.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.d.ts +19 -3
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +155 -94
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +6 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.js +61 -35
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -1
- package/dist/Actions/actions-management-dashboard.component.d.ts +1 -0
- package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -1
- package/dist/Actions/actions-management-dashboard.component.js +31 -16
- package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.d.ts +5 -0
- package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +9 -2
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +8 -1
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +105 -78
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/module.d.ts +10 -6
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +22 -3
- package/dist/module.js.map +1 -1
- package/package.json +12 -7
|
@@ -1 +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,
|
|
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,EAAgC,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;;AAO1D,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,SAAgB;IACzB,aAAa,SAAK;IAGlB,oBAAoB,EAAE,GAAG,CAAQ;IACjC,qBAAqB,EAAE,GAAG,CAAQ;IAClC,uBAAuB,EAAE,GAAG,CAAQ;IACpC,wBAAwB,EAAE,GAAG,CAAQ;IACrC,wBAAwB,EAAE,GAAG,CAAQ;IAG5C,OAAO,CAAC,WAAW,CAAqB;IAGjC,eAAe,EAAE,MAAM,EAAE,CAA2D;IAE3F,IAAW,gBAAgB;;;;QAQ1B;IAED,IAAW,wBAAwB;;;;QAQlC;IAED,OAAO,CAAC,kBAAkB,CAAmC;;IAO7D,eAAe,IAAI,IAAI;IAOvB,WAAW,IAAI,IAAI;IAIZ,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAgB3C,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAahB,4BAA4B,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAK9C,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,gCAAgC,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKlD,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAiCrD,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;IAgBT,kBAAkB,IAAI,MAAM;yCAxNxB,oBAAoB;2CAApB,oBAAoB;CA6NhC;AAED,wBAAgB,eAAe,SAE9B"}
|
|
@@ -12,62 +12,63 @@ import { Subject } from 'rxjs';
|
|
|
12
12
|
import { debounceTime } from 'rxjs/operators';
|
|
13
13
|
import { SharedService } from '@memberjunction/ng-shared';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "
|
|
16
|
-
import * as i2 from "./components/
|
|
17
|
-
import * as i3 from "./components/
|
|
18
|
-
import * as i4 from "./components/
|
|
19
|
-
import * as i5 from "./components/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
i0.ɵɵ
|
|
15
|
+
import * as i1 from "@progress/kendo-angular-dialog";
|
|
16
|
+
import * as i2 from "./components/models/model-management-v2.component";
|
|
17
|
+
import * as i3 from "./components/prompts/prompt-management-v2.component";
|
|
18
|
+
import * as i4 from "./components/agents/agent-configuration.component";
|
|
19
|
+
import * as i5 from "./components/execution-monitoring.component";
|
|
20
|
+
import * as i6 from "./components/system/system-configuration.component";
|
|
21
|
+
function AIDashboardComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 4)(2, "div", 5);
|
|
23
|
+
i0.ɵɵelement(3, "div", 6)(4, "div", 6)(5, "div", 6);
|
|
23
24
|
i0.ɵɵelementEnd();
|
|
24
|
-
i0.ɵɵelementStart(6, "div",
|
|
25
|
+
i0.ɵɵelementStart(6, "div", 7);
|
|
25
26
|
i0.ɵɵtext(7, "Loading AI Dashboard...");
|
|
26
27
|
i0.ɵɵelementEnd()()();
|
|
27
28
|
} }
|
|
28
|
-
function
|
|
29
|
+
function AIDashboardComponent_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
29
30
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
30
|
-
i0.ɵɵelementStart(0, "app-model-management-v2",
|
|
31
|
-
i0.ɵɵlistener("openEntityRecord", function
|
|
31
|
+
i0.ɵɵelementStart(0, "app-model-management-v2", 12);
|
|
32
|
+
i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_3_Conditional_2_Template_app_model_management_v2_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("stateChange", function AIDashboardComponent_Conditional_3_Conditional_2_Template_app_model_management_v2_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onModelManagementStateChange($event)); });
|
|
32
33
|
i0.ɵɵelementEnd();
|
|
33
34
|
} if (rf & 2) {
|
|
34
35
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
35
36
|
i0.ɵɵproperty("initialState", ctx_r1.modelManagementState);
|
|
36
37
|
} }
|
|
37
|
-
function
|
|
38
|
+
function AIDashboardComponent_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
38
39
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
39
|
-
i0.ɵɵelementStart(0, "app-prompt-management-v2",
|
|
40
|
-
i0.ɵɵlistener("openEntityRecord", function
|
|
40
|
+
i0.ɵɵelementStart(0, "app-prompt-management-v2", 13);
|
|
41
|
+
i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_3_Conditional_3_Template_app_prompt_management_v2_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); })("stateChange", function AIDashboardComponent_Conditional_3_Conditional_3_Template_app_prompt_management_v2_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPromptManagementStateChange($event)); });
|
|
41
42
|
i0.ɵɵelementEnd();
|
|
42
43
|
} }
|
|
43
|
-
function
|
|
44
|
+
function AIDashboardComponent_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
44
45
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
45
|
-
i0.ɵɵelementStart(0, "app-agent-configuration",
|
|
46
|
-
i0.ɵɵlistener("openEntityRecord", function
|
|
46
|
+
i0.ɵɵelementStart(0, "app-agent-configuration", 12);
|
|
47
|
+
i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_3_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_3_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)); });
|
|
47
48
|
i0.ɵɵelementEnd();
|
|
48
49
|
} if (rf & 2) {
|
|
49
50
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
50
51
|
i0.ɵɵproperty("initialState", ctx_r1.agentConfigurationState);
|
|
51
52
|
} }
|
|
52
|
-
function
|
|
53
|
+
function AIDashboardComponent_Conditional_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
53
54
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
54
|
-
i0.ɵɵelementStart(0, "app-execution-monitoring",
|
|
55
|
-
i0.ɵɵlistener("openEntityRecord", function
|
|
55
|
+
i0.ɵɵelementStart(0, "app-execution-monitoring", 12);
|
|
56
|
+
i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_3_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)); })("stateChange", function AIDashboardComponent_Conditional_3_Conditional_5_Template_app_execution_monitoring_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onExecutionMonitoringStateChange($event)); });
|
|
56
57
|
i0.ɵɵelementEnd();
|
|
57
58
|
} if (rf & 2) {
|
|
58
59
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
59
60
|
i0.ɵɵproperty("initialState", ctx_r1.executionMonitoringState);
|
|
60
61
|
} }
|
|
61
|
-
function
|
|
62
|
+
function AIDashboardComponent_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
62
63
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
63
|
-
i0.ɵɵelementStart(0, "app-system-configuration",
|
|
64
|
-
i0.ɵɵlistener("openEntityRecord", function
|
|
64
|
+
i0.ɵɵelementStart(0, "app-system-configuration", 13);
|
|
65
|
+
i0.ɵɵlistener("openEntityRecord", function AIDashboardComponent_Conditional_3_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_3_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)); });
|
|
65
66
|
i0.ɵɵelementEnd();
|
|
66
67
|
} }
|
|
67
|
-
function
|
|
68
|
+
function AIDashboardComponent_Conditional_3_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
68
69
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
69
|
-
i0.ɵɵelementStart(0, "div",
|
|
70
|
-
i0.ɵɵlistener("click", function
|
|
70
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
71
|
+
i0.ɵɵlistener("click", function AIDashboardComponent_Conditional_3_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])); });
|
|
71
72
|
i0.ɵɵelement(1, "i");
|
|
72
73
|
i0.ɵɵelementStart(2, "span");
|
|
73
74
|
i0.ɵɵtext(3);
|
|
@@ -80,12 +81,12 @@ function AIDashboardComponent_Conditional_2_For_9_Template(rf, ctx) { if (rf & 1
|
|
|
80
81
|
i0.ɵɵadvance(2);
|
|
81
82
|
i0.ɵɵtextInterpolate(navItem_r9.text);
|
|
82
83
|
} }
|
|
83
|
-
function
|
|
84
|
-
i0.ɵɵelementStart(0, "div",
|
|
85
|
-
i0.ɵɵtemplate(2,
|
|
84
|
+
function AIDashboardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 8);
|
|
86
|
+
i0.ɵɵtemplate(2, AIDashboardComponent_Conditional_3_Conditional_2_Template, 1, 1, "app-model-management-v2", 9)(3, AIDashboardComponent_Conditional_3_Conditional_3_Template, 1, 0, "app-prompt-management-v2")(4, AIDashboardComponent_Conditional_3_Conditional_4_Template, 1, 1, "app-agent-configuration", 9)(5, AIDashboardComponent_Conditional_3_Conditional_5_Template, 1, 1, "app-execution-monitoring", 9)(6, AIDashboardComponent_Conditional_3_Conditional_6_Template, 1, 0, "app-system-configuration");
|
|
86
87
|
i0.ɵɵelementEnd();
|
|
87
|
-
i0.ɵɵelementStart(7, "div",
|
|
88
|
-
i0.ɵɵrepeaterCreate(8,
|
|
88
|
+
i0.ɵɵelementStart(7, "div", 10);
|
|
89
|
+
i0.ɵɵrepeaterCreate(8, AIDashboardComponent_Conditional_3_For_9_Template, 4, 5, "div", 11, i0.ɵɵrepeaterTrackByIndex);
|
|
89
90
|
i0.ɵɵelementEnd()();
|
|
90
91
|
} if (rf & 2) {
|
|
91
92
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -105,7 +106,7 @@ function AIDashboardComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
105
106
|
let AIDashboardComponent = class AIDashboardComponent extends BaseDashboard {
|
|
106
107
|
isLoading = false;
|
|
107
108
|
activeTab = 'monitoring'; // Default tab changed to monitoring
|
|
108
|
-
selectedIndex = 0; // Track selected navigation index
|
|
109
|
+
selectedIndex = 0; // Track selected navigation index - default to monitoring (index 0)
|
|
109
110
|
// Component states
|
|
110
111
|
modelManagementState = null;
|
|
111
112
|
promptManagementState = null;
|
|
@@ -151,9 +152,10 @@ let AIDashboardComponent = class AIDashboardComponent extends BaseDashboard {
|
|
|
151
152
|
onTabChange(tabId) {
|
|
152
153
|
this.activeTab = tabId;
|
|
153
154
|
const index = this.navigationItems.indexOf(tabId);
|
|
154
|
-
//
|
|
155
|
+
// Update selectedIndex immediately
|
|
156
|
+
this.selectedIndex = index >= 0 ? index : 0;
|
|
157
|
+
// Defer only the resize operation
|
|
155
158
|
setTimeout(() => {
|
|
156
|
-
this.selectedIndex = index >= 0 ? index : 0;
|
|
157
159
|
// Invoke manual resize after tab change to fix rendering issues
|
|
158
160
|
// TODO: Remove this when resize issues are properly fixed
|
|
159
161
|
SharedService.Instance.InvokeManualResize();
|
|
@@ -219,11 +221,8 @@ let AIDashboardComponent = class AIDashboardComponent extends BaseDashboard {
|
|
|
219
221
|
if (state.activeTab) {
|
|
220
222
|
this.activeTab = state.activeTab;
|
|
221
223
|
const index = this.navigationItems.indexOf(state.activeTab);
|
|
222
|
-
//
|
|
223
|
-
|
|
224
|
-
// Ensure we don't set selectedIndex to -1
|
|
225
|
-
this.selectedIndex = index >= 0 ? index : 0;
|
|
226
|
-
});
|
|
224
|
+
// Update selectedIndex immediately - ensure we don't set to -1
|
|
225
|
+
this.selectedIndex = index >= 0 ? index : 0;
|
|
227
226
|
// Mark the tab as visited
|
|
228
227
|
this.visitedTabs.add(state.activeTab);
|
|
229
228
|
}
|
|
@@ -291,16 +290,17 @@ let AIDashboardComponent = class AIDashboardComponent extends BaseDashboard {
|
|
|
291
290
|
return tabIndex >= 0 ? labels[tabIndex] : 'AI Administration';
|
|
292
291
|
}
|
|
293
292
|
static ɵfac = function AIDashboardComponent_Factory(t) { return new (t || AIDashboardComponent)(); };
|
|
294
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIDashboardComponent, selectors: [["mj-ai-dashboard"]], features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
293
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIDashboardComponent, selectors: [["mj-ai-dashboard"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 2, consts: [[1, "ai-dashboard-container"], ["kendoDialogContainer", ""], [1, "loading-container"], [1, "dashboard-content-wrapper"], [1, "loading-content"], [1, "loading-spinner"], [1, "spinner-ring"], [1, "loading-text"], [1, "dashboard-content"], [3, "initialState"], [1, "ai-dashboard-nav"], [1, "nav-item", 3, "active"], [3, "openEntityRecord", "stateChange", "initialState"], [3, "openEntityRecord", "stateChange"], [1, "nav-item", 3, "click"]], template: function AIDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
295
294
|
i0.ɵɵelementStart(0, "div", 0);
|
|
296
|
-
i0.ɵɵ
|
|
295
|
+
i0.ɵɵelement(1, "div", 1);
|
|
296
|
+
i0.ɵɵtemplate(2, AIDashboardComponent_Conditional_2_Template, 8, 0, "div", 2)(3, AIDashboardComponent_Conditional_3_Template, 10, 5, "div", 3);
|
|
297
297
|
i0.ɵɵelementEnd();
|
|
298
298
|
} if (rf & 2) {
|
|
299
|
+
i0.ɵɵadvance(2);
|
|
300
|
+
i0.ɵɵconditional(ctx.isLoading ? 2 : -1);
|
|
299
301
|
i0.ɵɵadvance();
|
|
300
|
-
i0.ɵɵconditional(ctx.isLoading ?
|
|
301
|
-
|
|
302
|
-
i0.ɵɵconditional(!ctx.isLoading ? 2 : -1);
|
|
303
|
-
} }, dependencies: [i1.ModelManagementV2Component, i2.PromptManagementV2Component, i3.AgentConfigurationComponent, i4.ExecutionMonitoringComponent, i5.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 margin-bottom: 60px;\n}\n\n.ai-dashboard-nav[_ngcontent-%COMP%] {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\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% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}"] });
|
|
302
|
+
i0.ɵɵconditional(!ctx.isLoading ? 3 : -1);
|
|
303
|
+
} }, dependencies: [i1.DialogContainerDirective, i2.ModelManagementV2Component, i3.PromptManagementV2Component, 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 margin-bottom: 60px;\n}\n\n.ai-dashboard-nav[_ngcontent-%COMP%] {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\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% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}"] });
|
|
304
304
|
};
|
|
305
305
|
AIDashboardComponent = __decorate([
|
|
306
306
|
RegisterClass(BaseDashboard, 'AIDashboard')
|
|
@@ -308,7 +308,7 @@ AIDashboardComponent = __decorate([
|
|
|
308
308
|
export { AIDashboardComponent };
|
|
309
309
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIDashboardComponent, [{
|
|
310
310
|
type: Component,
|
|
311
|
-
args: [{ selector: 'mj-ai-dashboard', template: "<div class=\"ai-dashboard-container\">\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' && hasVisited('models')) {\n <app-model-management-v2\n [initialState]=\"modelManagementState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onModelManagementStateChange($event)\"\n >\n </app-model-management-v2>\n }\n \n @if (activeTab === 'prompts' && hasVisited('prompts')) {\n <app-prompt-management-v2\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onPromptManagementStateChange($event)\"\n >\n </app-prompt-management-v2>\n }\n \n @if (activeTab === 'agents' && hasVisited('agents')) {\n <app-agent-configuration\n [initialState]=\"agentConfigurationState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onAgentConfigurationStateChange($event)\"\n >\n </app-agent-configuration>\n }\n \n @if (activeTab === 'monitoring' && hasVisited('monitoring')) {\n <app-execution-monitoring\n [initialState]=\"executionMonitoringState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onExecutionMonitoringStateChange($event)\"\n >\n </app-execution-monitoring>\n }\n \n @if (activeTab === 'config' && hasVisited('config')) {\n <app-system-configuration\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onSystemConfigurationStateChange($event)\"\n >\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 margin-bottom: 60px;\n}\n\n.ai-dashboard-nav {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\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% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}"] }]
|
|
311
|
+
args: [{ selector: 'mj-ai-dashboard', template: "<div class=\"ai-dashboard-container\">\n <!-- Dialog container for Kendo dialogs -->\n <div kendoDialogContainer></div>\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' && hasVisited('models')) {\n <app-model-management-v2\n [initialState]=\"modelManagementState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onModelManagementStateChange($event)\"\n >\n </app-model-management-v2>\n }\n \n @if (activeTab === 'prompts' && hasVisited('prompts')) {\n <app-prompt-management-v2\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onPromptManagementStateChange($event)\"\n >\n </app-prompt-management-v2>\n }\n \n @if (activeTab === 'agents' && hasVisited('agents')) {\n <app-agent-configuration\n [initialState]=\"agentConfigurationState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onAgentConfigurationStateChange($event)\"\n >\n </app-agent-configuration>\n }\n \n @if (activeTab === 'monitoring' && hasVisited('monitoring')) {\n <app-execution-monitoring\n [initialState]=\"executionMonitoringState\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onExecutionMonitoringStateChange($event)\"\n >\n </app-execution-monitoring>\n }\n \n @if (activeTab === 'config' && hasVisited('config')) {\n <app-system-configuration\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (stateChange)=\"onSystemConfigurationStateChange($event)\"\n >\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 margin-bottom: 60px;\n}\n\n.ai-dashboard-nav {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\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% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}"] }]
|
|
312
312
|
}], () => [], null); })();
|
|
313
313
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIDashboardComponent, { className: "AIDashboardComponent", filePath: "src/AI/ai-dashboard.component.ts", lineNumber: 24 }); })();
|
|
314
314
|
export function LoadAIDashboard() {
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"ai-dashboard.component.js","sourceRoot":"","sources":["../../src/AI/ai-dashboard.component.ts","../../src/AI/ai-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnInit, OnDestroy, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { AIAgentEntity } from '@memberjunction/core-entities';
|
|
3
|
+
import { NewAgentDialogService } from '@memberjunction/ng-core-entity-forms';
|
|
4
|
+
import { AITestHarnessDialogService } from '@memberjunction/ng-ai-test-harness';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
interface AgentFilter {
|
|
5
7
|
searchTerm: string;
|
|
@@ -10,6 +12,9 @@ interface AgentFilter {
|
|
|
10
12
|
exposeAsAction: string;
|
|
11
13
|
}
|
|
12
14
|
export declare class AgentConfigurationComponent implements OnInit, OnDestroy {
|
|
15
|
+
private newAgentDialogService;
|
|
16
|
+
private viewContainerRef;
|
|
17
|
+
private testHarnessService;
|
|
13
18
|
initialState: any;
|
|
14
19
|
openEntityRecord: EventEmitter<{
|
|
15
20
|
entityName: string;
|
|
@@ -23,7 +28,8 @@ export declare class AgentConfigurationComponent implements OnInit, OnDestroy {
|
|
|
23
28
|
agents: AIAgentEntity[];
|
|
24
29
|
filteredAgents: AIAgentEntity[];
|
|
25
30
|
currentFilters: AgentFilter;
|
|
26
|
-
|
|
31
|
+
selectedAgentForTest: AIAgentEntity | null;
|
|
32
|
+
constructor(newAgentDialogService: NewAgentDialogService, viewContainerRef: ViewContainerRef, testHarnessService: AITestHarnessDialogService);
|
|
27
33
|
ngOnInit(): void;
|
|
28
34
|
ngOnDestroy(): void;
|
|
29
35
|
private applyInitialState;
|
|
@@ -39,11 +45,21 @@ export declare class AgentConfigurationComponent implements OnInit, OnDestroy {
|
|
|
39
45
|
toggleAgentExpansion(agentId: string): void;
|
|
40
46
|
openAgentRecord(agentId: string): void;
|
|
41
47
|
createNewAgent(): void;
|
|
42
|
-
runAgent(agent: AIAgentEntity):
|
|
48
|
+
runAgent(agent: AIAgentEntity): void;
|
|
49
|
+
closeTestHarness(): void;
|
|
43
50
|
getAgentIconColor(agent: AIAgentEntity): string;
|
|
44
51
|
onOpenRecord(entityName: string, recordId: string): void;
|
|
45
52
|
getExecutionModeColor(mode: string): string;
|
|
46
53
|
getExecutionModeIcon(mode: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the agent's display icon
|
|
56
|
+
* Prioritizes LogoURL, falls back to IconClass, then default robot icon
|
|
57
|
+
*/
|
|
58
|
+
getAgentIcon(agent: AIAgentEntity): string;
|
|
59
|
+
/**
|
|
60
|
+
* Checks if the agent has a logo URL (for image display)
|
|
61
|
+
*/
|
|
62
|
+
hasLogoURL(agent: AIAgentEntity): boolean;
|
|
47
63
|
static ɵfac: i0.ɵɵFactoryDeclaration<AgentConfigurationComponent, never>;
|
|
48
64
|
static ɵcmp: i0.ɵɵComponentDeclaration<AgentConfigurationComponent, "app-agent-configuration", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "openEntityRecord": "openEntityRecord"; "stateChange": "stateChange"; }, never, never, false, never>;
|
|
49
65
|
}
|
|
@@ -1 +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,SAAS,
|
|
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,SAAS,EAAS,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;;AAEhF,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAKa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IAyBjE,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,kBAAkB;IA1BnB,YAAY,EAAE,GAAG,CAAQ;IACxB,gBAAgB;oBAAiC,MAAM;kBAAY,MAAM;OAAK;IAC9E,WAAW,oBAA2B;IAEzC,SAAS,UAAS;IAClB,kBAAkB,UAAQ;IAC1B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAU;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,MAAM,EAAE,aAAa,EAAE,CAAM;IAC7B,cAAc,EAAE,aAAa,EAAE,CAAM;IAErC,cAAc,EAAE,WAAW,CAOhC;IAEK,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAG/C,qBAAqB,EAAE,qBAAqB,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,0BAA0B;IAGxD,QAAQ,IAAI,IAAI;IAOhB,WAAW,IAAI,IAAI;IAInB,OAAO,CAAC,iBAAiB;YAeX,UAAU;IAqBjB,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;IAY7B,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,eAAe;IAWhB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,IAAI,IAAI;IAStB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC,gBAAgB,IAAI,IAAI;IAKxB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAO/C,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;IAQjD;;;OAGG;IACI,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAQjD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;yCAlPrC,2BAA2B;2CAA3B,2BAA2B;CAsPvC"}
|