@memberjunction/ng-core-entity-forms 5.21.0 → 5.23.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 (157) hide show
  1. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +4 -5
  2. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  3. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +55 -59
  4. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +0 -1
  6. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
  7. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +4 -5
  8. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +54 -71
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  11. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  12. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1053 -1096
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  14. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +2 -3
  15. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  16. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +39 -82
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  18. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +4 -5
  19. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  20. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +28 -31
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  22. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +4 -5
  23. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  24. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +15 -14
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  26. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +4 -7
  27. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  28. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +77 -124
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +2 -2
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +10 -11
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  34. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +4 -5
  35. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  36. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +18 -18
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  38. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +4 -5
  39. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  40. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +59 -80
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  42. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +4 -5
  43. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  44. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +23 -24
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  46. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +862 -906
  48. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +4 -5
  50. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  51. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +448 -499
  52. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +2 -2
  54. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +6 -11
  56. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +4 -5
  58. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +16 -15
  60. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  61. package/dist/lib/custom/Actions/action-execution-log-form.component.js +160 -166
  62. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  63. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  64. package/dist/lib/custom/Actions/action-form.component.js +93 -94
  65. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  66. package/dist/lib/custom/Entities/entity-form.component.js +2 -2
  67. package/dist/lib/custom/Lists/list-form.component.js +61 -63
  68. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  69. package/dist/lib/custom/Queries/query-category-dialog.component.js +33 -59
  70. package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
  71. package/dist/lib/custom/Queries/query-form.component.js +354 -360
  72. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  73. package/dist/lib/custom/Queries/query-run-dialog.component.js +62 -71
  74. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  75. package/dist/lib/custom/Templates/template-param-dialog.component.js +128 -124
  76. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  77. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +45 -22
  78. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  79. package/dist/lib/custom/Templates/template-params-grid.component.js +380 -384
  80. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  81. package/dist/lib/custom/Templates/templates-form.component.js +34 -36
  82. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  83. package/dist/lib/custom/Tests/test-form.component.js +9 -10
  84. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  85. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +4 -4
  86. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  87. package/dist/lib/custom/Tests/test-run-form.component.js +8 -8
  88. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  89. package/dist/lib/custom/Tests/test-suite-form.component.js +7 -8
  90. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  91. package/dist/lib/custom/Tests/test-suite-run-form.component.js +7 -8
  92. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  93. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +381 -409
  94. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  95. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  96. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +1 -1
  97. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  98. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  99. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +74 -63
  100. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  101. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +10 -10
  102. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
  103. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  104. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +352 -332
  105. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  106. package/dist/lib/custom/custom-forms.module.d.ts +22 -27
  107. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  108. package/dist/lib/custom/custom-forms.module.js +51 -81
  109. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  110. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +4 -5
  111. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  112. package/dist/lib/custom/shared/entity-selector-dialog.component.js +59 -66
  113. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  114. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
  115. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +176 -156
  116. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  117. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.d.ts +10 -0
  118. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.d.ts.map +1 -0
  119. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js +65 -0
  120. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js.map +1 -0
  121. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.d.ts +10 -0
  122. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.d.ts.map +1 -0
  123. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +89 -0
  124. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -0
  125. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.d.ts.map +1 -1
  126. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +80 -44
  127. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
  128. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js +11 -8
  129. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js.map +1 -1
  130. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.d.ts.map +1 -1
  131. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +39 -24
  132. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
  133. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.d.ts.map +1 -1
  134. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +35 -17
  135. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
  136. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +15 -13
  137. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
  138. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.d.ts.map +1 -1
  139. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js +7 -9
  140. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js.map +1 -1
  141. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +28 -24
  142. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
  144. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +21 -9
  145. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  146. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +19 -17
  147. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
  148. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.d.ts.map +1 -1
  149. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +82 -14
  150. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
  151. package/dist/lib/generated/generated-forms.module.d.ts +280 -279
  152. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  153. package/dist/lib/generated/generated-forms.module.js +102 -142
  154. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  155. package/dist/lib/shared/components/template-editor.component.js +14 -15
  156. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  157. package/package.json +34 -41
@@ -12,7 +12,7 @@ import { CompositeKey, Metadata, RunView } from '@memberjunction/core';
12
12
  import { UserInfoEngine } from '@memberjunction/core-entities';
13
13
  import { MJNotificationService } from '@memberjunction/ng-notifications';
14
14
  import { MJAIAgentFormComponent } from '../../generated/Entities/MJAIAgent/mjaiagent.form.component';
15
- import { DialogService } from '@progress/kendo-angular-dialog';
15
+ import { MJDialogService } from '@memberjunction/ng-ui-components';
16
16
  import { SharedService } from '@memberjunction/ng-shared';
17
17
  import { AIAgentManagementService } from './ai-agent-management.service';
18
18
  import { AITestHarnessDialogService } from '@memberjunction/ng-ai-test-harness';
@@ -24,44 +24,40 @@ import { PromptSelectorDialogComponent } from './prompt-selector-dialog.componen
24
24
  import { CreateAgentService } from '@memberjunction/ng-agents';
25
25
  import * as i0 from "@angular/core";
26
26
  import * as i1 from "@angular/forms";
27
- import * as i2 from "@progress/kendo-angular-layout";
28
- import * as i3 from "@progress/kendo-angular-dialog";
29
- import * as i4 from "@progress/kendo-angular-inputs";
30
- import * as i5 from "@progress/kendo-angular-dropdowns";
31
- import * as i6 from "@progress/kendo-angular-buttons";
32
- import * as i7 from "@memberjunction/ng-base-forms";
33
- import * as i8 from "@memberjunction/ng-code-editor";
34
- import * as i9 from "@memberjunction/ng-shared-generic";
35
- import * as i10 from "@memberjunction/ng-agents";
36
- import * as i11 from "@memberjunction/ng-trees";
37
- import * as i12 from "@angular/common";
27
+ import * as i2 from "@memberjunction/ng-ui-components";
28
+ import * as i3 from "@memberjunction/ng-base-forms";
29
+ import * as i4 from "@memberjunction/ng-code-editor";
30
+ import * as i5 from "@memberjunction/ng-shared-generic";
31
+ import * as i6 from "@memberjunction/ng-agents";
32
+ import * as i7 from "@memberjunction/ng-trees";
33
+ import * as i8 from "@angular/common";
38
34
  const _c0 = ["customSectionContainer"];
39
35
  const _c1 = () => ({ standalone: true });
40
36
  const _forTrack0 = ($index, $item) => $item.ID;
41
37
  const _forTrack1 = ($index, $item) => $item.agent.ID;
42
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelement(0, "img", 29);
38
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelement(0, "img", 113);
44
40
  } if (rf & 2) {
45
41
  const ctx_r2 = i0.ɵɵnextContext(3);
46
42
  i0.ɵɵproperty("src", ctx_r2.record.LogoURL, i0.ɵɵsanitizeUrl)("alt", ctx_r2.record.Name + " logo");
47
43
  } }
48
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
44
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
49
45
  i0.ɵɵelement(0, "i");
50
46
  } if (rf & 2) {
51
47
  const ctx_r2 = i0.ɵɵnextContext(3);
52
48
  i0.ɵɵclassMap(ctx_r2.getAgentIcon());
53
49
  } }
54
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
50
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
55
51
  const _r4 = i0.ɵɵgetCurrentView();
56
- i0.ɵɵelementStart(0, "kendo-textbox", 41);
57
- i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_9_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.record.Name, $event) || (ctx_r2.record.Name = $event); return i0.ɵɵresetView($event); });
52
+ i0.ɵɵelementStart(0, "input", 125);
53
+ i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_9_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.record.Name, $event) || (ctx_r2.record.Name = $event); return i0.ɵɵresetView($event); });
58
54
  i0.ɵɵelementEnd();
59
55
  } if (rf & 2) {
60
56
  const ctx_r2 = i0.ɵɵnextContext(3);
61
57
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.record.Name);
62
58
  } }
63
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_10_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelementStart(0, "h1", 33);
59
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_10_Template(rf, ctx) { if (rf & 1) {
60
+ i0.ɵɵelementStart(0, "h1", 117);
65
61
  i0.ɵɵtext(1);
66
62
  i0.ɵɵelementEnd();
67
63
  } if (rf & 2) {
@@ -69,9 +65,9 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_
69
65
  i0.ɵɵadvance();
70
66
  i0.ɵɵtextInterpolate(ctx_r2.record.Name || "Untitled AI Agent");
71
67
  } }
72
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "span", 42);
74
- i0.ɵɵelement(1, "i", 43);
68
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelementStart(0, "span", 126);
70
+ i0.ɵɵelement(1, "i", 127);
75
71
  i0.ɵɵtext(2);
76
72
  i0.ɵɵelementEnd();
77
73
  } if (rf & 2) {
@@ -80,8 +76,8 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_
80
76
  i0.ɵɵadvance(2);
81
77
  i0.ɵɵtextInterpolate1(" ", ctx_r2.record.Status, " ");
82
78
  } }
83
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_13_Template(rf, ctx) { if (rf & 1) {
84
- i0.ɵɵelementStart(0, "span", 36);
79
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_13_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelementStart(0, "span", 120);
85
81
  i0.ɵɵtext(1);
86
82
  i0.ɵɵelementEnd();
87
83
  } if (rf & 2) {
@@ -89,13 +85,13 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_
89
85
  i0.ɵɵadvance();
90
86
  i0.ɵɵtextInterpolate1(" Agent Type: ", ctx_r2.record.Type, " ");
91
87
  } }
92
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_14_Template(rf, ctx) { if (rf & 1) {
88
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_14_Template(rf, ctx) { if (rf & 1) {
93
89
  const _r5 = i0.ɵɵgetCurrentView();
94
- i0.ɵɵelementStart(0, "span", 44);
95
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_14_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.navigateToParentAgent()); });
96
- i0.ɵɵelement(1, "i", 45);
90
+ i0.ɵɵelementStart(0, "span", 128);
91
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_14_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.navigateToParentAgent()); });
92
+ i0.ɵɵelement(1, "i", 83);
97
93
  i0.ɵɵtext(2);
98
- i0.ɵɵelement(3, "i", 46);
94
+ i0.ɵɵelement(3, "i", 129);
99
95
  i0.ɵɵelementEnd();
100
96
  } if (rf & 2) {
101
97
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -103,16 +99,16 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_
103
99
  i0.ɵɵadvance(2);
104
100
  i0.ɵɵtextInterpolate1(" Child of ", ctx_r2.record.Parent, " ");
105
101
  } }
106
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_16_Template(rf, ctx) { if (rf & 1) {
102
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_16_Template(rf, ctx) { if (rf & 1) {
107
103
  const _r6 = i0.ɵɵgetCurrentView();
108
- i0.ɵɵelementStart(0, "button", 47);
109
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openTestHarness()); });
110
- i0.ɵɵelement(1, "i", 48);
104
+ i0.ɵɵelementStart(0, "button", 130);
105
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openTestHarness()); });
106
+ i0.ɵɵelement(1, "i", 92);
111
107
  i0.ɵɵtext(2, " Run ");
112
108
  i0.ɵɵelementEnd();
113
- i0.ɵɵelementStart(3, "button", 49);
114
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openPermissionsDialog()); });
115
- i0.ɵɵelement(4, "i", 50);
109
+ i0.ɵɵelementStart(3, "button", 131);
110
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openPermissionsDialog()); });
111
+ i0.ɵɵelement(4, "i", 132);
116
112
  i0.ɵɵtext(5);
117
113
  i0.ɵɵelementEnd();
118
114
  } if (rf & 2) {
@@ -126,27 +122,27 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_
126
122
  i0.ɵɵadvance();
127
123
  i0.ɵɵtextInterpolate1(" ", ctx_r2.IsOpenToEveryone ? "Open" : "Restricted", " ");
128
124
  } }
129
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
125
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
130
126
  const _r2 = i0.ɵɵgetCurrentView();
131
- i0.ɵɵelementStart(0, "div", 8)(1, "div", 24)(2, "button", 25);
132
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleHeaderCollapsed()); });
133
- i0.ɵɵelement(3, "i", 26);
134
- i0.ɵɵelementEnd();
135
- i0.ɵɵelementStart(4, "div", 27)(5, "div", 28);
136
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_6_Template, 1, 2, "img", 29)(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_7_Template, 1, 2, "i", 30);
137
- i0.ɵɵelementEnd();
138
- i0.ɵɵelementStart(8, "div", 31);
139
- i0.ɵɵconditionalCreate(9, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_9_Template, 1, 1, "kendo-textbox", 32)(10, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_10_Template, 2, 1, "h1", 33);
140
- i0.ɵɵelementStart(11, "div", 34);
141
- i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_12_Template, 3, 3, "span", 35);
142
- i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_13_Template, 2, 1, "span", 36);
143
- i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_14_Template, 4, 3, "span", 37);
127
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 108)(2, "button", 109);
128
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleHeaderCollapsed()); });
129
+ i0.ɵɵelement(3, "i", 110);
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementStart(4, "div", 111)(5, "div", 112);
132
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_6_Template, 1, 2, "img", 113)(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_7_Template, 1, 2, "i", 114);
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(8, "div", 115);
135
+ i0.ɵɵconditionalCreate(9, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_9_Template, 1, 1, "input", 116)(10, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_10_Template, 2, 1, "h1", 117);
136
+ i0.ɵɵelementStart(11, "div", 118);
137
+ i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_12_Template, 3, 3, "span", 119);
138
+ i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_13_Template, 2, 1, "span", 120);
139
+ i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_14_Template, 4, 3, "span", 121);
144
140
  i0.ɵɵelementEnd()()();
145
- i0.ɵɵelementStart(15, "div", 38);
146
- i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Conditional_16_Template, 6, 9);
147
- i0.ɵɵelementStart(17, "button", 39);
148
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
149
- i0.ɵɵelement(18, "i", 40);
141
+ i0.ɵɵelementStart(15, "div", 122);
142
+ i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Conditional_16_Template, 6, 9);
143
+ i0.ɵɵelementStart(17, "button", 123);
144
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
145
+ i0.ɵɵelement(18, "i", 124);
150
146
  i0.ɵɵelementEnd()()()();
151
147
  } if (rf & 2) {
152
148
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -163,8 +159,8 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Template(rf,
163
159
  i0.ɵɵadvance(2);
164
160
  i0.ɵɵconditional(ctx_r2.record.ID ? 16 : -1);
165
161
  } }
166
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
167
- i0.ɵɵelementStart(0, "span", 57);
162
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵelementStart(0, "span", 139);
168
164
  i0.ɵɵtext(1);
169
165
  i0.ɵɵelementEnd();
170
166
  } if (rf & 2) {
@@ -173,15 +169,15 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_
173
169
  i0.ɵɵadvance();
174
170
  i0.ɵɵtextInterpolate1(" ", ctx_r2.record.Status, " ");
175
171
  } }
176
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_7_Template(rf, ctx) { if (rf & 1) {
172
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_7_Template(rf, ctx) { if (rf & 1) {
177
173
  const _r8 = i0.ɵɵgetCurrentView();
178
- i0.ɵɵelementStart(0, "button", 58);
179
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openTestHarness()); });
180
- i0.ɵɵelement(1, "i", 48);
174
+ i0.ɵɵelementStart(0, "button", 140);
175
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openTestHarness()); });
176
+ i0.ɵɵelement(1, "i", 92);
181
177
  i0.ɵɵelementEnd();
182
- i0.ɵɵelementStart(2, "button", 59);
183
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_7_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openPermissionsDialog()); });
184
- i0.ɵɵelement(3, "i", 50);
178
+ i0.ɵɵelementStart(2, "button", 141);
179
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_7_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openPermissionsDialog()); });
180
+ i0.ɵɵelement(3, "i", 132);
185
181
  i0.ɵɵelementEnd();
186
182
  } if (rf & 2) {
187
183
  const ctx_r2 = i0.ɵɵnextContext(3);
@@ -192,21 +188,21 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_
192
188
  i0.ɵɵstyleProp("color", ctx_r2.IsOpenToEveryone ? "var(--mj-status-success)" : null);
193
189
  i0.ɵɵclassProp("fa-lock-open", ctx_r2.IsOpenToEveryone)("fa-lock", !ctx_r2.IsOpenToEveryone);
194
190
  } }
195
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
191
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
196
192
  const _r7 = i0.ɵɵgetCurrentView();
197
- i0.ɵɵelementStart(0, "div", 9)(1, "button", 51);
198
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleHeaderCollapsed()); });
199
- i0.ɵɵelement(2, "i", 52);
193
+ i0.ɵɵelementStart(0, "div", 7)(1, "button", 133);
194
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleHeaderCollapsed()); });
195
+ i0.ɵɵelement(2, "i", 134);
200
196
  i0.ɵɵelementEnd();
201
- i0.ɵɵelementStart(3, "span", 53);
197
+ i0.ɵɵelementStart(3, "span", 135);
202
198
  i0.ɵɵtext(4);
203
199
  i0.ɵɵelementEnd();
204
- i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_5_Template, 2, 3, "span", 54);
205
- i0.ɵɵelement(6, "div", 55);
206
- i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Conditional_7_Template, 4, 8);
207
- i0.ɵɵelementStart(8, "button", 56);
208
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
209
- i0.ɵɵelement(9, "i", 40);
200
+ i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_5_Template, 2, 3, "span", 136);
201
+ i0.ɵɵelement(6, "div", 137);
202
+ i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Conditional_7_Template, 4, 8);
203
+ i0.ɵɵelementStart(8, "button", 138);
204
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
205
+ i0.ɵɵelement(9, "i", 124);
210
206
  i0.ɵɵelementEnd()();
211
207
  } if (rf & 2) {
212
208
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -217,74 +213,74 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Template(rf,
217
213
  i0.ɵɵadvance(2);
218
214
  i0.ɵɵconditional(ctx_r2.record.ID ? 7 : -1);
219
215
  } }
220
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_1_Template(rf, ctx) { if (rf & 1) {
221
- i0.ɵɵelement(0, "i", 60);
216
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_ng_template_1_Template(rf, ctx) { if (rf & 1) {
217
+ i0.ɵɵelement(0, "i", 144);
222
218
  i0.ɵɵtext(1);
223
219
  } if (rf & 2) {
224
220
  const ctx_r2 = i0.ɵɵnextContext(3);
225
221
  i0.ɵɵadvance();
226
222
  i0.ɵɵtextInterpolate1(" ", ctx_r2.agentType.Name, " Configuration ");
227
223
  } }
228
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
229
- i0.ɵɵelement(0, "mj-loading", 62);
224
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
225
+ i0.ɵɵelement(0, "mj-loading", 143);
230
226
  } if (rf & 2) {
231
- const ctx_r2 = i0.ɵɵnextContext(4);
227
+ const ctx_r2 = i0.ɵɵnextContext(3);
232
228
  i0.ɵɵproperty("text", i0.ɵɵinterpolate1("Loading ", ctx_r2.agentType.Name, " configuration..."));
233
229
  } }
234
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
235
- i0.ɵɵelementStart(0, "div", 61);
236
- i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_2_Conditional_1_Template, 1, 2, "mj-loading", 62);
237
- i0.ɵɵelementContainer(2, null, 1);
238
- i0.ɵɵelementEnd();
230
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
231
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 9);
232
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_ng_template_1_Template, 2, 1, "ng-template", 17);
233
+ i0.ɵɵelementStart(2, "div", 142);
234
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_Conditional_3_Template, 1, 2, "mj-loading", 143);
235
+ i0.ɵɵelementContainer(4, null, 1);
236
+ i0.ɵɵelementEnd()();
239
237
  } if (rf & 2) {
240
- const ctx_r2 = i0.ɵɵnextContext(3);
238
+ const ctx_r2 = i0.ɵɵnextContext(2);
239
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("custom", ctx_r2.agentType.UIFormSectionExpandedByDefault));
240
+ i0.ɵɵadvance(2);
241
241
  i0.ɵɵstyleProp("display", "block");
242
242
  i0.ɵɵadvance();
243
- i0.ɵɵconditional(ctx_r2.loadingStates.customSection ? 1 : -1);
244
- } }
245
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
246
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 12);
247
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_1_Template, 2, 1, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_ng_template_2_Template, 4, 3, "ng-template", 21);
248
- i0.ɵɵelementEnd();
249
- } if (rf & 2) {
250
- const ctx_r2 = i0.ɵɵnextContext(2);
251
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("custom", ctx_r2.agentType.UIFormSectionExpandedByDefault));
243
+ i0.ɵɵconditional(ctx_r2.loadingStates.customSection ? 3 : -1);
252
244
  } }
253
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
254
- i0.ɵɵelementStart(0, "span", 64);
255
- i0.ɵɵelement(1, "i", 65);
245
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
246
+ i0.ɵɵelementStart(0, "span", 149);
247
+ i0.ɵɵelement(1, "i", 150);
256
248
  i0.ɵɵelementEnd();
257
249
  } }
258
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
250
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
259
251
  i0.ɵɵtext(0);
260
252
  } if (rf & 2) {
261
253
  const ctx_r2 = i0.ɵɵnextContext(5);
262
- i0.ɵɵtextInterpolate1(" of ", ctx_r2.totalExecutionHistoryCount, " ");
254
+ i0.ɵɵtextInterpolate1(" of ", ctx_r2.totalExecutionHistoryCount);
263
255
  } }
264
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
256
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
265
257
  i0.ɵɵelementStart(0, "span");
266
258
  i0.ɵɵtext(1);
267
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_3_Conditional_2_Template, 1, 1);
259
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_3_Conditional_2_Template, 1, 1);
260
+ i0.ɵɵtext(3, ")");
268
261
  i0.ɵɵelementEnd();
269
262
  } if (rf & 2) {
270
263
  const ctx_r2 = i0.ɵɵnextContext(4);
271
264
  i0.ɵɵadvance();
272
- i0.ɵɵtextInterpolate1(" (", ctx_r2.executionHistoryCount, ")");
265
+ i0.ɵɵtextInterpolate1(" (", ctx_r2.executionHistoryCount);
273
266
  i0.ɵɵadvance();
274
267
  i0.ɵɵconditional(ctx_r2.executionHistoryCount < ctx_r2.totalExecutionHistoryCount ? 2 : -1);
275
268
  } }
276
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Template(rf, ctx) { if (rf & 1) {
277
- i0.ɵɵelement(0, "i", 63);
269
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Template(rf, ctx) { if (rf & 1) {
270
+ i0.ɵɵelement(0, "i", 148);
278
271
  i0.ɵɵtext(1, " Execution History ");
279
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_2_Template, 2, 0, "span", 64)(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Conditional_3_Template, 3, 2, "span");
272
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Conditional_3_Template, 4, 2, "span");
280
273
  } if (rf & 2) {
281
274
  const ctx_r2 = i0.ɵɵnextContext(3);
282
275
  i0.ɵɵadvance(2);
283
276
  i0.ɵɵconditional(ctx_r2.loadingStates.executionHistory ? 2 : ctx_r2.executionHistoryCount > 0 ? 3 : -1);
284
277
  } }
285
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
286
- i0.ɵɵelementStart(0, "div", 67);
287
- i0.ɵɵelement(1, "i", 63);
278
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
279
+ i0.ɵɵelement(0, "mj-loading", 146);
280
+ } }
281
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_4_Template(rf, ctx) { if (rf & 1) {
282
+ i0.ɵɵelementStart(0, "div", 147);
283
+ i0.ɵɵelement(1, "i", 148);
288
284
  i0.ɵɵelementStart(2, "h4");
289
285
  i0.ɵɵtext(3, "No Execution History");
290
286
  i0.ɵɵelementEnd();
@@ -292,12 +288,9 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
292
288
  i0.ɵɵtext(5, "This agent hasn't been executed yet. Use the Test Agent button to run the agent and see execution history here.");
293
289
  i0.ɵɵelementEnd()();
294
290
  } }
295
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
296
- i0.ɵɵelement(0, "i", 74);
297
- } }
298
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
299
- i0.ɵɵelementStart(0, "div", 67);
300
- i0.ɵɵelement(1, "i", 74);
291
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
292
+ i0.ɵɵelementStart(0, "div", 147);
293
+ i0.ɵɵelement(1, "i", 153);
301
294
  i0.ɵɵelementStart(2, "h4");
302
295
  i0.ɵɵtext(3, "No Matching Results");
303
296
  i0.ɵɵelementEnd();
@@ -305,17 +298,17 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
305
298
  i0.ɵɵtext(5);
306
299
  i0.ɵɵelementEnd()();
307
300
  } if (rf & 2) {
308
- const ctx_r2 = i0.ɵɵnextContext(5);
301
+ const ctx_r2 = i0.ɵɵnextContext(4);
309
302
  i0.ɵɵadvance(5);
310
303
  i0.ɵɵtextInterpolate1("No execution history found matching \"", ctx_r2.executionSearchText, "\"");
311
304
  } }
312
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_14_Template(rf, ctx) { if (rf & 1) {
313
- i0.ɵɵelementStart(0, "div", 85);
314
- i0.ɵɵelement(1, "i", 90);
315
- i0.ɵɵelementStart(2, "span", 91);
305
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_14_Template(rf, ctx) { if (rf & 1) {
306
+ i0.ɵɵelementStart(0, "div", 168);
307
+ i0.ɵɵelement(1, "i", 173);
308
+ i0.ɵɵelementStart(2, "span", 174);
316
309
  i0.ɵɵtext(3, "Config:");
317
310
  i0.ɵɵelementEnd();
318
- i0.ɵɵelementStart(4, "span", 92);
311
+ i0.ɵɵelementStart(4, "span", 175);
319
312
  i0.ɵɵtext(5);
320
313
  i0.ɵɵelementEnd()();
321
314
  } if (rf & 2) {
@@ -323,65 +316,65 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
323
316
  i0.ɵɵadvance(5);
324
317
  i0.ɵɵtextInterpolate(execution_r11.Configuration);
325
318
  } }
326
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_15_Template(rf, ctx) { if (rf & 1) {
327
- i0.ɵɵelementStart(0, "div", 85);
328
- i0.ɵɵelement(1, "i", 93);
329
- i0.ɵɵelementStart(2, "span", 91);
319
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_15_Template(rf, ctx) { if (rf & 1) {
320
+ i0.ɵɵelementStart(0, "div", 168);
321
+ i0.ɵɵelement(1, "i", 176);
322
+ i0.ɵɵelementStart(2, "span", 174);
330
323
  i0.ɵɵtext(3, "Duration:");
331
324
  i0.ɵɵelementEnd();
332
- i0.ɵɵelementStart(4, "span", 92);
325
+ i0.ɵɵelementStart(4, "span", 175);
333
326
  i0.ɵɵtext(5);
334
327
  i0.ɵɵelementEnd()();
335
328
  } if (rf & 2) {
336
329
  const execution_r11 = i0.ɵɵnextContext().$implicit;
337
- const ctx_r2 = i0.ɵɵnextContext(5);
330
+ const ctx_r2 = i0.ɵɵnextContext(4);
338
331
  i0.ɵɵadvance(5);
339
332
  i0.ɵɵtextInterpolate(ctx_r2.formatExecutionTimeFromDates(execution_r11.StartedAt, execution_r11.CompletedAt));
340
333
  } }
341
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_16_Template(rf, ctx) { if (rf & 1) {
342
- i0.ɵɵelementStart(0, "div", 85);
343
- i0.ɵɵelement(1, "i", 94);
344
- i0.ɵɵelementStart(2, "span", 91);
334
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_16_Template(rf, ctx) { if (rf & 1) {
335
+ i0.ɵɵelementStart(0, "div", 168);
336
+ i0.ɵɵelement(1, "i", 177);
337
+ i0.ɵɵelementStart(2, "span", 174);
345
338
  i0.ɵɵtext(3, "Running:");
346
339
  i0.ɵɵelementEnd()();
347
340
  } }
348
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_17_Template(rf, ctx) { if (rf & 1) {
349
- i0.ɵɵelementStart(0, "div", 85);
350
- i0.ɵɵelement(1, "i", 95);
351
- i0.ɵɵelementStart(2, "span", 91);
341
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_17_Template(rf, ctx) { if (rf & 1) {
342
+ i0.ɵɵelementStart(0, "div", 168);
343
+ i0.ɵɵelement(1, "i", 178);
344
+ i0.ɵɵelementStart(2, "span", 174);
352
345
  i0.ɵɵtext(3, "Tokens:");
353
346
  i0.ɵɵelementEnd();
354
- i0.ɵɵelementStart(4, "span", 92);
347
+ i0.ɵɵelementStart(4, "span", 175);
355
348
  i0.ɵɵtext(5);
356
349
  i0.ɵɵelementEnd()();
357
350
  } if (rf & 2) {
358
351
  const execution_r11 = i0.ɵɵnextContext().$implicit;
359
- const ctx_r2 = i0.ɵɵnextContext(5);
352
+ const ctx_r2 = i0.ɵɵnextContext(4);
360
353
  i0.ɵɵadvance(5);
361
354
  i0.ɵɵtextInterpolate(ctx_r2.formatTokenCount(execution_r11.TotalTokensUsedRollup || execution_r11.TotalTokensUsed));
362
355
  } }
363
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_18_Template(rf, ctx) { if (rf & 1) {
364
- i0.ɵɵelementStart(0, "div", 85);
365
- i0.ɵɵelement(1, "i", 96);
366
- i0.ɵɵelementStart(2, "span", 91);
356
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_18_Template(rf, ctx) { if (rf & 1) {
357
+ i0.ɵɵelementStart(0, "div", 168);
358
+ i0.ɵɵelement(1, "i", 179);
359
+ i0.ɵɵelementStart(2, "span", 174);
367
360
  i0.ɵɵtext(3, "Cost:");
368
361
  i0.ɵɵelementEnd();
369
- i0.ɵɵelementStart(4, "span", 92);
362
+ i0.ɵɵelementStart(4, "span", 175);
370
363
  i0.ɵɵtext(5);
371
364
  i0.ɵɵelementEnd()();
372
365
  } if (rf & 2) {
373
366
  const execution_r11 = i0.ɵɵnextContext().$implicit;
374
- const ctx_r2 = i0.ɵɵnextContext(5);
367
+ const ctx_r2 = i0.ɵɵnextContext(4);
375
368
  i0.ɵɵadvance(5);
376
369
  i0.ɵɵtextInterpolate1("$", ctx_r2.formatCost(execution_r11.TotalCostRollup || execution_r11.TotalCost));
377
370
  } }
378
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_11_Template(rf, ctx) { if (rf & 1) {
379
- i0.ɵɵelementStart(0, "div", 99);
380
- i0.ɵɵelement(1, "i", 105);
381
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
371
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_11_Template(rf, ctx) { if (rf & 1) {
372
+ i0.ɵɵelementStart(0, "div", 182);
373
+ i0.ɵɵelement(1, "i", 188);
374
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
382
375
  i0.ɵɵtext(4, "Completed");
383
376
  i0.ɵɵelementEnd();
384
- i0.ɵɵelementStart(5, "span", 102);
377
+ i0.ɵɵelementStart(5, "span", 185);
385
378
  i0.ɵɵtext(6);
386
379
  i0.ɵɵpipe(7, "date");
387
380
  i0.ɵɵelementEnd()()();
@@ -390,73 +383,73 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
390
383
  i0.ɵɵadvance(6);
391
384
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 1, execution_r11.CompletedAt, "medium"));
392
385
  } }
393
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_12_Template(rf, ctx) { if (rf & 1) {
394
- i0.ɵɵelementStart(0, "div", 99);
395
- i0.ɵɵelement(1, "i", 95);
396
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
386
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_12_Template(rf, ctx) { if (rf & 1) {
387
+ i0.ɵɵelementStart(0, "div", 182);
388
+ i0.ɵɵelement(1, "i", 178);
389
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
397
390
  i0.ɵɵtext(4, "Direct Tokens");
398
391
  i0.ɵɵelementEnd();
399
- i0.ɵɵelementStart(5, "span", 102);
392
+ i0.ɵɵelementStart(5, "span", 185);
400
393
  i0.ɵɵtext(6);
401
394
  i0.ɵɵelementEnd()()();
402
395
  } if (rf & 2) {
403
396
  const execution_r11 = i0.ɵɵnextContext(2).$implicit;
404
- const ctx_r2 = i0.ɵɵnextContext(5);
397
+ const ctx_r2 = i0.ɵɵnextContext(4);
405
398
  i0.ɵɵadvance(6);
406
399
  i0.ɵɵtextInterpolate(ctx_r2.formatTokenCount(execution_r11.TotalTokensUsed));
407
400
  } }
408
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_13_Template(rf, ctx) { if (rf & 1) {
409
- i0.ɵɵelementStart(0, "div", 99);
410
- i0.ɵɵelement(1, "i", 45);
411
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
401
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_13_Template(rf, ctx) { if (rf & 1) {
402
+ i0.ɵɵelementStart(0, "div", 182);
403
+ i0.ɵɵelement(1, "i", 83);
404
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
412
405
  i0.ɵɵtext(4, "Total + Sub-agents");
413
406
  i0.ɵɵelementEnd();
414
- i0.ɵɵelementStart(5, "span", 102);
407
+ i0.ɵɵelementStart(5, "span", 185);
415
408
  i0.ɵɵtext(6);
416
409
  i0.ɵɵelementEnd()()();
417
410
  } if (rf & 2) {
418
411
  const execution_r11 = i0.ɵɵnextContext(2).$implicit;
419
- const ctx_r2 = i0.ɵɵnextContext(5);
412
+ const ctx_r2 = i0.ɵɵnextContext(4);
420
413
  i0.ɵɵadvance(6);
421
414
  i0.ɵɵtextInterpolate(ctx_r2.formatTokenCount(execution_r11.TotalTokensUsedRollup));
422
415
  } }
423
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_14_Template(rf, ctx) { if (rf & 1) {
424
- i0.ɵɵelementStart(0, "div", 99);
425
- i0.ɵɵelement(1, "i", 96);
426
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
416
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_14_Template(rf, ctx) { if (rf & 1) {
417
+ i0.ɵɵelementStart(0, "div", 182);
418
+ i0.ɵɵelement(1, "i", 179);
419
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
427
420
  i0.ɵɵtext(4, "Direct Cost");
428
421
  i0.ɵɵelementEnd();
429
- i0.ɵɵelementStart(5, "span", 102);
422
+ i0.ɵɵelementStart(5, "span", 185);
430
423
  i0.ɵɵtext(6);
431
424
  i0.ɵɵelementEnd()()();
432
425
  } if (rf & 2) {
433
426
  const execution_r11 = i0.ɵɵnextContext(2).$implicit;
434
- const ctx_r2 = i0.ɵɵnextContext(5);
427
+ const ctx_r2 = i0.ɵɵnextContext(4);
435
428
  i0.ɵɵadvance(6);
436
429
  i0.ɵɵtextInterpolate1("$", ctx_r2.formatCost(execution_r11.TotalCost));
437
430
  } }
438
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_15_Template(rf, ctx) { if (rf & 1) {
439
- i0.ɵɵelementStart(0, "div", 99);
440
- i0.ɵɵelement(1, "i", 106);
441
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
431
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_15_Template(rf, ctx) { if (rf & 1) {
432
+ i0.ɵɵelementStart(0, "div", 182);
433
+ i0.ɵɵelement(1, "i", 189);
434
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
442
435
  i0.ɵɵtext(4, "Total + Sub-agents");
443
436
  i0.ɵɵelementEnd();
444
- i0.ɵɵelementStart(5, "span", 102);
437
+ i0.ɵɵelementStart(5, "span", 185);
445
438
  i0.ɵɵtext(6);
446
439
  i0.ɵɵelementEnd()()();
447
440
  } if (rf & 2) {
448
441
  const execution_r11 = i0.ɵɵnextContext(2).$implicit;
449
- const ctx_r2 = i0.ɵɵnextContext(5);
442
+ const ctx_r2 = i0.ɵɵnextContext(4);
450
443
  i0.ɵɵadvance(6);
451
444
  i0.ɵɵtextInterpolate1("$", ctx_r2.formatCost(execution_r11.TotalCostRollup));
452
445
  } }
453
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_16_Template(rf, ctx) { if (rf & 1) {
454
- i0.ɵɵelementStart(0, "div", 99);
455
- i0.ɵɵelement(1, "i", 107);
456
- i0.ɵɵelementStart(2, "div", 100)(3, "span", 101);
446
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_16_Template(rf, ctx) { if (rf & 1) {
447
+ i0.ɵɵelementStart(0, "div", 182);
448
+ i0.ɵɵelement(1, "i", 190);
449
+ i0.ɵɵelementStart(2, "div", 183)(3, "span", 184);
457
450
  i0.ɵɵtext(4, "Conversation");
458
451
  i0.ɵɵelementEnd();
459
- i0.ɵɵelementStart(5, "span", 102);
452
+ i0.ɵɵelementStart(5, "span", 185);
460
453
  i0.ɵɵtext(6);
461
454
  i0.ɵɵelementEnd()()();
462
455
  } if (rf & 2) {
@@ -464,25 +457,25 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
464
457
  i0.ɵɵadvance(6);
465
458
  i0.ɵɵtextInterpolate1("", execution_r11.ConversationID.substring(0, 8), "...");
466
459
  } }
467
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_17_Template(rf, ctx) { if (rf & 1) {
468
- i0.ɵɵelementStart(0, "div", 103)(1, "h5");
469
- i0.ɵɵelement(2, "i", 108);
460
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_17_Template(rf, ctx) { if (rf & 1) {
461
+ i0.ɵɵelementStart(0, "div", 186)(1, "h5");
462
+ i0.ɵɵelement(2, "i", 191);
470
463
  i0.ɵɵtext(3, " Result");
471
464
  i0.ɵɵelementEnd();
472
- i0.ɵɵelement(4, "mj-code-editor", 109);
465
+ i0.ɵɵelement(4, "mj-code-editor", 192);
473
466
  i0.ɵɵelementEnd();
474
467
  } if (rf & 2) {
475
468
  const execution_r11 = i0.ɵɵnextContext(2).$implicit;
476
- const ctx_r2 = i0.ɵɵnextContext(5);
469
+ const ctx_r2 = i0.ɵɵnextContext(4);
477
470
  i0.ɵɵadvance(4);
478
471
  i0.ɵɵproperty("value", ctx_r2.getExecutionResultPreview(execution_r11, false))("readonly", true)("lineWrapping", true);
479
472
  } }
480
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_18_Template(rf, ctx) { if (rf & 1) {
481
- i0.ɵɵelementStart(0, "div", 104)(1, "h5");
482
- i0.ɵɵelement(2, "i", 110);
473
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_18_Template(rf, ctx) { if (rf & 1) {
474
+ i0.ɵɵelementStart(0, "div", 187)(1, "h5");
475
+ i0.ɵɵelement(2, "i", 193);
483
476
  i0.ɵɵtext(3, " Error");
484
477
  i0.ɵɵelementEnd();
485
- i0.ɵɵelementStart(4, "div", 111);
478
+ i0.ɵɵelementStart(4, "div", 194);
486
479
  i0.ɵɵtext(5);
487
480
  i0.ɵɵelementEnd()();
488
481
  } if (rf & 2) {
@@ -490,25 +483,25 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
490
483
  i0.ɵɵadvance(5);
491
484
  i0.ɵɵtextInterpolate(execution_r11.ErrorMessage);
492
485
  } }
493
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Template(rf, ctx) { if (rf & 1) {
494
- i0.ɵɵelementStart(0, "div", 89)(1, "div", 97)(2, "div", 98)(3, "div", 99);
495
- i0.ɵɵelement(4, "i", 94);
496
- i0.ɵɵelementStart(5, "div", 100)(6, "span", 101);
486
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Template(rf, ctx) { if (rf & 1) {
487
+ i0.ɵɵelementStart(0, "div", 172)(1, "div", 180)(2, "div", 181)(3, "div", 182);
488
+ i0.ɵɵelement(4, "i", 177);
489
+ i0.ɵɵelementStart(5, "div", 183)(6, "span", 184);
497
490
  i0.ɵɵtext(7, "Started");
498
491
  i0.ɵɵelementEnd();
499
- i0.ɵɵelementStart(8, "span", 102);
492
+ i0.ɵɵelementStart(8, "span", 185);
500
493
  i0.ɵɵtext(9);
501
494
  i0.ɵɵpipe(10, "date");
502
495
  i0.ɵɵelementEnd()()();
503
- i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_11_Template, 8, 4, "div", 99);
504
- i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_12_Template, 7, 1, "div", 99);
505
- i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_13_Template, 7, 1, "div", 99);
506
- i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_14_Template, 7, 1, "div", 99);
507
- i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_15_Template, 7, 1, "div", 99);
508
- i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_16_Template, 7, 1, "div", 99);
496
+ i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_11_Template, 8, 4, "div", 182);
497
+ i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_12_Template, 7, 1, "div", 182);
498
+ i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_13_Template, 7, 1, "div", 182);
499
+ i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_14_Template, 7, 1, "div", 182);
500
+ i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_15_Template, 7, 1, "div", 182);
501
+ i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_16_Template, 7, 1, "div", 182);
509
502
  i0.ɵɵelementEnd()();
510
- i0.ɵɵconditionalCreate(17, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_17_Template, 5, 3, "div", 103);
511
- i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Conditional_18_Template, 6, 1, "div", 104);
503
+ i0.ɵɵconditionalCreate(17, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_17_Template, 5, 3, "div", 186);
504
+ i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Conditional_18_Template, 6, 1, "div", 187);
512
505
  i0.ɵɵelementEnd();
513
506
  } if (rf & 2) {
514
507
  const execution_r11 = i0.ɵɵnextContext().$implicit;
@@ -531,36 +524,36 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
531
524
  i0.ɵɵadvance();
532
525
  i0.ɵɵconditional(execution_r11.ErrorMessage ? 18 : -1);
533
526
  } }
534
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Template(rf, ctx) { if (rf & 1) {
527
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Template(rf, ctx) { if (rf & 1) {
535
528
  const _r10 = i0.ɵɵgetCurrentView();
536
- i0.ɵɵelementStart(0, "div", 75)(1, "div", 76);
537
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Template_div_click_1_listener() { const execution_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.toggleExecutionExpanded(execution_r11.ID)); });
538
- i0.ɵɵelementStart(2, "div", 77)(3, "div", 78)(4, "div", 79);
529
+ i0.ɵɵelementStart(0, "div", 158)(1, "div", 159);
530
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Template_div_click_1_listener() { const execution_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.toggleExecutionExpanded(execution_r11.ID)); });
531
+ i0.ɵɵelementStart(2, "div", 160)(3, "div", 161)(4, "div", 162);
539
532
  i0.ɵɵelement(5, "i");
540
533
  i0.ɵɵelementEnd();
541
- i0.ɵɵelementStart(6, "div", 80)(7, "div", 81);
542
- i0.ɵɵelement(8, "i", 82);
534
+ i0.ɵɵelementStart(6, "div", 163)(7, "div", 164);
535
+ i0.ɵɵelement(8, "i", 165);
543
536
  i0.ɵɵtext(9);
544
537
  i0.ɵɵelementEnd();
545
- i0.ɵɵelementStart(10, "div", 83);
538
+ i0.ɵɵelementStart(10, "div", 166);
546
539
  i0.ɵɵtext(11);
547
540
  i0.ɵɵpipe(12, "date");
548
541
  i0.ɵɵelementEnd()()();
549
- i0.ɵɵelementStart(13, "div", 84);
550
- i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_14_Template, 6, 1, "div", 85);
551
- i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_15_Template, 6, 1, "div", 85)(16, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_16_Template, 4, 0, "div", 85);
552
- i0.ɵɵconditionalCreate(17, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_17_Template, 6, 1, "div", 85);
553
- i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_18_Template, 6, 1, "div", 85);
542
+ i0.ɵɵelementStart(13, "div", 167);
543
+ i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_14_Template, 6, 1, "div", 168);
544
+ i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_15_Template, 6, 1, "div", 168)(16, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_16_Template, 4, 0, "div", 168);
545
+ i0.ɵɵconditionalCreate(17, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_17_Template, 6, 1, "div", 168);
546
+ i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_18_Template, 6, 1, "div", 168);
554
547
  i0.ɵɵelementEnd()();
555
- i0.ɵɵelementStart(19, "div", 86)(20, "button", 87);
556
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Template_button_click_20_listener($event) { const execution_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); ctx_r2.openExecutionRecord(execution_r11.ID); return i0.ɵɵresetView($event.stopPropagation()); });
557
- i0.ɵɵelement(21, "i", 88);
548
+ i0.ɵɵelementStart(19, "div", 169)(20, "button", 170);
549
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Template_button_click_20_listener($event) { const execution_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); ctx_r2.openExecutionRecord(execution_r11.ID); return i0.ɵɵresetView($event.stopPropagation()); });
550
+ i0.ɵɵelement(21, "i", 171);
558
551
  i0.ɵɵelementEnd()()();
559
- i0.ɵɵconditionalCreate(22, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Conditional_22_Template, 19, 12, "div", 89);
552
+ i0.ɵɵconditionalCreate(22, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Conditional_22_Template, 19, 12, "div", 172);
560
553
  i0.ɵɵelementEnd();
561
554
  } if (rf & 2) {
562
555
  const execution_r11 = ctx.$implicit;
563
- const ctx_r2 = i0.ɵɵnextContext(5);
556
+ const ctx_r2 = i0.ɵɵnextContext(4);
564
557
  i0.ɵɵclassProp("expanded", ctx_r2.expandedExecutions[execution_r11.ID]);
565
558
  i0.ɵɵadvance(4);
566
559
  i0.ɵɵstyleProp("background-color", ctx_r2.getExecutionStatusColor(execution_r11.Status));
@@ -583,43 +576,43 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
583
576
  i0.ɵɵadvance(4);
584
577
  i0.ɵɵconditional(ctx_r2.expandedExecutions[execution_r11.ID] ? 22 : -1);
585
578
  } }
586
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Conditional_5_Template(rf, ctx) { if (rf & 1) {
587
- i0.ɵɵelement(0, "i", 118);
579
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Conditional_5_Template(rf, ctx) { if (rf & 1) {
580
+ i0.ɵɵelement(0, "i", 201);
588
581
  i0.ɵɵtext(1, " Loading... ");
589
582
  } }
590
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Conditional_6_Template(rf, ctx) { if (rf & 1) {
583
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Conditional_6_Template(rf, ctx) { if (rf & 1) {
591
584
  i0.ɵɵtext(0);
592
- i0.ɵɵelementStart(1, "span", 119);
585
+ i0.ɵɵelementStart(1, "span", 202);
593
586
  i0.ɵɵtext(2);
594
587
  i0.ɵɵelementEnd();
595
588
  } if (rf & 2) {
596
- const ctx_r2 = i0.ɵɵnextContext(6);
589
+ const ctx_r2 = i0.ɵɵnextContext(5);
597
590
  i0.ɵɵtextInterpolate2(" Page ", ctx_r2.executionHistoryCurrentPage, " of ", ctx_r2.totalPages, " ");
598
591
  i0.ɵɵadvance(2);
599
592
  i0.ɵɵtextInterpolate1("(", ctx_r2.totalExecutionHistoryCount, " total)");
600
593
  } }
601
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
594
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Template(rf, ctx) { if (rf & 1) {
602
595
  const _r12 = i0.ɵɵgetCurrentView();
603
- i0.ɵɵelementStart(0, "div", 73)(1, "button", 112);
604
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.goToPreviousPage()); });
605
- i0.ɵɵelement(2, "i", 113);
596
+ i0.ɵɵelementStart(0, "div", 157)(1, "button", 195);
597
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.goToPreviousPage()); });
598
+ i0.ɵɵelement(2, "i", 196);
606
599
  i0.ɵɵtext(3, " Previous ");
607
600
  i0.ɵɵelementEnd();
608
- i0.ɵɵelementStart(4, "div", 114);
609
- i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Conditional_5_Template, 2, 0)(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Conditional_6_Template, 3, 3);
601
+ i0.ɵɵelementStart(4, "div", 197);
602
+ i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Conditional_5_Template, 2, 0)(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Conditional_6_Template, 3, 3);
610
603
  i0.ɵɵelementEnd();
611
- i0.ɵɵelementStart(7, "button", 112);
612
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.goToNextPage()); });
604
+ i0.ɵɵelementStart(7, "button", 195);
605
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.goToNextPage()); });
613
606
  i0.ɵɵtext(8, " Next ");
614
- i0.ɵɵelement(9, "i", 115);
607
+ i0.ɵɵelement(9, "i", 198);
615
608
  i0.ɵɵelementEnd();
616
- i0.ɵɵelementStart(10, "button", 116);
617
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Runs", "")); });
618
- i0.ɵɵelement(11, "i", 117);
609
+ i0.ɵɵelementStart(10, "button", 199);
610
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Runs", "")); });
611
+ i0.ɵɵelement(11, "i", 200);
619
612
  i0.ɵɵtext(12, " View All in Grid ");
620
613
  i0.ɵɵelementEnd()();
621
614
  } if (rf & 2) {
622
- const ctx_r2 = i0.ɵɵnextContext(5);
615
+ const ctx_r2 = i0.ɵɵnextContext(4);
623
616
  i0.ɵɵadvance();
624
617
  i0.ɵɵproperty("disabled", !ctx_r2.hasPreviousPage || ctx_r2.isLoadingPage);
625
618
  i0.ɵɵadvance(4);
@@ -627,53 +620,49 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_
627
620
  i0.ɵɵadvance(2);
628
621
  i0.ɵɵproperty("disabled", !ctx_r2.hasNextPage || ctx_r2.isLoadingPage);
629
622
  } }
630
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
623
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Template(rf, ctx) { if (rf & 1) {
631
624
  const _r9 = i0.ɵɵgetCurrentView();
632
- i0.ɵɵelementStart(0, "div", 68)(1, "kendo-textbox", 69);
633
- i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Template_kendo_textbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r2.executionSearchText, $event) || (ctx_r2.executionSearchText = $event); return i0.ɵɵresetView($event); });
634
- i0.ɵɵlistener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Template_kendo_textbox_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.onExecutionSearchChange()); });
635
- i0.ɵɵtemplate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_ng_template_2_Template, 1, 0, "ng-template", 70);
636
- i0.ɵɵelementEnd()();
637
- i0.ɵɵelementStart(3, "div", 71);
638
- i0.ɵɵconditionalCreate(4, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_4_Template, 6, 1, "div", 67);
639
- i0.ɵɵrepeaterCreate(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_For_6_Template, 23, 18, "div", 72, _forTrack0);
640
- i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Conditional_7_Template, 13, 3, "div", 73);
625
+ i0.ɵɵelementStart(0, "div", 151)(1, "div", 152);
626
+ i0.ɵɵelement(2, "i", 153);
627
+ i0.ɵɵelementStart(3, "input", 154);
628
+ i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.executionSearchText, $event) || (ctx_r2.executionSearchText = $event); return i0.ɵɵresetView($event); });
629
+ i0.ɵɵlistener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onExecutionSearchChange()); });
630
+ i0.ɵɵelementEnd()()();
631
+ i0.ɵɵelementStart(4, "div", 155);
632
+ i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_5_Template, 6, 1, "div", 147);
633
+ i0.ɵɵrepeaterCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_For_7_Template, 23, 18, "div", 156, _forTrack0);
634
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Conditional_8_Template, 13, 3, "div", 157);
641
635
  i0.ɵɵelementEnd();
642
636
  } if (rf & 2) {
643
- const ctx_r2 = i0.ɵɵnextContext(4);
644
- i0.ɵɵadvance();
645
- i0.ɵɵtwoWayProperty("ngModel", ctx_r2.executionSearchText);
646
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(5, _c1))("clearButton", true);
637
+ const ctx_r2 = i0.ɵɵnextContext(3);
647
638
  i0.ɵɵadvance(3);
648
- i0.ɵɵconditional(ctx_r2.filteredExecutions.length === 0 ? 4 : -1);
639
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r2.executionSearchText);
640
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(4, _c1));
641
+ i0.ɵɵadvance(2);
642
+ i0.ɵɵconditional(ctx_r2.filteredExecutions.length === 0 ? 5 : -1);
649
643
  i0.ɵɵadvance();
650
644
  i0.ɵɵrepeater(ctx_r2.filteredExecutions);
651
645
  i0.ɵɵadvance(2);
652
- i0.ɵɵconditional(ctx_r2.totalPages > 1 ? 7 : -1);
653
- } }
654
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Template(rf, ctx) { if (rf & 1) {
655
- i0.ɵɵelementStart(0, "div", 66);
656
- i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_1_Template, 6, 0, "div", 67)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Conditional_2_Template, 8, 6);
657
- i0.ɵɵelementEnd();
658
- } if (rf & 2) {
659
- const ctx_r2 = i0.ɵɵnextContext(3);
660
- i0.ɵɵadvance();
661
- i0.ɵɵconditional(ctx_r2.executionHistoryCount === 0 ? 1 : 2);
646
+ i0.ɵɵconditional(ctx_r2.totalPages > 1 ? 8 : -1);
662
647
  } }
663
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
664
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 13);
665
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_1_Template, 4, 1, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_ng_template_2_Template, 3, 1, "ng-template", 21);
666
- i0.ɵɵelementEnd();
648
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
649
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 10);
650
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_ng_template_1_Template, 4, 1, "ng-template", 17);
651
+ i0.ɵɵelementStart(2, "div", 145);
652
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_3_Template, 1, 0, "mj-loading", 146)(4, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_4_Template, 6, 0, "div", 147)(5, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Conditional_5_Template, 9, 5);
653
+ i0.ɵɵelementEnd()();
667
654
  } if (rf & 2) {
668
655
  const ctx_r2 = i0.ɵɵnextContext(2);
669
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("history", false))("disabled", ctx_r2.loadingStates.executionHistory);
656
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("history", false))("Disabled", ctx_r2.loadingStates.executionHistory);
657
+ i0.ɵɵadvance(3);
658
+ i0.ɵɵconditional(ctx_r2.loadingStates.executionHistory ? 3 : ctx_r2.executionHistoryCount === 0 ? 4 : 5);
670
659
  } }
671
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
672
- i0.ɵɵelementStart(0, "span", 64);
673
- i0.ɵɵelement(1, "i", 65);
660
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
661
+ i0.ɵɵelementStart(0, "span", 149);
662
+ i0.ɵɵelement(1, "i", 150);
674
663
  i0.ɵɵelementEnd();
675
664
  } }
676
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
665
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
677
666
  i0.ɵɵelementStart(0, "span");
678
667
  i0.ɵɵtext(1);
679
668
  i0.ɵɵelementEnd();
@@ -682,56 +671,56 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_
682
671
  i0.ɵɵadvance();
683
672
  i0.ɵɵtextInterpolate1(" (", ctx_r2.actionCount, ")");
684
673
  } }
685
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Template(rf, ctx) { if (rf & 1) {
686
- i0.ɵɵelement(0, "i", 120);
674
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Template(rf, ctx) { if (rf & 1) {
675
+ i0.ɵɵelement(0, "i", 87);
687
676
  i0.ɵɵtext(1, " Actions ");
688
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Conditional_2_Template, 2, 0, "span", 64)(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Conditional_3_Template, 2, 1, "span");
677
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Conditional_3_Template, 2, 1, "span");
689
678
  } if (rf & 2) {
690
679
  const ctx_r2 = i0.ɵɵnextContext(3);
691
680
  i0.ɵɵadvance(2);
692
681
  i0.ɵɵconditional(ctx_r2.loadingStates.actions ? 2 : ctx_r2.actionCount > 0 ? 3 : -1);
693
682
  } }
694
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
695
- i0.ɵɵelementStart(0, "div", 122);
696
- i0.ɵɵelement(1, "i", 118);
683
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
684
+ i0.ɵɵelementStart(0, "div", 203);
685
+ i0.ɵɵelement(1, "i", 201);
697
686
  i0.ɵɵelementStart(2, "p");
698
687
  i0.ɵɵtext(3, "Loading actions...");
699
688
  i0.ɵɵelementEnd()();
700
689
  } }
701
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
690
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
702
691
  const _r13 = i0.ɵɵgetCurrentView();
703
- i0.ɵɵelementStart(0, "button", 127);
704
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.configureActions()); });
705
- i0.ɵɵelement(1, "i", 128);
692
+ i0.ɵɵelementStart(0, "button", 207);
693
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.configureActions()); });
694
+ i0.ɵɵelement(1, "i", 208);
706
695
  i0.ɵɵtext(2, " Add Action ");
707
696
  i0.ɵɵelementEnd();
708
697
  } }
709
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
698
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
710
699
  const _r14 = i0.ɵɵgetCurrentView();
711
- i0.ɵɵelementStart(0, "button", 130);
712
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_3_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.configureActions()); });
713
- i0.ɵɵelement(1, "i", 128);
700
+ i0.ɵɵelementStart(0, "button", 210);
701
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_3_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.configureActions()); });
702
+ i0.ɵɵelement(1, "i", 208);
714
703
  i0.ɵɵtext(2, " Configure First Action ");
715
704
  i0.ɵɵelementEnd();
716
705
  } }
717
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
718
- i0.ɵɵelementStart(0, "div", 67);
719
- i0.ɵɵelement(1, "i", 120);
706
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
707
+ i0.ɵɵelementStart(0, "div", 147);
708
+ i0.ɵɵelement(1, "i", 87);
720
709
  i0.ɵɵelementStart(2, "h4");
721
710
  i0.ɵɵtext(3, "No Actions Configured");
722
711
  i0.ɵɵelementEnd();
723
712
  i0.ɵɵelementStart(4, "p");
724
713
  i0.ɵɵtext(5, "Add actions to enable this agent to perform specific tasks and operations.");
725
714
  i0.ɵɵelementEnd();
726
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_3_Conditional_6_Template, 3, 0, "button", 129);
715
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_3_Conditional_6_Template, 3, 0, "button", 209);
727
716
  i0.ɵɵelementEnd();
728
717
  } if (rf & 2) {
729
- const ctx_r2 = i0.ɵɵnextContext(5);
718
+ const ctx_r2 = i0.ɵɵnextContext(4);
730
719
  i0.ɵɵadvance(6);
731
720
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateActions ? 6 : -1);
732
721
  } }
733
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
734
- i0.ɵɵelementStart(0, "div", 137);
722
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
723
+ i0.ɵɵelementStart(0, "div", 217);
735
724
  i0.ɵɵtext(1);
736
725
  i0.ɵɵelementEnd();
737
726
  } if (rf & 2) {
@@ -739,8 +728,8 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_
739
728
  i0.ɵɵadvance();
740
729
  i0.ɵɵtextInterpolate(action_r16.Description);
741
730
  } }
742
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
743
- i0.ɵɵelementStart(0, "span", 139);
731
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
732
+ i0.ɵɵelementStart(0, "span", 219);
744
733
  i0.ɵɵtext(1);
745
734
  i0.ɵɵelementEnd();
746
735
  } if (rf & 2) {
@@ -748,37 +737,37 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_
748
737
  i0.ɵɵadvance();
749
738
  i0.ɵɵtextInterpolate(action_r16.Type);
750
739
  } }
751
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
740
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
752
741
  const _r17 = i0.ɵɵgetCurrentView();
753
- i0.ɵɵelementStart(0, "button", 143);
754
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r17); const action_r16 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.removeAction(action_r16, $event)); });
755
- i0.ɵɵelement(1, "i", 144);
742
+ i0.ɵɵelementStart(0, "button", 223);
743
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r17); const action_r16 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.removeAction(action_r16, $event)); });
744
+ i0.ɵɵelement(1, "i", 224);
756
745
  i0.ɵɵelementEnd();
757
746
  } }
758
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
747
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
759
748
  const _r15 = i0.ɵɵgetCurrentView();
760
- i0.ɵɵelementStart(0, "div", 133);
761
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Template_div_click_0_listener() { const action_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: Actions", action_r16.ID)); });
762
- i0.ɵɵelementStart(1, "div", 134);
749
+ i0.ɵɵelementStart(0, "div", 213);
750
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Template_div_click_0_listener() { const action_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: Actions", action_r16.ID)); });
751
+ i0.ɵɵelementStart(1, "div", 214);
763
752
  i0.ɵɵelement(2, "i");
764
753
  i0.ɵɵelementEnd();
765
- i0.ɵɵelementStart(3, "div", 135)(4, "div", 136);
754
+ i0.ɵɵelementStart(3, "div", 215)(4, "div", 216);
766
755
  i0.ɵɵtext(5);
767
756
  i0.ɵɵelementEnd();
768
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_6_Template, 2, 1, "div", 137);
769
- i0.ɵɵelementStart(7, "div", 138);
770
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_8_Template, 2, 1, "span", 139);
771
- i0.ɵɵelementStart(9, "span", 140);
772
- i0.ɵɵelement(10, "i", 50);
757
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_6_Template, 2, 1, "div", 217);
758
+ i0.ɵɵelementStart(7, "div", 218);
759
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_8_Template, 2, 1, "span", 219);
760
+ i0.ɵɵelementStart(9, "span", 220);
761
+ i0.ɵɵelement(10, "i", 132);
773
762
  i0.ɵɵtext(11);
774
763
  i0.ɵɵelementEnd()()();
775
- i0.ɵɵelementStart(12, "div", 141);
776
- i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Conditional_13_Template, 2, 0, "button", 142);
777
- i0.ɵɵelement(14, "i", 117);
764
+ i0.ɵɵelementStart(12, "div", 221);
765
+ i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Conditional_13_Template, 2, 0, "button", 222);
766
+ i0.ɵɵelement(14, "i", 200);
778
767
  i0.ɵɵelementEnd()();
779
768
  } if (rf & 2) {
780
769
  const action_r16 = ctx.$implicit;
781
- const ctx_r2 = i0.ɵɵnextContext(6);
770
+ const ctx_r2 = i0.ɵɵnextContext(5);
782
771
  i0.ɵɵadvance(2);
783
772
  i0.ɵɵclassMap(ctx_r2.getActionIcon(action_r16));
784
773
  i0.ɵɵadvance(3);
@@ -796,65 +785,60 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_
796
785
  i0.ɵɵadvance(2);
797
786
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanDeleteActions ? 13 : -1);
798
787
  } }
799
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
788
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
800
789
  const _r18 = i0.ɵɵgetCurrentView();
801
- i0.ɵɵelementStart(0, "div", 145);
802
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Actions", "")); });
790
+ i0.ɵɵelementStart(0, "div", 225);
791
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Actions", "")); });
803
792
  i0.ɵɵelementStart(1, "span");
804
793
  i0.ɵɵtext(2);
805
794
  i0.ɵɵelementEnd()();
806
795
  } if (rf & 2) {
807
- const ctx_r2 = i0.ɵɵnextContext(6);
796
+ const ctx_r2 = i0.ɵɵnextContext(5);
808
797
  i0.ɵɵadvance(2);
809
798
  i0.ɵɵtextInterpolate1("View all ", ctx_r2.actionCount, " actions...");
810
799
  } }
811
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
812
- i0.ɵɵelementStart(0, "div", 126);
813
- i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_For_2_Template, 15, 15, "div", 131, _forTrack0);
814
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_Conditional_3_Template, 3, 1, "div", 132);
800
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
801
+ i0.ɵɵelementStart(0, "div", 206);
802
+ i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_For_2_Template, 15, 15, "div", 211, _forTrack0);
803
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_Conditional_3_Template, 3, 1, "div", 212);
815
804
  i0.ɵɵelementEnd();
816
805
  } if (rf & 2) {
817
- const ctx_r2 = i0.ɵɵnextContext(5);
806
+ const ctx_r2 = i0.ɵɵnextContext(4);
818
807
  i0.ɵɵadvance();
819
808
  i0.ɵɵrepeater(ctx_r2.agentActions);
820
809
  i0.ɵɵadvance(2);
821
810
  i0.ɵɵconditional(ctx_r2.actionCount > ctx_r2.agentActions.length ? 3 : -1);
822
811
  } }
823
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
824
- i0.ɵɵelementStart(0, "div", 123)(1, "div", 124);
825
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_2_Template, 3, 0, "button", 125);
812
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Template(rf, ctx) { if (rf & 1) {
813
+ i0.ɵɵelementStart(0, "div", 19)(1, "div", 204);
814
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_2_Template, 3, 0, "button", 205);
826
815
  i0.ɵɵelementEnd()();
827
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_3_Template, 7, 1, "div", 67)(4, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Conditional_4_Template, 4, 1, "div", 126);
816
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_3_Template, 7, 1, "div", 147)(4, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Conditional_4_Template, 4, 1, "div", 206);
828
817
  } if (rf & 2) {
829
- const ctx_r2 = i0.ɵɵnextContext(4);
818
+ const ctx_r2 = i0.ɵɵnextContext(3);
830
819
  i0.ɵɵadvance(2);
831
820
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateActions ? 2 : -1);
832
821
  i0.ɵɵadvance();
833
822
  i0.ɵɵconditional(ctx_r2.actionCount === 0 ? 3 : 4);
834
823
  } }
835
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Template(rf, ctx) { if (rf & 1) {
836
- i0.ɵɵelementStart(0, "div", 121);
837
- i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_1_Template, 4, 0, "div", 122)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Conditional_2_Template, 5, 2);
838
- i0.ɵɵelementEnd();
839
- } if (rf & 2) {
840
- const ctx_r2 = i0.ɵɵnextContext(3);
841
- i0.ɵɵadvance();
842
- i0.ɵɵconditional(ctx_r2.loadingStates.actions ? 1 : 2);
843
- } }
844
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
845
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 14);
846
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_1_Template, 4, 1, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_ng_template_2_Template, 3, 1, "ng-template", 21);
847
- i0.ɵɵelementEnd();
824
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
825
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 11);
826
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_ng_template_1_Template, 4, 1, "ng-template", 17);
827
+ i0.ɵɵelementStart(2, "div", 18);
828
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_3_Template, 4, 0, "div", 203)(4, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Conditional_4_Template, 5, 2);
829
+ i0.ɵɵelementEnd()();
848
830
  } if (rf & 2) {
849
831
  const ctx_r2 = i0.ɵɵnextContext(2);
850
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("actions", false))("disabled", ctx_r2.loadingStates.actions);
832
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("actions", false))("Disabled", ctx_r2.loadingStates.actions);
833
+ i0.ɵɵadvance(3);
834
+ i0.ɵɵconditional(ctx_r2.loadingStates.actions ? 3 : 4);
851
835
  } }
852
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
853
- i0.ɵɵelementStart(0, "span", 64);
854
- i0.ɵɵelement(1, "i", 65);
836
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
837
+ i0.ɵɵelementStart(0, "span", 149);
838
+ i0.ɵɵelement(1, "i", 150);
855
839
  i0.ɵɵelementEnd();
856
840
  } }
857
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
841
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
858
842
  i0.ɵɵelementStart(0, "span");
859
843
  i0.ɵɵtext(1);
860
844
  i0.ɵɵelementEnd();
@@ -863,47 +847,47 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
863
847
  i0.ɵɵadvance();
864
848
  i0.ɵɵtextInterpolate1(" (", ctx_r2.totalSubAgentCount, ")");
865
849
  } }
866
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Template(rf, ctx) { if (rf & 1) {
867
- i0.ɵɵelement(0, "i", 45);
850
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Template(rf, ctx) { if (rf & 1) {
851
+ i0.ɵɵelement(0, "i", 83);
868
852
  i0.ɵɵtext(1, " Sub-Agents ");
869
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Conditional_2_Template, 2, 0, "span", 64)(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Conditional_3_Template, 2, 1, "span");
853
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Conditional_3_Template, 2, 1, "span");
870
854
  } if (rf & 2) {
871
855
  const ctx_r2 = i0.ɵɵnextContext(3);
872
856
  i0.ɵɵadvance(2);
873
857
  i0.ɵɵconditional(ctx_r2.loadingStates.subAgents ? 2 : ctx_r2.totalSubAgentCount > 0 ? 3 : -1);
874
858
  } }
875
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
859
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_16_Template(rf, ctx) { if (rf & 1) {
876
860
  const _r20 = i0.ɵɵgetCurrentView();
877
- i0.ɵɵelementStart(0, "button", 153);
878
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_14_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.createChildSubAgent()); });
879
- i0.ɵɵelement(1, "i", 151);
861
+ i0.ɵɵelementStart(0, "button", 232);
862
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.createChildSubAgent()); });
863
+ i0.ɵɵelement(1, "i", 230);
880
864
  i0.ɵɵtext(2, " Create Child ");
881
865
  i0.ɵɵelementEnd();
882
- i0.ɵɵelementStart(3, "button", 154);
883
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_14_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.linkRelatedSubAgent()); });
884
- i0.ɵɵelement(4, "i", 152);
866
+ i0.ɵɵelementStart(3, "button", 233);
867
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.linkRelatedSubAgent()); });
868
+ i0.ɵɵelement(4, "i", 231);
885
869
  i0.ɵɵtext(5, " Link Related ");
886
870
  i0.ɵɵelementEnd();
887
871
  } }
888
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
889
- i0.ɵɵelementStart(0, "div", 67);
890
- i0.ɵɵelement(1, "i", 45);
872
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_17_Template(rf, ctx) { if (rf & 1) {
873
+ i0.ɵɵelementStart(0, "div", 147);
874
+ i0.ɵɵelement(1, "i", 83);
891
875
  i0.ɵɵelementStart(2, "h4");
892
876
  i0.ɵɵtext(3, "No Sub-Agents");
893
877
  i0.ɵɵelementEnd();
894
878
  i0.ɵɵelementStart(4, "p");
895
879
  i0.ɵɵtext(5, "Sub-agents help build complex workflows through hierarchical orchestration.");
896
880
  i0.ɵɵelementEnd();
897
- i0.ɵɵelementStart(6, "div", 155)(7, "div", 156);
898
- i0.ɵɵelement(8, "i", 157);
881
+ i0.ɵɵelementStart(6, "div", 234)(7, "div", 235);
882
+ i0.ɵɵelement(8, "i", 236);
899
883
  i0.ɵɵelementStart(9, "strong");
900
884
  i0.ɵɵtext(10, "Child Sub-Agents");
901
885
  i0.ɵɵelementEnd();
902
886
  i0.ɵɵelementStart(11, "p");
903
887
  i0.ɵɵtext(12, "Share payload structure, dedicated to parent");
904
888
  i0.ɵɵelementEnd()();
905
- i0.ɵɵelementStart(13, "div", 156);
906
- i0.ɵɵelement(14, "i", 158);
889
+ i0.ɵɵelementStart(13, "div", 235);
890
+ i0.ɵɵelement(14, "i", 237);
907
891
  i0.ɵɵelementStart(15, "strong");
908
892
  i0.ɵɵtext(16, "Related Sub-Agents");
909
893
  i0.ɵɵelementEnd();
@@ -911,21 +895,21 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
911
895
  i0.ɵɵtext(18, "Reusable agents with payload mapping");
912
896
  i0.ɵɵelementEnd()()()();
913
897
  } }
914
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
915
- i0.ɵɵelement(0, "img", 162);
898
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
899
+ i0.ɵɵelement(0, "img", 241);
916
900
  } if (rf & 2) {
917
901
  const item_r22 = i0.ɵɵnextContext().$implicit;
918
902
  i0.ɵɵproperty("src", item_r22.agent.LogoURL, i0.ɵɵsanitizeUrl)("alt", item_r22.agent.Name + " logo");
919
903
  } }
920
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
904
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
921
905
  i0.ɵɵelement(0, "i");
922
906
  } if (rf & 2) {
923
907
  const item_r22 = i0.ɵɵnextContext().$implicit;
924
- const ctx_r2 = i0.ɵɵnextContext(5);
908
+ const ctx_r2 = i0.ɵɵnextContext(4);
925
909
  i0.ɵɵclassMap(ctx_r2.getSubAgentIcon(item_r22.agent));
926
910
  } }
927
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
928
- i0.ɵɵelementStart(0, "div", 137);
911
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
912
+ i0.ɵɵelementStart(0, "div", 217);
929
913
  i0.ɵɵtext(1);
930
914
  i0.ɵɵelementEnd();
931
915
  } if (rf & 2) {
@@ -933,19 +917,19 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
933
917
  i0.ɵɵadvance();
934
918
  i0.ɵɵtextInterpolate(item_r22.agent.Description);
935
919
  } }
936
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
937
- i0.ɵɵelementStart(0, "span", 140);
920
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
921
+ i0.ɵɵelementStart(0, "span", 220);
938
922
  i0.ɵɵtext(1);
939
923
  i0.ɵɵelementEnd();
940
924
  } if (rf & 2) {
941
925
  const item_r22 = i0.ɵɵnextContext().$implicit;
942
- const ctx_r2 = i0.ɵɵnextContext(5);
926
+ const ctx_r2 = i0.ɵɵnextContext(4);
943
927
  i0.ɵɵstyleProp("background-color", ctx_r2.getStatusBadgeColor());
944
928
  i0.ɵɵadvance();
945
929
  i0.ɵɵtextInterpolate1(" ", item_r22.agent.Status, " ");
946
930
  } }
947
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
948
- i0.ɵɵelementStart(0, "span", 139);
931
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
932
+ i0.ɵɵelementStart(0, "span", 219);
949
933
  i0.ɵɵtext(1);
950
934
  i0.ɵɵelementEnd();
951
935
  } if (rf & 2) {
@@ -953,24 +937,24 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
953
937
  i0.ɵɵadvance();
954
938
  i0.ɵɵtextInterpolate(item_r22.agent.Type);
955
939
  } }
956
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_0_Template(rf, ctx) { if (rf & 1) {
940
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_0_Template(rf, ctx) { if (rf & 1) {
957
941
  const _r23 = i0.ɵɵgetCurrentView();
958
- i0.ɵɵelementStart(0, "button", 169);
959
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_0_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.configureOutputMapping(item_r22, $event)); });
960
- i0.ɵɵelement(1, "i", 170);
942
+ i0.ɵɵelementStart(0, "button", 248);
943
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_0_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.configureOutputMapping(item_r22, $event)); });
944
+ i0.ɵɵelement(1, "i", 249);
961
945
  i0.ɵɵelementEnd();
962
946
  } }
963
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_1_Template(rf, ctx) { if (rf & 1) {
947
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_1_Template(rf, ctx) { if (rf & 1) {
964
948
  const _r24 = i0.ɵɵgetCurrentView();
965
- i0.ɵɵelementStart(0, "button", 171);
966
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r24); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.openSubAgentAdvancedSettings(item_r22.agent, $event)); });
967
- i0.ɵɵelement(1, "i", 90);
949
+ i0.ɵɵelementStart(0, "button", 250);
950
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r24); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.openSubAgentAdvancedSettings(item_r22.agent, $event)); });
951
+ i0.ɵɵelement(1, "i", 173);
968
952
  i0.ɵɵelementEnd();
969
953
  } }
970
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
954
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
971
955
  const _r25 = i0.ɵɵgetCurrentView();
972
- i0.ɵɵelementStart(0, "button", 172);
973
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r25); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(item_r22.type === "child" ? ctx_r2.removeChildSubAgent(item_r22, $event) : ctx_r2.unlinkRelatedSubAgent(item_r22, $event)); });
956
+ i0.ɵɵelementStart(0, "button", 251);
957
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r25); const item_r22 = i0.ɵɵnextContext(2).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(item_r22.type === "child" ? ctx_r2.removeChildSubAgent(item_r22, $event) : ctx_r2.unlinkRelatedSubAgent(item_r22, $event)); });
974
958
  i0.ɵɵelement(1, "i");
975
959
  i0.ɵɵelementEnd();
976
960
  } if (rf & 2) {
@@ -979,48 +963,48 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
979
963
  i0.ɵɵadvance();
980
964
  i0.ɵɵclassMap(item_r22.type === "child" ? "fa-solid fa-trash" : "fa-solid fa-unlink");
981
965
  } }
982
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
983
- i0.ɵɵconditionalCreate(0, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_0_Template, 2, 0, "button", 166);
984
- i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_1_Template, 2, 0, "button", 167);
985
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Conditional_2_Template, 2, 3, "button", 168);
966
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
967
+ i0.ɵɵconditionalCreate(0, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_0_Template, 2, 0, "button", 245);
968
+ i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_1_Template, 2, 0, "button", 246);
969
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Conditional_2_Template, 2, 3, "button", 247);
986
970
  } if (rf & 2) {
987
971
  const item_r22 = i0.ɵɵnextContext().$implicit;
988
- const ctx_r2 = i0.ɵɵnextContext(5);
972
+ const ctx_r2 = i0.ɵɵnextContext(4);
989
973
  i0.ɵɵconditional(item_r22.type === "related" ? 0 : -1);
990
974
  i0.ɵɵadvance();
991
975
  i0.ɵɵconditional(item_r22.type === "child" && ctx_r2.UserCanCreateSubAgents ? 1 : -1);
992
976
  i0.ɵɵadvance();
993
977
  i0.ɵɵconditional(ctx_r2.UserCanDeleteSubAgents ? 2 : -1);
994
978
  } }
995
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Template(rf, ctx) { if (rf & 1) {
979
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Template(rf, ctx) { if (rf & 1) {
996
980
  const _r21 = i0.ɵɵgetCurrentView();
997
- i0.ɵɵelementStart(0, "div", 160);
998
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Template_div_click_0_listener() { const item_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agents", item_r22.agent.ID)); });
999
- i0.ɵɵelementStart(1, "div", 161);
981
+ i0.ɵɵelementStart(0, "div", 239);
982
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Template_div_click_0_listener() { const item_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agents", item_r22.agent.ID)); });
983
+ i0.ɵɵelementStart(1, "div", 240);
1000
984
  i0.ɵɵelement(2, "i");
1001
985
  i0.ɵɵtext(3);
1002
986
  i0.ɵɵelementEnd();
1003
- i0.ɵɵelementStart(4, "div", 134);
1004
- i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_5_Template, 1, 2, "img", 162)(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_6_Template, 1, 2, "i", 30);
987
+ i0.ɵɵelementStart(4, "div", 214);
988
+ i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_5_Template, 1, 2, "img", 241)(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_6_Template, 1, 2, "i", 114);
1005
989
  i0.ɵɵelementEnd();
1006
- i0.ɵɵelementStart(7, "div", 135)(8, "div", 136);
990
+ i0.ɵɵelementStart(7, "div", 215)(8, "div", 216);
1007
991
  i0.ɵɵtext(9);
1008
992
  i0.ɵɵelementEnd();
1009
- i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_10_Template, 2, 1, "div", 137);
1010
- i0.ɵɵelementStart(11, "div", 138)(12, "span", 163);
1011
- i0.ɵɵelement(13, "i", 164);
993
+ i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_10_Template, 2, 1, "div", 217);
994
+ i0.ɵɵelementStart(11, "div", 218)(12, "span", 242);
995
+ i0.ɵɵelement(13, "i", 243);
1012
996
  i0.ɵɵtext(14);
1013
997
  i0.ɵɵelementEnd();
1014
- i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_15_Template, 2, 3, "span", 165);
1015
- i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_16_Template, 2, 1, "span", 139);
998
+ i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_15_Template, 2, 3, "span", 244);
999
+ i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_16_Template, 2, 1, "span", 219);
1016
1000
  i0.ɵɵelementEnd()();
1017
- i0.ɵɵelementStart(17, "div", 141);
1018
- i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Conditional_18_Template, 3, 3);
1019
- i0.ɵɵelement(19, "i", 117);
1001
+ i0.ɵɵelementStart(17, "div", 221);
1002
+ i0.ɵɵconditionalCreate(18, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Conditional_18_Template, 3, 3);
1003
+ i0.ɵɵelement(19, "i", 200);
1020
1004
  i0.ɵɵelementEnd()();
1021
1005
  } if (rf & 2) {
1022
1006
  const item_r22 = ctx.$implicit;
1023
- const ctx_r2 = i0.ɵɵnextContext(5);
1007
+ const ctx_r2 = i0.ɵɵnextContext(4);
1024
1008
  i0.ɵɵclassProp("child-sub-agent", item_r22.type === "child")("related-sub-agent", item_r22.type === "related");
1025
1009
  i0.ɵɵadvance();
1026
1010
  i0.ɵɵstyleProp("background-color", ctx_r2.getSubAgentBadgeColor(item_r22));
@@ -1043,70 +1027,65 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template
1043
1027
  i0.ɵɵadvance(2);
1044
1028
  i0.ɵɵconditional(ctx_r2.EditMode ? 18 : -1);
1045
1029
  } }
1046
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
1047
- i0.ɵɵelementStart(0, "div", 126);
1048
- i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_For_2_Template, 20, 16, "div", 159, _forTrack1);
1030
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_Template(rf, ctx) { if (rf & 1) {
1031
+ i0.ɵɵelementStart(0, "div", 206);
1032
+ i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_For_2_Template, 20, 16, "div", 238, _forTrack1);
1049
1033
  i0.ɵɵelementEnd();
1050
1034
  } if (rf & 2) {
1051
- const ctx_r2 = i0.ɵɵnextContext(4);
1035
+ const ctx_r2 = i0.ɵɵnextContext(3);
1052
1036
  i0.ɵɵadvance();
1053
1037
  i0.ɵɵrepeater(ctx_r2.filteredSubAgents);
1054
1038
  } }
1055
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Template(rf, ctx) { if (rf & 1) {
1039
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1056
1040
  const _r19 = i0.ɵɵgetCurrentView();
1057
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 146)(2, "div", 147)(3, "kendo-buttongroup", 148)(4, "button", 149);
1058
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("all")); });
1059
- i0.ɵɵelement(5, "i", 150);
1060
- i0.ɵɵtext(6);
1061
- i0.ɵɵelementEnd();
1062
- i0.ɵɵelementStart(7, "button", 149);
1063
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("child")); });
1064
- i0.ɵɵelement(8, "i", 151);
1065
- i0.ɵɵtext(9);
1041
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 12);
1042
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_ng_template_1_Template, 4, 1, "ng-template", 17);
1043
+ i0.ɵɵelementStart(2, "div", 18)(3, "div", 226)(4, "div", 227)(5, "div", 228)(6, "button", 229);
1044
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("all")); });
1045
+ i0.ɵɵelement(7, "i", 93);
1046
+ i0.ɵɵtext(8);
1047
+ i0.ɵɵelementEnd();
1048
+ i0.ɵɵelementStart(9, "button", 229);
1049
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("child")); });
1050
+ i0.ɵɵelement(10, "i", 230);
1051
+ i0.ɵɵtext(11);
1066
1052
  i0.ɵɵelementEnd();
1067
- i0.ɵɵelementStart(10, "button", 149);
1068
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("related")); });
1069
- i0.ɵɵelement(11, "i", 152);
1070
- i0.ɵɵtext(12);
1053
+ i0.ɵɵelementStart(12, "button", 229);
1054
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setSubAgentFilter("related")); });
1055
+ i0.ɵɵelement(13, "i", 231);
1056
+ i0.ɵɵtext(14);
1071
1057
  i0.ɵɵelementEnd()()();
1072
- i0.ɵɵelementStart(13, "div", 124);
1073
- i0.ɵɵconditionalCreate(14, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_14_Template, 6, 0);
1058
+ i0.ɵɵelementStart(15, "div", 204);
1059
+ i0.ɵɵconditionalCreate(16, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_16_Template, 6, 0);
1060
+ i0.ɵɵelementEnd()();
1061
+ i0.ɵɵconditionalCreate(17, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_17_Template, 19, 0, "div", 147)(18, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Conditional_18_Template, 3, 0, "div", 206);
1074
1062
  i0.ɵɵelementEnd()();
1075
- i0.ɵɵconditionalCreate(15, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_15_Template, 19, 0, "div", 67)(16, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Conditional_16_Template, 3, 0, "div", 126);
1076
- i0.ɵɵelementEnd();
1077
1063
  } if (rf & 2) {
1078
- const ctx_r2 = i0.ɵɵnextContext(3);
1079
- i0.ɵɵadvance(4);
1080
- i0.ɵɵproperty("toggleable", true)("selected", ctx_r2.subAgentFilter === "all");
1064
+ const ctx_r2 = i0.ɵɵnextContext(2);
1065
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("subagents", false))("Disabled", ctx_r2.loadingStates.subAgents);
1066
+ i0.ɵɵadvance(6);
1067
+ i0.ɵɵclassProp("active", ctx_r2.subAgentFilter === "all");
1081
1068
  i0.ɵɵadvance(2);
1082
1069
  i0.ɵɵtextInterpolate1(" All (", ctx_r2.totalSubAgentCount, ") ");
1083
1070
  i0.ɵɵadvance();
1084
- i0.ɵɵproperty("toggleable", true)("selected", ctx_r2.subAgentFilter === "child");
1071
+ i0.ɵɵclassProp("active", ctx_r2.subAgentFilter === "child");
1085
1072
  i0.ɵɵadvance(2);
1086
1073
  i0.ɵɵtextInterpolate1(" Child (", ctx_r2.childSubAgentCount, ") ");
1087
1074
  i0.ɵɵadvance();
1088
- i0.ɵɵproperty("toggleable", true)("selected", ctx_r2.subAgentFilter === "related");
1075
+ i0.ɵɵclassProp("active", ctx_r2.subAgentFilter === "related");
1089
1076
  i0.ɵɵadvance(2);
1090
1077
  i0.ɵɵtextInterpolate1(" Related (", ctx_r2.relatedSubAgentCount, ") ");
1091
1078
  i0.ɵɵadvance(2);
1092
- i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateSubAgents ? 14 : -1);
1079
+ i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateSubAgents ? 16 : -1);
1093
1080
  i0.ɵɵadvance();
1094
- i0.ɵɵconditional(ctx_r2.totalSubAgentCount === 0 ? 15 : 16);
1095
- } }
1096
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1097
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 15);
1098
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_1_Template, 4, 1, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_ng_template_2_Template, 17, 11, "ng-template", 21);
1099
- i0.ɵɵelementEnd();
1100
- } if (rf & 2) {
1101
- const ctx_r2 = i0.ɵɵnextContext(2);
1102
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("subagents", false))("disabled", ctx_r2.loadingStates.subAgents);
1081
+ i0.ɵɵconditional(ctx_r2.totalSubAgentCount === 0 ? 17 : 18);
1103
1082
  } }
1104
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1105
- i0.ɵɵelementStart(0, "span", 64);
1106
- i0.ɵɵelement(1, "i", 65);
1083
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1084
+ i0.ɵɵelementStart(0, "span", 149);
1085
+ i0.ɵɵelement(1, "i", 150);
1107
1086
  i0.ɵɵelementEnd();
1108
1087
  } }
1109
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1088
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1110
1089
  i0.ɵɵelementStart(0, "span");
1111
1090
  i0.ɵɵtext(1);
1112
1091
  i0.ɵɵelementEnd();
@@ -1115,68 +1094,68 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template
1115
1094
  i0.ɵɵadvance();
1116
1095
  i0.ɵɵtextInterpolate1(" (", ctx_r2.promptCount, ")");
1117
1096
  } }
1118
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1119
- i0.ɵɵelement(0, "i", 107);
1097
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1098
+ i0.ɵɵelement(0, "i", 190);
1120
1099
  i0.ɵɵtext(1, " Prompts ");
1121
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Conditional_2_Template, 2, 0, "span", 64)(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Conditional_3_Template, 2, 1, "span");
1100
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Conditional_3_Template, 2, 1, "span");
1122
1101
  } if (rf & 2) {
1123
1102
  const ctx_r2 = i0.ɵɵnextContext(3);
1124
1103
  i0.ɵɵadvance(2);
1125
1104
  i0.ɵɵconditional(ctx_r2.loadingStates.prompts ? 2 : ctx_r2.promptCount > 0 ? 3 : -1);
1126
1105
  } }
1127
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1106
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1128
1107
  const _r26 = i0.ɵɵgetCurrentView();
1129
- i0.ɵɵelementStart(0, "kendo-dropdownlist", 179);
1130
- i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_7_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r2.record.ModelSelectionMode, $event) || (ctx_r2.record.ModelSelectionMode = $event); return i0.ɵɵresetView($event); });
1108
+ i0.ɵɵelementStart(0, "mj-dropdown", 258);
1109
+ i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_9_Template_mj_dropdown_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.record.ModelSelectionMode, $event) || (ctx_r2.record.ModelSelectionMode = $event); return i0.ɵɵresetView($event); });
1131
1110
  i0.ɵɵelementEnd();
1132
1111
  } if (rf & 2) {
1133
- const ctx_r2 = i0.ɵɵnextContext(4);
1112
+ const ctx_r2 = i0.ɵɵnextContext(3);
1134
1113
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.record.ModelSelectionMode);
1135
- i0.ɵɵproperty("data", ctx_r2.modelSelectionModes)("valuePrimitive", true);
1114
+ i0.ɵɵproperty("Data", ctx_r2.modelSelectionModes)("ValuePrimitive", true);
1136
1115
  } }
1137
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1138
- i0.ɵɵelementStart(0, "span", 178);
1116
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1117
+ i0.ɵɵelementStart(0, "span", 257);
1139
1118
  i0.ɵɵtext(1);
1140
1119
  i0.ɵɵelementEnd();
1141
1120
  } if (rf & 2) {
1142
- const ctx_r2 = i0.ɵɵnextContext(4);
1121
+ const ctx_r2 = i0.ɵɵnextContext(3);
1143
1122
  i0.ɵɵadvance();
1144
1123
  i0.ɵɵtextInterpolate(ctx_r2.record.ModelSelectionMode || "Agent Type");
1145
1124
  } }
1146
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1125
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1147
1126
  const _r27 = i0.ɵɵgetCurrentView();
1148
- i0.ɵɵelementStart(0, "button", 127);
1149
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.addPrompt()); });
1150
- i0.ɵɵelement(1, "i", 128);
1127
+ i0.ɵɵelementStart(0, "button", 207);
1128
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addPrompt()); });
1129
+ i0.ɵɵelement(1, "i", 208);
1151
1130
  i0.ɵɵtext(2, " Add Prompt ");
1152
1131
  i0.ɵɵelementEnd();
1153
1132
  } }
1154
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1133
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1155
1134
  const _r28 = i0.ɵɵgetCurrentView();
1156
- i0.ɵɵelementStart(0, "button", 130);
1157
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_11_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.addPrompt()); });
1158
- i0.ɵɵelement(1, "i", 128);
1135
+ i0.ɵɵelementStart(0, "button", 210);
1136
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_13_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.addPrompt()); });
1137
+ i0.ɵɵelement(1, "i", 208);
1159
1138
  i0.ɵɵtext(2, " Create First Prompt ");
1160
1139
  i0.ɵɵelementEnd();
1161
1140
  } }
1162
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1163
- i0.ɵɵelementStart(0, "div", 67);
1164
- i0.ɵɵelement(1, "i", 107);
1141
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1142
+ i0.ɵɵelementStart(0, "div", 147);
1143
+ i0.ɵɵelement(1, "i", 190);
1165
1144
  i0.ɵɵelementStart(2, "h4");
1166
1145
  i0.ɵɵtext(3, "No Prompts Configured");
1167
1146
  i0.ɵɵelementEnd();
1168
1147
  i0.ɵɵelementStart(4, "p");
1169
1148
  i0.ɵɵtext(5, "Add prompts to define how this agent processes requests and generates responses.");
1170
1149
  i0.ɵɵelementEnd();
1171
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_11_Conditional_6_Template, 3, 0, "button", 129);
1150
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_13_Conditional_6_Template, 3, 0, "button", 209);
1172
1151
  i0.ɵɵelementEnd();
1173
1152
  } if (rf & 2) {
1174
- const ctx_r2 = i0.ɵɵnextContext(4);
1153
+ const ctx_r2 = i0.ɵɵnextContext(3);
1175
1154
  i0.ɵɵadvance(6);
1176
1155
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNewPrompts ? 6 : -1);
1177
1156
  } }
1178
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1179
- i0.ɵɵelementStart(0, "div", 137);
1157
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1158
+ i0.ɵɵelementStart(0, "div", 217);
1180
1159
  i0.ɵɵtext(1);
1181
1160
  i0.ɵɵelementEnd();
1182
1161
  } if (rf & 2) {
@@ -1184,8 +1163,8 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template
1184
1163
  i0.ɵɵadvance();
1185
1164
  i0.ɵɵtextInterpolate2("", prompt_r30.TemplateText.substring(0, 120), "", prompt_r30.TemplateText.length > 120 ? "..." : "");
1186
1165
  } }
1187
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1188
- i0.ɵɵelementStart(0, "span", 139);
1166
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1167
+ i0.ɵɵelementStart(0, "span", 219);
1189
1168
  i0.ɵɵtext(1);
1190
1169
  i0.ɵɵelementEnd();
1191
1170
  } if (rf & 2) {
@@ -1193,42 +1172,42 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template
1193
1172
  i0.ɵɵadvance();
1194
1173
  i0.ɵɵtextInterpolate(prompt_r30.PromptRole);
1195
1174
  } }
1196
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1175
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1197
1176
  const _r31 = i0.ɵɵgetCurrentView();
1198
- i0.ɵɵelementStart(0, "button", 171);
1199
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_10_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r31); const prompt_r30 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.openPromptAdvancedSettings(prompt_r30, $event)); });
1200
- i0.ɵɵelement(1, "i", 90);
1177
+ i0.ɵɵelementStart(0, "button", 250);
1178
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_10_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r31); const prompt_r30 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.openPromptAdvancedSettings(prompt_r30, $event)); });
1179
+ i0.ɵɵelement(1, "i", 173);
1201
1180
  i0.ɵɵelementEnd();
1202
1181
  } }
1203
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1182
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1204
1183
  const _r32 = i0.ɵɵgetCurrentView();
1205
- i0.ɵɵelementStart(0, "button", 184);
1206
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r32); const prompt_r30 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.removePrompt(prompt_r30, $event)); });
1207
- i0.ɵɵelement(1, "i", 144);
1184
+ i0.ɵɵelementStart(0, "button", 263);
1185
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r32); const prompt_r30 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.removePrompt(prompt_r30, $event)); });
1186
+ i0.ɵɵelement(1, "i", 224);
1208
1187
  i0.ɵɵelementEnd();
1209
1188
  } }
1210
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
1189
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Template(rf, ctx) { if (rf & 1) {
1211
1190
  const _r29 = i0.ɵɵgetCurrentView();
1212
- i0.ɵɵelementStart(0, "div", 181);
1213
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Template_div_click_0_listener() { const prompt_r30 = i0.ɵɵrestoreView(_r29).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Prompts", prompt_r30.ID)); });
1214
- i0.ɵɵelementStart(1, "div", 134);
1215
- i0.ɵɵelement(2, "i", 182);
1191
+ i0.ɵɵelementStart(0, "div", 260);
1192
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Template_div_click_0_listener() { const prompt_r30 = i0.ɵɵrestoreView(_r29).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Prompts", prompt_r30.ID)); });
1193
+ i0.ɵɵelementStart(1, "div", 214);
1194
+ i0.ɵɵelement(2, "i", 261);
1216
1195
  i0.ɵɵelementEnd();
1217
- i0.ɵɵelementStart(3, "div", 135)(4, "div", 136);
1196
+ i0.ɵɵelementStart(3, "div", 215)(4, "div", 216);
1218
1197
  i0.ɵɵtext(5);
1219
1198
  i0.ɵɵelementEnd();
1220
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_6_Template, 2, 2, "div", 137);
1221
- i0.ɵɵelementStart(7, "div", 138);
1222
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_8_Template, 2, 1, "span", 139);
1199
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_6_Template, 2, 2, "div", 217);
1200
+ i0.ɵɵelementStart(7, "div", 218);
1201
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_8_Template, 2, 1, "span", 219);
1223
1202
  i0.ɵɵelementEnd()();
1224
- i0.ɵɵelementStart(9, "div", 141);
1225
- i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_10_Template, 2, 0, "button", 167);
1226
- i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Conditional_11_Template, 2, 0, "button", 183);
1227
- i0.ɵɵelement(12, "i", 117);
1203
+ i0.ɵɵelementStart(9, "div", 221);
1204
+ i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_10_Template, 2, 0, "button", 246);
1205
+ i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Conditional_11_Template, 2, 0, "button", 262);
1206
+ i0.ɵɵelement(12, "i", 200);
1228
1207
  i0.ɵɵelementEnd()();
1229
1208
  } if (rf & 2) {
1230
1209
  const prompt_r30 = ctx.$implicit;
1231
- const ctx_r2 = i0.ɵɵnextContext(5);
1210
+ const ctx_r2 = i0.ɵɵnextContext(4);
1232
1211
  i0.ɵɵadvance(5);
1233
1212
  i0.ɵɵtextInterpolate(prompt_r30.Name);
1234
1213
  i0.ɵɵadvance();
@@ -1240,78 +1219,80 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template
1240
1219
  i0.ɵɵadvance();
1241
1220
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanDeletePrompts ? 11 : -1);
1242
1221
  } }
1243
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1222
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1244
1223
  const _r33 = i0.ɵɵgetCurrentView();
1245
- i0.ɵɵelementStart(0, "div", 145);
1246
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Prompts", "")); });
1224
+ i0.ɵɵelementStart(0, "div", 225);
1225
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Prompts", "")); });
1247
1226
  i0.ɵɵelementStart(1, "span");
1248
1227
  i0.ɵɵtext(2);
1249
1228
  i0.ɵɵelementEnd()();
1250
1229
  } if (rf & 2) {
1251
- const ctx_r2 = i0.ɵɵnextContext(5);
1230
+ const ctx_r2 = i0.ɵɵnextContext(4);
1252
1231
  i0.ɵɵadvance(2);
1253
1232
  i0.ɵɵtextInterpolate1("View all ", ctx_r2.promptCount, " prompts...");
1254
1233
  } }
1255
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1256
- i0.ɵɵelementStart(0, "div", 126);
1257
- i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_For_2_Template, 13, 5, "div", 180, _forTrack0);
1258
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_Conditional_3_Template, 3, 1, "div", 132);
1234
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_Template(rf, ctx) { if (rf & 1) {
1235
+ i0.ɵɵelementStart(0, "div", 206);
1236
+ i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_For_2_Template, 13, 5, "div", 259, _forTrack0);
1237
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_Conditional_3_Template, 3, 1, "div", 212);
1259
1238
  i0.ɵɵelementEnd();
1260
1239
  } if (rf & 2) {
1261
- const ctx_r2 = i0.ɵɵnextContext(4);
1240
+ const ctx_r2 = i0.ɵɵnextContext(3);
1262
1241
  i0.ɵɵadvance();
1263
1242
  i0.ɵɵrepeater(ctx_r2.agentPrompts);
1264
1243
  i0.ɵɵadvance(2);
1265
1244
  i0.ɵɵconditional(ctx_r2.promptCount > ctx_r2.agentPrompts.length ? 3 : -1);
1266
1245
  } }
1267
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Template(rf, ctx) { if (rf & 1) {
1268
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 173)(3, "div", 174)(4, "label", 175);
1269
- i0.ɵɵelement(5, "i", 176);
1270
- i0.ɵɵtext(6, " Model Selection: ");
1246
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1247
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 13);
1248
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_ng_template_1_Template, 4, 1, "ng-template", 17);
1249
+ i0.ɵɵelementStart(2, "div", 18)(3, "div", 19)(4, "div", 252)(5, "div", 253)(6, "label", 254);
1250
+ i0.ɵɵelement(7, "i", 255);
1251
+ i0.ɵɵtext(8, " Model Selection: ");
1271
1252
  i0.ɵɵelementEnd();
1272
- i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_7_Template, 1, 3, "kendo-dropdownlist", 177)(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_8_Template, 2, 1, "span", 178);
1253
+ i0.ɵɵconditionalCreate(9, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_9_Template, 1, 3, "mj-dropdown", 256)(10, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_10_Template, 2, 1, "span", 257);
1273
1254
  i0.ɵɵelementEnd()();
1274
- i0.ɵɵelementStart(9, "div", 124);
1275
- i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_10_Template, 3, 0, "button", 125);
1255
+ i0.ɵɵelementStart(11, "div", 204);
1256
+ i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_12_Template, 3, 0, "button", 205);
1257
+ i0.ɵɵelementEnd()();
1258
+ i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_13_Template, 7, 1, "div", 147)(14, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Conditional_14_Template, 4, 1, "div", 206);
1276
1259
  i0.ɵɵelementEnd()();
1277
- i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_11_Template, 7, 1, "div", 67)(12, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Conditional_12_Template, 4, 1, "div", 126);
1278
- i0.ɵɵelementEnd();
1279
1260
  } if (rf & 2) {
1280
- const ctx_r2 = i0.ɵɵnextContext(3);
1281
- i0.ɵɵadvance(7);
1282
- i0.ɵɵconditional(ctx_r2.EditMode ? 7 : 8);
1261
+ const ctx_r2 = i0.ɵɵnextContext(2);
1262
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("prompts", false))("Disabled", ctx_r2.loadingStates.prompts);
1263
+ i0.ɵɵadvance(9);
1264
+ i0.ɵɵconditional(ctx_r2.EditMode ? 9 : 10);
1283
1265
  i0.ɵɵadvance(3);
1284
- i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNewPrompts ? 10 : -1);
1266
+ i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNewPrompts ? 12 : -1);
1285
1267
  i0.ɵɵadvance();
1286
- i0.ɵɵconditional(ctx_r2.promptCount === 0 ? 11 : 12);
1268
+ i0.ɵɵconditional(ctx_r2.promptCount === 0 ? 13 : 14);
1287
1269
  } }
1288
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1289
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 16);
1290
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_1_Template, 4, 1, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_ng_template_2_Template, 13, 3, "ng-template", 21);
1270
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1271
+ i0.ɵɵelementStart(0, "span", 149);
1272
+ i0.ɵɵelement(1, "i", 150);
1291
1273
  i0.ɵɵelementEnd();
1292
- } if (rf & 2) {
1293
- const ctx_r2 = i0.ɵɵnextContext(2);
1294
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("prompts", false))("disabled", ctx_r2.loadingStates.prompts);
1295
1274
  } }
1296
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1297
- i0.ɵɵelementStart(0, "span", 64);
1298
- i0.ɵɵelement(1, "i", 65);
1275
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1276
+ i0.ɵɵelementStart(0, "span");
1277
+ i0.ɵɵtext(1);
1299
1278
  i0.ɵɵelementEnd();
1279
+ } if (rf & 2) {
1280
+ const ctx_r2 = i0.ɵɵnextContext(4);
1281
+ i0.ɵɵadvance();
1282
+ i0.ɵɵtextInterpolate1(" (", ctx_r2.learningCycleCount, ")");
1300
1283
  } }
1301
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1302
- i0.ɵɵelement(0, "i", 185);
1303
- i0.ɵɵtext(1);
1304
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_1_Conditional_2_Template, 2, 0, "span", 64);
1284
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1285
+ i0.ɵɵelement(0, "i", 264);
1286
+ i0.ɵɵtext(1, " Learning Cycles ");
1287
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Conditional_3_Template, 2, 1, "span");
1305
1288
  } if (rf & 2) {
1306
1289
  const ctx_r2 = i0.ɵɵnextContext(3);
1307
- i0.ɵɵadvance();
1308
- i0.ɵɵtextInterpolate1(" Learning Cycles", ctx_r2.learningCycleCount > 0 ? " (" + ctx_r2.learningCycleCount + ")" : "", " ");
1309
- i0.ɵɵadvance();
1310
- i0.ɵɵconditional(ctx_r2.loadingStates.learningCycles ? 2 : -1);
1290
+ i0.ɵɵadvance(2);
1291
+ i0.ɵɵconditional(ctx_r2.loadingStates.learningCycles ? 2 : ctx_r2.learningCycleCount > 0 ? 3 : -1);
1311
1292
  } }
1312
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
1313
- i0.ɵɵelementStart(0, "div", 67);
1314
- i0.ɵɵelement(1, "i", 185);
1293
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1294
+ i0.ɵɵelementStart(0, "div", 147);
1295
+ i0.ɵɵelement(1, "i", 264);
1315
1296
  i0.ɵɵelementStart(2, "h4");
1316
1297
  i0.ɵɵtext(3, "No Learning Cycles");
1317
1298
  i0.ɵɵelementEnd();
@@ -1319,9 +1300,9 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template
1319
1300
  i0.ɵɵtext(5, "Learning cycles will appear here as the agent processes requests and improves over time.");
1320
1301
  i0.ɵɵelementEnd()();
1321
1302
  } }
1322
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1323
- i0.ɵɵelementStart(0, "span", 139);
1324
- i0.ɵɵelement(1, "i", 189);
1303
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1304
+ i0.ɵɵelementStart(0, "span", 219);
1305
+ i0.ɵɵelement(1, "i", 267);
1325
1306
  i0.ɵɵtext(2);
1326
1307
  i0.ɵɵpipe(3, "date");
1327
1308
  i0.ɵɵelementEnd();
@@ -1330,8 +1311,8 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template
1330
1311
  i0.ɵɵadvance(2);
1331
1312
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 1, cycle_r35.StartedAt, "short"), " ");
1332
1313
  } }
1333
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1334
- i0.ɵɵelementStart(0, "span", 140);
1314
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1315
+ i0.ɵɵelementStart(0, "span", 220);
1335
1316
  i0.ɵɵtext(1);
1336
1317
  i0.ɵɵelementEnd();
1337
1318
  } if (rf & 2) {
@@ -1339,22 +1320,22 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template
1339
1320
  i0.ɵɵadvance();
1340
1321
  i0.ɵɵtextInterpolate(cycle_r35.Status);
1341
1322
  } }
1342
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Template(rf, ctx) { if (rf & 1) {
1323
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
1343
1324
  const _r34 = i0.ɵɵgetCurrentView();
1344
- i0.ɵɵelementStart(0, "div", 188);
1345
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Template_div_click_0_listener() { const cycle_r35 = i0.ɵɵrestoreView(_r34).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Learning Cycles", cycle_r35.ID)); });
1346
- i0.ɵɵelementStart(1, "div", 134);
1347
- i0.ɵɵelement(2, "i", 185);
1325
+ i0.ɵɵelementStart(0, "div", 266);
1326
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Template_div_click_0_listener() { const cycle_r35 = i0.ɵɵrestoreView(_r34).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Learning Cycles", cycle_r35.ID)); });
1327
+ i0.ɵɵelementStart(1, "div", 214);
1328
+ i0.ɵɵelement(2, "i", 264);
1348
1329
  i0.ɵɵelementEnd();
1349
- i0.ɵɵelementStart(3, "div", 135)(4, "div", 136);
1330
+ i0.ɵɵelementStart(3, "div", 215)(4, "div", 216);
1350
1331
  i0.ɵɵtext(5);
1351
1332
  i0.ɵɵelementEnd();
1352
- i0.ɵɵelementStart(6, "div", 138);
1353
- i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Conditional_7_Template, 4, 4, "span", 139);
1354
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Conditional_8_Template, 2, 1, "span", 140);
1333
+ i0.ɵɵelementStart(6, "div", 218);
1334
+ i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Conditional_7_Template, 4, 4, "span", 219);
1335
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Conditional_8_Template, 2, 1, "span", 220);
1355
1336
  i0.ɵɵelementEnd()();
1356
- i0.ɵɵelementStart(9, "div", 141);
1357
- i0.ɵɵelement(10, "i", 117);
1337
+ i0.ɵɵelementStart(9, "div", 221);
1338
+ i0.ɵɵelement(10, "i", 200);
1358
1339
  i0.ɵɵelementEnd()();
1359
1340
  } if (rf & 2) {
1360
1341
  const cycle_r35 = ctx.$implicit;
@@ -1365,99 +1346,101 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template
1365
1346
  i0.ɵɵadvance();
1366
1347
  i0.ɵɵconditional(cycle_r35.Status ? 8 : -1);
1367
1348
  } }
1368
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1349
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1369
1350
  const _r36 = i0.ɵɵgetCurrentView();
1370
- i0.ɵɵelementStart(0, "div", 145);
1371
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Learning Cycles", "")); });
1351
+ i0.ɵɵelementStart(0, "div", 225);
1352
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Learning Cycles", "")); });
1372
1353
  i0.ɵɵelementStart(1, "span");
1373
1354
  i0.ɵɵtext(2);
1374
1355
  i0.ɵɵelementEnd()();
1375
1356
  } if (rf & 2) {
1376
- const ctx_r2 = i0.ɵɵnextContext(5);
1357
+ const ctx_r2 = i0.ɵɵnextContext(4);
1377
1358
  i0.ɵɵadvance(2);
1378
1359
  i0.ɵɵtextInterpolate1("View all ", ctx_r2.learningCycleCount, " cycles...");
1379
1360
  } }
1380
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
1381
- i0.ɵɵelementStart(0, "div", 126);
1382
- i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_For_2_Template, 11, 3, "div", 187, _forTrack0);
1383
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_Conditional_3_Template, 3, 1, "div", 132);
1361
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1362
+ i0.ɵɵelementStart(0, "div", 206);
1363
+ i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_For_2_Template, 11, 3, "div", 265, _forTrack0);
1364
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_Conditional_3_Template, 3, 1, "div", 212);
1384
1365
  i0.ɵɵelementEnd();
1385
1366
  } if (rf & 2) {
1386
- const ctx_r2 = i0.ɵɵnextContext(4);
1367
+ const ctx_r2 = i0.ɵɵnextContext(3);
1387
1368
  i0.ɵɵadvance();
1388
1369
  i0.ɵɵrepeater(ctx_r2.learningCycles);
1389
1370
  i0.ɵɵadvance(2);
1390
1371
  i0.ɵɵconditional(ctx_r2.learningCycleCount > ctx_r2.learningCycles.length ? 3 : -1);
1391
1372
  } }
1392
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Template(rf, ctx) { if (rf & 1) {
1393
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 186);
1394
- i0.ɵɵtext(3, " Monitor and manage learning cycles, training sessions, and performance analytics. ");
1373
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1374
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 14);
1375
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_ng_template_1_Template, 4, 1, "ng-template", 17);
1376
+ i0.ɵɵelementStart(2, "div", 18)(3, "div", 19)(4, "div", 20);
1377
+ i0.ɵɵtext(5, " Monitor and manage learning cycles, training sessions, and performance analytics. ");
1378
+ i0.ɵɵelementEnd()();
1379
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_6_Template, 6, 0, "div", 147)(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Conditional_7_Template, 4, 1, "div", 206);
1395
1380
  i0.ɵɵelementEnd()();
1396
- i0.ɵɵconditionalCreate(4, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_4_Template, 6, 0, "div", 67)(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Conditional_5_Template, 4, 1, "div", 126);
1397
- i0.ɵɵelementEnd();
1398
- } if (rf & 2) {
1399
- const ctx_r2 = i0.ɵɵnextContext(3);
1400
- i0.ɵɵadvance(4);
1401
- i0.ɵɵconditional(ctx_r2.learningCycleCount === 0 ? 4 : 5);
1402
- } }
1403
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1404
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 17);
1405
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_1_Template, 3, 2, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_ng_template_2_Template, 6, 1, "ng-template", 21);
1406
- i0.ɵɵelementEnd();
1407
1381
  } if (rf & 2) {
1408
1382
  const ctx_r2 = i0.ɵɵnextContext(2);
1409
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("learning", false))("disabled", ctx_r2.loadingStates.learningCycles);
1383
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("learning", false))("Disabled", ctx_r2.loadingStates.learningCycles);
1384
+ i0.ɵɵadvance(6);
1385
+ i0.ɵɵconditional(ctx_r2.learningCycleCount === 0 ? 6 : 7);
1410
1386
  } }
1411
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1412
- i0.ɵɵelementStart(0, "span", 64);
1413
- i0.ɵɵelement(1, "i", 65);
1387
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1388
+ i0.ɵɵelementStart(0, "span", 149);
1389
+ i0.ɵɵelement(1, "i", 150);
1414
1390
  i0.ɵɵelementEnd();
1415
1391
  } }
1416
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1417
- i0.ɵɵelement(0, "i", 190);
1392
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1393
+ i0.ɵɵelementStart(0, "span");
1418
1394
  i0.ɵɵtext(1);
1419
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_1_Conditional_2_Template, 2, 0, "span", 64);
1395
+ i0.ɵɵelementEnd();
1420
1396
  } if (rf & 2) {
1421
- const ctx_r2 = i0.ɵɵnextContext(3);
1422
- i0.ɵɵadvance();
1423
- i0.ɵɵtextInterpolate1(" Notes", ctx_r2.noteCount > 0 ? " (" + ctx_r2.noteCount + ")" : "", " ");
1397
+ const ctx_r2 = i0.ɵɵnextContext(4);
1424
1398
  i0.ɵɵadvance();
1425
- i0.ɵɵconditional(ctx_r2.loadingStates.notes ? 2 : -1);
1399
+ i0.ɵɵtextInterpolate1(" (", ctx_r2.noteCount, ")");
1426
1400
  } }
1427
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
1401
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1402
+ i0.ɵɵelement(0, "i", 268);
1403
+ i0.ɵɵtext(1, " Notes ");
1404
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Conditional_2_Template, 2, 0, "span", 149)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Conditional_3_Template, 2, 1, "span");
1405
+ } if (rf & 2) {
1406
+ const ctx_r2 = i0.ɵɵnextContext(3);
1407
+ i0.ɵɵadvance(2);
1408
+ i0.ɵɵconditional(ctx_r2.loadingStates.notes ? 2 : ctx_r2.noteCount > 0 ? 3 : -1);
1409
+ } }
1410
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1428
1411
  const _r37 = i0.ɵɵgetCurrentView();
1429
- i0.ɵɵelementStart(0, "button", 127);
1430
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.addNote()); });
1431
- i0.ɵɵelement(1, "i", 128);
1412
+ i0.ɵɵelementStart(0, "button", 207);
1413
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addNote()); });
1414
+ i0.ɵɵelement(1, "i", 208);
1432
1415
  i0.ɵɵtext(2, " Add Note ");
1433
1416
  i0.ɵɵelementEnd();
1434
1417
  } }
1435
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1418
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_8_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1436
1419
  const _r38 = i0.ɵɵgetCurrentView();
1437
- i0.ɵɵelementStart(0, "button", 130);
1438
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_6_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.addNote()); });
1439
- i0.ɵɵelement(1, "i", 128);
1420
+ i0.ɵɵelementStart(0, "button", 210);
1421
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_8_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.addNote()); });
1422
+ i0.ɵɵelement(1, "i", 208);
1440
1423
  i0.ɵɵtext(2, " Create First Note ");
1441
1424
  i0.ɵɵelementEnd();
1442
1425
  } }
1443
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1444
- i0.ɵɵelementStart(0, "div", 67);
1445
- i0.ɵɵelement(1, "i", 190);
1426
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1427
+ i0.ɵɵelementStart(0, "div", 147);
1428
+ i0.ɵɵelement(1, "i", 268);
1446
1429
  i0.ɵɵelementStart(2, "h4");
1447
1430
  i0.ɵɵtext(3, "No Notes");
1448
1431
  i0.ɵɵelementEnd();
1449
1432
  i0.ɵɵelementStart(4, "p");
1450
1433
  i0.ɵɵtext(5, "Add notes to document important information, observations, or instructions for this agent.");
1451
1434
  i0.ɵɵelementEnd();
1452
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_6_Conditional_6_Template, 3, 0, "button", 129);
1435
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_8_Conditional_6_Template, 3, 0, "button", 209);
1453
1436
  i0.ɵɵelementEnd();
1454
1437
  } if (rf & 2) {
1455
- const ctx_r2 = i0.ɵɵnextContext(4);
1438
+ const ctx_r2 = i0.ɵɵnextContext(3);
1456
1439
  i0.ɵɵadvance(6);
1457
1440
  i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNotes ? 6 : -1);
1458
1441
  } }
1459
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1460
- i0.ɵɵelementStart(0, "div", 137);
1442
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1443
+ i0.ɵɵelementStart(0, "div", 217);
1461
1444
  i0.ɵɵtext(1);
1462
1445
  i0.ɵɵelementEnd();
1463
1446
  } if (rf & 2) {
@@ -1465,9 +1448,9 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template
1465
1448
  i0.ɵɵadvance();
1466
1449
  i0.ɵɵtextInterpolate2("", note_r40.Note.substring(0, 100), "", note_r40.Note.length > 100 ? "..." : "");
1467
1450
  } }
1468
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1469
- i0.ɵɵelementStart(0, "span", 139);
1470
- i0.ɵɵelement(1, "i", 189);
1451
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1452
+ i0.ɵɵelementStart(0, "span", 219);
1453
+ i0.ɵɵelement(1, "i", 267);
1471
1454
  i0.ɵɵtext(2);
1472
1455
  i0.ɵɵpipe(3, "date");
1473
1456
  i0.ɵɵelementEnd();
@@ -1476,22 +1459,22 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template
1476
1459
  i0.ɵɵadvance(2);
1477
1460
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 1, note_r40.__mj_CreatedAt, "short"), " ");
1478
1461
  } }
1479
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
1462
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
1480
1463
  const _r39 = i0.ɵɵgetCurrentView();
1481
- i0.ɵɵelementStart(0, "div", 192);
1482
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Template_div_click_0_listener() { const note_r40 = i0.ɵɵrestoreView(_r39).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Notes", note_r40.ID)); });
1483
- i0.ɵɵelementStart(1, "div", 134);
1484
- i0.ɵɵelement(2, "i", 190);
1464
+ i0.ɵɵelementStart(0, "div", 270);
1465
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Template_div_click_0_listener() { const note_r40 = i0.ɵɵrestoreView(_r39).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Notes", note_r40.ID)); });
1466
+ i0.ɵɵelementStart(1, "div", 214);
1467
+ i0.ɵɵelement(2, "i", 268);
1485
1468
  i0.ɵɵelementEnd();
1486
- i0.ɵɵelementStart(3, "div", 135)(4, "div", 136);
1469
+ i0.ɵɵelementStart(3, "div", 215)(4, "div", 216);
1487
1470
  i0.ɵɵtext(5);
1488
1471
  i0.ɵɵelementEnd();
1489
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Conditional_6_Template, 2, 2, "div", 137);
1490
- i0.ɵɵelementStart(7, "div", 138);
1491
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Conditional_8_Template, 4, 4, "span", 139);
1472
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Conditional_6_Template, 2, 2, "div", 217);
1473
+ i0.ɵɵelementStart(7, "div", 218);
1474
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Conditional_8_Template, 4, 4, "span", 219);
1492
1475
  i0.ɵɵelementEnd()();
1493
- i0.ɵɵelementStart(9, "div", 141);
1494
- i0.ɵɵelement(10, "i", 117);
1476
+ i0.ɵɵelementStart(9, "div", 221);
1477
+ i0.ɵɵelement(10, "i", 200);
1495
1478
  i0.ɵɵelementEnd()();
1496
1479
  } if (rf & 2) {
1497
1480
  const note_r40 = ctx.$implicit;
@@ -1502,330 +1485,152 @@ function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template
1502
1485
  i0.ɵɵadvance(2);
1503
1486
  i0.ɵɵconditional(note_r40.__mj_CreatedAt ? 8 : -1);
1504
1487
  } }
1505
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1488
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1506
1489
  const _r41 = i0.ɵɵgetCurrentView();
1507
- i0.ɵɵelementStart(0, "div", 145);
1508
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Notes", "")); });
1490
+ i0.ɵɵelementStart(0, "div", 225);
1491
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.navigateToEntity("MJ: AI Agent Notes", "")); });
1509
1492
  i0.ɵɵelementStart(1, "span");
1510
1493
  i0.ɵɵtext(2);
1511
1494
  i0.ɵɵelementEnd()();
1512
1495
  } if (rf & 2) {
1513
- const ctx_r2 = i0.ɵɵnextContext(5);
1496
+ const ctx_r2 = i0.ɵɵnextContext(4);
1514
1497
  i0.ɵɵadvance(2);
1515
1498
  i0.ɵɵtextInterpolate1("View all ", ctx_r2.noteCount, " notes...");
1516
1499
  } }
1517
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1518
- i0.ɵɵelementStart(0, "div", 126);
1519
- i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_For_2_Template, 11, 3, "div", 191, _forTrack0);
1520
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_Conditional_3_Template, 3, 1, "div", 132);
1500
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1501
+ i0.ɵɵelementStart(0, "div", 206);
1502
+ i0.ɵɵrepeaterCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_For_2_Template, 11, 3, "div", 269, _forTrack0);
1503
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_Conditional_3_Template, 3, 1, "div", 212);
1521
1504
  i0.ɵɵelementEnd();
1522
1505
  } if (rf & 2) {
1523
- const ctx_r2 = i0.ɵɵnextContext(4);
1506
+ const ctx_r2 = i0.ɵɵnextContext(3);
1524
1507
  i0.ɵɵadvance();
1525
1508
  i0.ɵɵrepeater(ctx_r2.agentNotes);
1526
1509
  i0.ɵɵadvance(2);
1527
1510
  i0.ɵɵconditional(ctx_r2.noteCount > ctx_r2.agentNotes.length ? 3 : -1);
1528
1511
  } }
1529
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Template(rf, ctx) { if (rf & 1) {
1530
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 186);
1531
- i0.ɵɵtext(3, " Manage notes, documentation, and annotations for this agent. ");
1512
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1513
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 15);
1514
+ i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_ng_template_1_Template, 4, 1, "ng-template", 17);
1515
+ i0.ɵɵelementStart(2, "div", 18)(3, "div", 19)(4, "div", 20);
1516
+ i0.ɵɵtext(5, " Manage notes, documentation, and annotations for this agent. ");
1532
1517
  i0.ɵɵelementEnd();
1533
- i0.ɵɵelementStart(4, "div", 124);
1534
- i0.ɵɵconditionalCreate(5, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_5_Template, 3, 0, "button", 125);
1518
+ i0.ɵɵelementStart(6, "div", 204);
1519
+ i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_7_Template, 3, 0, "button", 205);
1520
+ i0.ɵɵelementEnd()();
1521
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_8_Template, 7, 1, "div", 147)(9, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Conditional_9_Template, 4, 1, "div", 206);
1535
1522
  i0.ɵɵelementEnd()();
1536
- i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_6_Template, 7, 1, "div", 67)(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Conditional_7_Template, 4, 1, "div", 126);
1537
- i0.ɵɵelementEnd();
1538
- } if (rf & 2) {
1539
- const ctx_r2 = i0.ɵɵnextContext(3);
1540
- i0.ɵɵadvance(5);
1541
- i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNotes ? 5 : -1);
1542
- i0.ɵɵadvance();
1543
- i0.ɵɵconditional(ctx_r2.noteCount === 0 ? 6 : 7);
1544
- } }
1545
- function MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1546
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 18);
1547
- i0.ɵɵtemplate(1, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_1_Template, 3, 2, "ng-template", 20)(2, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_ng_template_2_Template, 8, 2, "ng-template", 21);
1548
- i0.ɵɵelementEnd();
1549
1523
  } if (rf & 2) {
1550
1524
  const ctx_r2 = i0.ɵɵnextContext(2);
1551
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("notes", false))("disabled", ctx_r2.loadingStates.notes);
1525
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("notes", false))("Disabled", ctx_r2.loadingStates.notes);
1526
+ i0.ɵɵadvance(7);
1527
+ i0.ɵɵconditional(ctx_r2.EditMode && ctx_r2.UserCanCreateNotes ? 7 : -1);
1528
+ i0.ɵɵadvance();
1529
+ i0.ɵɵconditional(ctx_r2.noteCount === 0 ? 8 : 9);
1552
1530
  } }
1553
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_15_Template(rf, ctx) { if (rf & 1) {
1554
- i0.ɵɵelement(0, "i", 170);
1531
+ function MJAIAgentFormComponentExtended_Conditional_1_ng_template_14_Template(rf, ctx) { if (rf & 1) {
1532
+ i0.ɵɵelement(0, "i", 249);
1555
1533
  i0.ɵɵtext(1, " Payload Management ");
1556
1534
  } }
1557
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template(rf, ctx) { if (rf & 1) {
1558
- const _r42 = i0.ɵɵgetCurrentView();
1559
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 186);
1560
- i0.ɵɵtext(3, " Configure how this agent handles data payloads, path routing, and validation between parent and child agents. ");
1561
- i0.ɵɵelementEnd()();
1562
- i0.ɵɵelementStart(4, "div", 193)(5, "h3", 194);
1563
- i0.ɵɵelement(6, "i", 195);
1564
- i0.ɵɵtext(7, " Payload Scope ");
1565
- i0.ɵɵelementEnd();
1566
- i0.ɵɵelementStart(8, "div", 196)(9, "div", 197)(10, "label", 198);
1567
- i0.ɵɵtext(11, "Payload Scope Path");
1568
- i0.ɵɵelementEnd();
1569
- i0.ɵɵelementStart(12, "p", 199);
1570
- i0.ɵɵtext(13, " Specify a path within the parent payload that this sub-agent should operate on. Leave empty to receive the entire payload. ");
1571
- i0.ɵɵelementEnd()();
1572
- i0.ɵɵelementStart(14, "div", 200);
1573
- i0.ɵɵelement(15, "mj-form-field", 201);
1574
- i0.ɵɵelementStart(16, "div", 202);
1575
- i0.ɵɵelement(17, "i", 203);
1576
- i0.ɵɵelementStart(18, "span");
1577
- i0.ɵɵtext(19, "Example: ");
1578
- i0.ɵɵelementStart(20, "code");
1579
- i0.ɵɵtext(21, "/customer/profile");
1580
- i0.ɵɵelementEnd();
1581
- i0.ɵɵtext(22, " or ");
1582
- i0.ɵɵelementStart(23, "code");
1583
- i0.ɵɵtext(24, "/analysis/results");
1584
- i0.ɵɵelementEnd()()()()()();
1585
- i0.ɵɵelementStart(25, "div", 193)(26, "h3", 194);
1586
- i0.ɵɵelement(27, "i", 204);
1587
- i0.ɵɵtext(28, " Path Configuration ");
1588
- i0.ɵɵelementEnd();
1589
- i0.ɵɵelementStart(29, "div", 205)(30, "div", 206)(31, "div", 207)(32, "div", 208);
1590
- i0.ɵɵelement(33, "i", 209);
1591
- i0.ɵɵelementEnd();
1592
- i0.ɵɵelementStart(34, "div", 210)(35, "h4");
1593
- i0.ɵɵtext(36, "Downstream Paths");
1594
- i0.ɵɵelementEnd();
1595
- i0.ɵɵelementStart(37, "p");
1596
- i0.ɵɵtext(38, "JSON array of paths to pass to sub-agents");
1597
- i0.ɵɵelementEnd()()();
1598
- i0.ɵɵelementStart(39, "div", 211)(40, "div", 212)(41, "mj-code-editor", 213);
1599
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template_mj_code_editor_valueChange_41_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadDownstreamPaths", $event)); });
1600
- i0.ɵɵelementEnd()();
1601
- i0.ɵɵelementStart(42, "div", 214);
1602
- i0.ɵɵelement(43, "i", 215);
1603
- i0.ɵɵtext(44, " Use ");
1604
- i0.ɵɵelementStart(45, "code");
1605
- i0.ɵɵtext(46, "[\"*\"]");
1606
- i0.ɵɵelementEnd();
1607
- i0.ɵɵtext(47, " to pass entire payload or specify paths like ");
1608
- i0.ɵɵelementStart(48, "code");
1609
- i0.ɵɵtext(49, "[\"user.id\", \"order.*\"]");
1610
- i0.ɵɵelementEnd()()()();
1611
- i0.ɵɵelementStart(50, "div", 206)(51, "div", 207)(52, "div", 216);
1612
- i0.ɵɵelement(53, "i", 217);
1613
- i0.ɵɵelementEnd();
1614
- i0.ɵɵelementStart(54, "div", 210)(55, "h4");
1615
- i0.ɵɵtext(56, "Upstream Paths");
1616
- i0.ɵɵelementEnd();
1617
- i0.ɵɵelementStart(57, "p");
1618
- i0.ɵɵtext(58, "JSON array of paths sub-agents can write back");
1619
- i0.ɵɵelementEnd()()();
1620
- i0.ɵɵelementStart(59, "div", 211)(60, "div", 212)(61, "mj-code-editor", 213);
1621
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template_mj_code_editor_valueChange_61_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadUpstreamPaths", $event)); });
1622
- i0.ɵɵelementEnd()();
1623
- i0.ɵɵelementStart(62, "div", 214);
1624
- i0.ɵɵelement(63, "i", 215);
1625
- i0.ɵɵtext(64, " Use ");
1626
- i0.ɵɵelementStart(65, "code");
1627
- i0.ɵɵtext(66, "[\"*\"]");
1628
- i0.ɵɵelementEnd();
1629
- i0.ɵɵtext(67, " to allow all writes or limit to specific paths ");
1630
- i0.ɵɵelementEnd()()();
1631
- i0.ɵɵelementStart(68, "div", 206)(69, "div", 207)(70, "div", 218);
1632
- i0.ɵɵelement(71, "i", 219);
1633
- i0.ɵɵelementEnd();
1634
- i0.ɵɵelementStart(72, "div", 210)(73, "h4");
1635
- i0.ɵɵtext(74, "Self Read Paths");
1636
- i0.ɵɵelementEnd();
1637
- i0.ɵɵelementStart(75, "p");
1638
- i0.ɵɵtext(76, "JSON array of paths this agent can read");
1639
- i0.ɵɵelementEnd()()();
1640
- i0.ɵɵelementStart(77, "div", 211)(78, "div", 212)(79, "mj-code-editor", 213);
1641
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template_mj_code_editor_valueChange_79_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadSelfReadPaths", $event)); });
1642
- i0.ɵɵelementEnd()();
1643
- i0.ɵɵelementStart(80, "div", 214);
1644
- i0.ɵɵelement(81, "i", 215);
1645
- i0.ɵɵtext(82, " Paths this agent's prompts can read from the payload ");
1646
- i0.ɵɵelementEnd()()();
1647
- i0.ɵɵelementStart(83, "div", 206)(84, "div", 207)(85, "div", 220);
1648
- i0.ɵɵelement(86, "i", 221);
1649
- i0.ɵɵelementEnd();
1650
- i0.ɵɵelementStart(87, "div", 210)(88, "h4");
1651
- i0.ɵɵtext(89, "Self Write Paths");
1652
- i0.ɵɵelementEnd();
1653
- i0.ɵɵelementStart(90, "p");
1654
- i0.ɵɵtext(91, "JSON array of paths this agent can write to");
1655
- i0.ɵɵelementEnd()()();
1656
- i0.ɵɵelementStart(92, "div", 211)(93, "div", 212)(94, "mj-code-editor", 213);
1657
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template_mj_code_editor_valueChange_94_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadSelfWritePaths", $event)); });
1658
- i0.ɵɵelementEnd()();
1659
- i0.ɵɵelementStart(95, "div", 214);
1660
- i0.ɵɵelement(96, "i", 215);
1661
- i0.ɵɵtext(97, " Paths this agent's prompts can write back to the payload ");
1662
- i0.ɵɵelementEnd()()()()();
1663
- i0.ɵɵelementStart(98, "div", 193)(99, "h3", 194);
1664
- i0.ɵɵelement(100, "i", 222);
1665
- i0.ɵɵtext(101, " Final Payload Validation ");
1666
- i0.ɵɵelementEnd();
1667
- i0.ɵɵelementStart(102, "div", 223)(103, "div", 224)(104, "div", 225)(105, "label", 226);
1668
- i0.ɵɵtext(106, "Validation Mode");
1669
- i0.ɵɵelementEnd();
1670
- i0.ɵɵelementStart(107, "p", 227);
1671
- i0.ɵɵtext(108, "How to handle validation failures");
1672
- i0.ɵɵelementEnd();
1673
- i0.ɵɵelement(109, "mj-form-field", 228);
1674
- i0.ɵɵelementEnd();
1675
- i0.ɵɵelementStart(110, "div", 225)(111, "label", 226);
1676
- i0.ɵɵtext(112, "Max Retries");
1677
- i0.ɵɵelementEnd();
1678
- i0.ɵɵelementStart(113, "p", 227);
1679
- i0.ɵɵtext(114, "Maximum validation retry attempts");
1680
- i0.ɵɵelementEnd();
1681
- i0.ɵɵelement(115, "mj-form-field", 229);
1682
- i0.ɵɵelementEnd()();
1683
- i0.ɵɵelementStart(116, "div", 230)(117, "label", 231);
1684
- i0.ɵɵelement(118, "i", 232);
1685
- i0.ɵɵtext(119, " Validation Schema ");
1686
- i0.ɵɵelementEnd();
1687
- i0.ɵɵelementStart(120, "p", 233);
1688
- i0.ɵɵtext(121, " JSON schema or validation rules for the final payload structure ");
1689
- i0.ɵɵelementEnd();
1690
- i0.ɵɵelementStart(122, "div", 234)(123, "mj-code-editor", 235);
1691
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template_mj_code_editor_valueChange_123_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updatePayloadField("FinalPayloadValidation", $event)); });
1692
- i0.ɵɵelementEnd()()()()()();
1693
- } if (rf & 2) {
1694
- const ctx_r2 = i0.ɵɵnextContext(2);
1695
- i0.ɵɵadvance(15);
1696
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1697
- i0.ɵɵadvance(26);
1698
- i0.ɵɵproperty("value", ctx_r2.record.PayloadDownstreamPaths || "[\"*\"]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
1699
- i0.ɵɵadvance(20);
1700
- i0.ɵɵproperty("value", ctx_r2.record.PayloadUpstreamPaths || "[\"*\"]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
1701
- i0.ɵɵadvance(18);
1702
- i0.ɵɵproperty("value", ctx_r2.record.PayloadSelfReadPaths || "[]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
1703
- i0.ɵɵadvance(15);
1704
- i0.ɵɵproperty("value", ctx_r2.record.PayloadSelfWritePaths || "[]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
1705
- i0.ɵɵadvance(15);
1706
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1707
- i0.ɵɵadvance(6);
1708
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1709
- i0.ɵɵadvance(8);
1710
- i0.ɵɵproperty("value", ctx_r2.record.FinalPayloadValidation || "{}")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
1711
- } }
1712
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_18_Template(rf, ctx) { if (rf & 1) {
1713
- i0.ɵɵelement(0, "i", 236);
1535
+ function MJAIAgentFormComponentExtended_Conditional_1_ng_template_140_Template(rf, ctx) { if (rf & 1) {
1536
+ i0.ɵɵelement(0, "i", 271);
1714
1537
  i0.ɵɵtext(1, " Execution Guardrails ");
1715
1538
  } }
1716
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_19_Template(rf, ctx) { if (rf & 1) {
1717
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 186);
1718
- i0.ɵɵtext(3, " Set limits to prevent runaway agent executions and control resource usage. ");
1719
- i0.ɵɵelementEnd()();
1720
- i0.ɵɵelementStart(4, "div", 237);
1721
- i0.ɵɵelement(5, "mj-form-field", 238)(6, "mj-form-field", 239)(7, "mj-form-field", 240)(8, "mj-form-field", 241);
1722
- i0.ɵɵelementEnd()();
1723
- } if (rf & 2) {
1724
- const ctx_r2 = i0.ɵɵnextContext(2);
1725
- i0.ɵɵadvance(5);
1726
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1727
- i0.ɵɵadvance();
1728
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1729
- i0.ɵɵadvance();
1730
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1731
- i0.ɵɵadvance();
1732
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1733
- } }
1734
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_21_Template(rf, ctx) { if (rf & 1) {
1735
- i0.ɵɵelement(0, "i", 242);
1539
+ function MJAIAgentFormComponentExtended_Conditional_1_ng_template_151_Template(rf, ctx) { if (rf & 1) {
1540
+ i0.ɵɵelement(0, "i", 272);
1736
1541
  i0.ɵɵtext(1, " Configuration ");
1737
1542
  } }
1738
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_19_Template(rf, ctx) { if (rf & 1) {
1739
- const _r44 = i0.ɵɵgetCurrentView();
1740
- i0.ɵɵelementStart(0, "kendo-dropdownlist", 276);
1741
- i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_19_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.record.Status, $event) || (ctx_r2.record.Status = $event); return i0.ɵɵresetView($event); });
1543
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_171_Template(rf, ctx) { if (rf & 1) {
1544
+ const _r42 = i0.ɵɵgetCurrentView();
1545
+ i0.ɵɵelementStart(0, "mj-dropdown", 273);
1546
+ i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_171_Template_mj_dropdown_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.record.Status, $event) || (ctx_r2.record.Status = $event); return i0.ɵɵresetView($event); });
1742
1547
  i0.ɵɵelementEnd();
1743
1548
  } if (rf & 2) {
1744
- const ctx_r2 = i0.ɵɵnextContext(3);
1549
+ const ctx_r2 = i0.ɵɵnextContext(2);
1745
1550
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.record.Status);
1746
- i0.ɵɵproperty("data", ctx_r2.statusOptions)("valuePrimitive", true);
1551
+ i0.ɵɵproperty("Data", ctx_r2.statusOptions)("ValuePrimitive", true);
1747
1552
  } }
1748
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_20_Template(rf, ctx) { if (rf & 1) {
1749
- i0.ɵɵelementStart(0, "span", 254);
1553
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_172_Template(rf, ctx) { if (rf & 1) {
1554
+ i0.ɵɵelementStart(0, "span", 82);
1750
1555
  i0.ɵɵtext(1);
1751
1556
  i0.ɵɵelementEnd();
1752
1557
  } if (rf & 2) {
1753
- const ctx_r2 = i0.ɵɵnextContext(3);
1558
+ const ctx_r2 = i0.ɵɵnextContext(2);
1754
1559
  i0.ɵɵadvance();
1755
1560
  i0.ɵɵtextInterpolate(ctx_r2.record.Status || "Not Set");
1756
1561
  } }
1757
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_31_Template(rf, ctx) { if (rf & 1) {
1758
- const _r45 = i0.ɵɵgetCurrentView();
1759
- i0.ɵɵelementStart(0, "kendo-dropdownlist", 277);
1760
- i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_31_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r45); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.record.TypeID, $event) || (ctx_r2.record.TypeID = $event); return i0.ɵɵresetView($event); });
1562
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_183_Template(rf, ctx) { if (rf & 1) {
1563
+ const _r43 = i0.ɵɵgetCurrentView();
1564
+ i0.ɵɵelementStart(0, "mj-dropdown", 274);
1565
+ i0.ɵɵtwoWayListener("ngModelChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_183_Template_mj_dropdown_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r43); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.record.TypeID, $event) || (ctx_r2.record.TypeID = $event); return i0.ɵɵresetView($event); });
1761
1566
  i0.ɵɵelementEnd();
1762
1567
  } if (rf & 2) {
1763
- const ctx_r2 = i0.ɵɵnextContext(3);
1568
+ const ctx_r2 = i0.ɵɵnextContext(2);
1764
1569
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.record.TypeID);
1765
- i0.ɵɵproperty("data", ctx_r2.agentTypes)("valuePrimitive", true);
1570
+ i0.ɵɵproperty("Data", ctx_r2.agentTypes)("ValuePrimitive", true);
1766
1571
  } }
1767
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_32_Template(rf, ctx) { if (rf & 1) {
1768
- i0.ɵɵelementStart(0, "span", 254);
1572
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_184_Template(rf, ctx) { if (rf & 1) {
1573
+ i0.ɵɵelementStart(0, "span", 82);
1769
1574
  i0.ɵɵtext(1);
1770
1575
  i0.ɵɵelementEnd();
1771
1576
  } if (rf & 2) {
1772
- const ctx_r2 = i0.ɵɵnextContext(3);
1577
+ const ctx_r2 = i0.ɵɵnextContext(2);
1773
1578
  i0.ɵɵadvance();
1774
1579
  i0.ɵɵtextInterpolate(ctx_r2.record.Type || "Not Set");
1775
1580
  } }
1776
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_43_Template(rf, ctx) { if (rf & 1) {
1777
- const _r46 = i0.ɵɵgetCurrentView();
1778
- i0.ɵɵelementStart(0, "mj-tree-dropdown", 278);
1779
- i0.ɵɵlistener("ValueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_43_Template_mj_tree_dropdown_ValueChange_0_listener($event) { i0.ɵɵrestoreView(_r46); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.OnCategoryChange($event)); });
1581
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_195_Template(rf, ctx) { if (rf & 1) {
1582
+ const _r44 = i0.ɵɵgetCurrentView();
1583
+ i0.ɵɵelementStart(0, "mj-tree-dropdown", 275);
1584
+ i0.ɵɵlistener("ValueChange", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_195_Template_mj_tree_dropdown_ValueChange_0_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnCategoryChange($event)); });
1780
1585
  i0.ɵɵelementEnd();
1781
1586
  } if (rf & 2) {
1782
- const ctx_r2 = i0.ɵɵnextContext(3);
1587
+ const ctx_r2 = i0.ɵɵnextContext(2);
1783
1588
  i0.ɵɵproperty("BranchConfig", ctx_r2.CategoryBranchConfig)("Value", ctx_r2.SelectedCategoryKey)("Clearable", true)("EnableSearch", true);
1784
1589
  } }
1785
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_44_Template(rf, ctx) { if (rf & 1) {
1786
- i0.ɵɵelementStart(0, "span", 254);
1590
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_196_Template(rf, ctx) { if (rf & 1) {
1591
+ i0.ɵɵelementStart(0, "span", 82);
1787
1592
  i0.ɵɵtext(1);
1788
1593
  i0.ɵɵelementEnd();
1789
1594
  } if (rf & 2) {
1790
- const ctx_r2 = i0.ɵɵnextContext(3);
1595
+ const ctx_r2 = i0.ɵɵnextContext(2);
1791
1596
  i0.ɵɵadvance();
1792
1597
  i0.ɵɵtextInterpolate(ctx_r2.record.Category || "Not Set");
1793
1598
  } }
1794
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1795
- i0.ɵɵelementStart(0, "span", 285);
1599
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1600
+ i0.ɵɵelementStart(0, "span", 282);
1796
1601
  i0.ɵɵtext(1);
1797
1602
  i0.ɵɵelementEnd();
1798
1603
  } if (rf & 2) {
1799
- const ctx_r2 = i0.ɵɵnextContext(5);
1604
+ const ctx_r2 = i0.ɵɵnextContext(4);
1800
1605
  i0.ɵɵadvance();
1801
1606
  i0.ɵɵtextInterpolate(ctx_r2.selectedContextCompressionPrompt.Name);
1802
1607
  } }
1803
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1804
- i0.ɵɵelementStart(0, "span", 286);
1608
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1609
+ i0.ɵɵelementStart(0, "span", 283);
1805
1610
  i0.ɵɵtext(1, "No prompt selected");
1806
1611
  i0.ɵɵelementEnd();
1807
1612
  } }
1808
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1809
- const _r48 = i0.ɵɵgetCurrentView();
1810
- i0.ɵɵelementStart(0, "button", 290);
1811
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r48); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.clearContextCompressionPrompt()); });
1812
- i0.ɵɵelement(1, "i", 291);
1613
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1614
+ const _r46 = i0.ɵɵgetCurrentView();
1615
+ i0.ɵɵelementStart(0, "button", 287);
1616
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r46); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.clearContextCompressionPrompt()); });
1617
+ i0.ɵɵelement(1, "i", 288);
1813
1618
  i0.ɵɵelementEnd();
1814
1619
  } }
1815
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Template(rf, ctx) { if (rf & 1) {
1816
- const _r47 = i0.ɵɵgetCurrentView();
1817
- i0.ɵɵelementStart(0, "div", 283)(1, "div", 284);
1818
- i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_2_Template, 2, 1, "span", 285)(3, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_3_Template, 2, 0, "span", 286);
1620
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Template(rf, ctx) { if (rf & 1) {
1621
+ const _r45 = i0.ɵɵgetCurrentView();
1622
+ i0.ɵɵelementStart(0, "div", 280)(1, "div", 281);
1623
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_2_Template, 2, 1, "span", 282)(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_3_Template, 2, 0, "span", 283);
1819
1624
  i0.ɵɵelementEnd();
1820
- i0.ɵɵelementStart(4, "div", 287)(5, "button", 288);
1821
- i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r47); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.openContextCompressionPromptSelector()); });
1822
- i0.ɵɵelement(6, "i", 74);
1625
+ i0.ɵɵelementStart(4, "div", 284)(5, "button", 285);
1626
+ i0.ɵɵlistener("click", function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r45); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openContextCompressionPromptSelector()); });
1627
+ i0.ɵɵelement(6, "i", 153);
1823
1628
  i0.ɵɵtext(7);
1824
1629
  i0.ɵɵelementEnd();
1825
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Conditional_8_Template, 2, 0, "button", 289);
1630
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Conditional_8_Template, 2, 0, "button", 286);
1826
1631
  i0.ɵɵelementEnd()();
1827
1632
  } if (rf & 2) {
1828
- const ctx_r2 = i0.ɵɵnextContext(4);
1633
+ const ctx_r2 = i0.ɵɵnextContext(3);
1829
1634
  i0.ɵɵadvance(2);
1830
1635
  i0.ɵɵconditional(ctx_r2.selectedContextCompressionPrompt ? 2 : 3);
1831
1636
  i0.ɵɵadvance(5);
@@ -1833,54 +1638,54 @@ function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional
1833
1638
  i0.ɵɵadvance();
1834
1639
  i0.ɵɵconditional(ctx_r2.selectedContextCompressionPrompt ? 8 : -1);
1835
1640
  } }
1836
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_33_Template(rf, ctx) { if (rf & 1) {
1837
- i0.ɵɵelementStart(0, "span", 254);
1641
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_33_Template(rf, ctx) { if (rf & 1) {
1642
+ i0.ɵɵelementStart(0, "span", 82);
1838
1643
  i0.ɵɵtext(1);
1839
1644
  i0.ɵɵelementEnd();
1840
1645
  } if (rf & 2) {
1841
- const ctx_r2 = i0.ɵɵnextContext(4);
1646
+ const ctx_r2 = i0.ɵɵnextContext(3);
1842
1647
  i0.ɵɵadvance();
1843
1648
  i0.ɵɵtextInterpolate((ctx_r2.selectedContextCompressionPrompt == null ? null : ctx_r2.selectedContextCompressionPrompt.Name) || ctx_r2.record.ContextCompressionPrompt || "Not Set");
1844
1649
  } }
1845
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Template(rf, ctx) { if (rf & 1) {
1846
- i0.ɵɵelementStart(0, "div", 247)(1, "div", 248)(2, "div", 249);
1847
- i0.ɵɵelement(3, "i", 279);
1650
+ function MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Template(rf, ctx) { if (rf & 1) {
1651
+ i0.ɵɵelementStart(0, "div", 75)(1, "div", 76)(2, "div", 77);
1652
+ i0.ɵɵelement(3, "i", 276);
1848
1653
  i0.ɵɵelementEnd();
1849
- i0.ɵɵelementStart(4, "div", 251)(5, "h4");
1654
+ i0.ɵɵelementStart(4, "div", 79)(5, "h4");
1850
1655
  i0.ɵɵtext(6, "Message Threshold");
1851
1656
  i0.ɵɵelementEnd();
1852
1657
  i0.ɵɵelementStart(7, "p");
1853
1658
  i0.ɵɵtext(8, "Messages before compression triggers");
1854
1659
  i0.ɵɵelementEnd()()();
1855
- i0.ɵɵelementStart(9, "div", 252);
1856
- i0.ɵɵelement(10, "mj-form-field", 280);
1660
+ i0.ɵɵelementStart(9, "div", 80);
1661
+ i0.ɵɵelement(10, "mj-form-field", 277);
1857
1662
  i0.ɵɵelementEnd()();
1858
- i0.ɵɵelementStart(11, "div", 247)(12, "div", 248)(13, "div", 249);
1859
- i0.ɵɵelement(14, "i", 281);
1663
+ i0.ɵɵelementStart(11, "div", 75)(12, "div", 76)(13, "div", 77);
1664
+ i0.ɵɵelement(14, "i", 278);
1860
1665
  i0.ɵɵelementEnd();
1861
- i0.ɵɵelementStart(15, "div", 251)(16, "h4");
1666
+ i0.ɵɵelementStart(15, "div", 79)(16, "h4");
1862
1667
  i0.ɵɵtext(17, "Messages to Keep");
1863
1668
  i0.ɵɵelementEnd();
1864
1669
  i0.ɵɵelementStart(18, "p");
1865
1670
  i0.ɵɵtext(19, "Recent messages to retain uncompressed");
1866
1671
  i0.ɵɵelementEnd()()();
1867
- i0.ɵɵelementStart(20, "div", 252);
1868
- i0.ɵɵelement(21, "mj-form-field", 282);
1672
+ i0.ɵɵelementStart(20, "div", 80);
1673
+ i0.ɵɵelement(21, "mj-form-field", 279);
1869
1674
  i0.ɵɵelementEnd()();
1870
- i0.ɵɵelementStart(22, "div", 247)(23, "div", 248)(24, "div", 249);
1871
- i0.ɵɵelement(25, "i", 182);
1675
+ i0.ɵɵelementStart(22, "div", 75)(23, "div", 76)(24, "div", 77);
1676
+ i0.ɵɵelement(25, "i", 261);
1872
1677
  i0.ɵɵelementEnd();
1873
- i0.ɵɵelementStart(26, "div", 251)(27, "h4");
1678
+ i0.ɵɵelementStart(26, "div", 79)(27, "h4");
1874
1679
  i0.ɵɵtext(28, "Compression Prompt");
1875
1680
  i0.ɵɵelementEnd();
1876
1681
  i0.ɵɵelementStart(29, "p");
1877
1682
  i0.ɵɵtext(30, "Prompt used for summarization");
1878
1683
  i0.ɵɵelementEnd()()();
1879
- i0.ɵɵelementStart(31, "div", 252);
1880
- i0.ɵɵconditionalCreate(32, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_32_Template, 9, 3, "div", 283)(33, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Conditional_33_Template, 2, 1, "span", 254);
1684
+ i0.ɵɵelementStart(31, "div", 80);
1685
+ i0.ɵɵconditionalCreate(32, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_32_Template, 9, 3, "div", 280)(33, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Conditional_33_Template, 2, 1, "span", 82);
1881
1686
  i0.ɵɵelementEnd()();
1882
1687
  } if (rf & 2) {
1883
- const ctx_r2 = i0.ɵɵnextContext(3);
1688
+ const ctx_r2 = i0.ɵɵnextContext(2);
1884
1689
  i0.ɵɵadvance(10);
1885
1690
  i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
1886
1691
  i0.ɵɵadvance(11);
@@ -1888,237 +1693,342 @@ function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional
1888
1693
  i0.ɵɵadvance(11);
1889
1694
  i0.ɵɵconditional(ctx_r2.EditMode ? 32 : 33);
1890
1695
  } }
1891
- function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Template(rf, ctx) { if (rf & 1) {
1892
- const _r43 = i0.ɵɵgetCurrentView();
1893
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 123)(2, "div", 186);
1894
- i0.ɵɵtext(3, " Configure agent behavior, execution settings, and advanced features. ");
1696
+ function MJAIAgentFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
1697
+ const _r1 = i0.ɵɵgetCurrentView();
1698
+ i0.ɵɵelementStart(0, "form", 3, 0);
1699
+ i0.ɵɵelement(2, "mj-form-toolbar", 5);
1700
+ i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_1_Conditional_3_Template, 19, 6, "div", 6);
1701
+ i0.ɵɵconditionalCreate(4, MJAIAgentFormComponentExtended_Conditional_1_Conditional_4_Template, 10, 3, "div", 7);
1702
+ i0.ɵɵelementStart(5, "div", 8);
1703
+ i0.ɵɵconditionalCreate(6, MJAIAgentFormComponentExtended_Conditional_1_Conditional_6_Template, 6, 4, "mj-accordion-panel", 9);
1704
+ i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_1_Conditional_7_Template, 6, 3, "mj-accordion-panel", 10);
1705
+ i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_1_Conditional_8_Template, 5, 3, "mj-accordion-panel", 11);
1706
+ i0.ɵɵconditionalCreate(9, MJAIAgentFormComponentExtended_Conditional_1_Conditional_9_Template, 19, 13, "mj-accordion-panel", 12);
1707
+ i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_1_Conditional_10_Template, 15, 5, "mj-accordion-panel", 13);
1708
+ i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_1_Conditional_11_Template, 8, 3, "mj-accordion-panel", 14);
1709
+ i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_1_Conditional_12_Template, 10, 4, "mj-accordion-panel", 15);
1710
+ i0.ɵɵelementStart(13, "mj-accordion-panel", 16);
1711
+ i0.ɵɵtemplate(14, MJAIAgentFormComponentExtended_Conditional_1_ng_template_14_Template, 2, 0, "ng-template", 17);
1712
+ i0.ɵɵelementStart(15, "div", 18)(16, "div", 19)(17, "div", 20);
1713
+ i0.ɵɵtext(18, " Configure how this agent handles data payloads, path routing, and validation between parent and child agents. ");
1895
1714
  i0.ɵɵelementEnd()();
1896
- i0.ɵɵelementStart(4, "div", 243)(5, "h3", 244);
1897
- i0.ɵɵelement(6, "i", 245);
1898
- i0.ɵɵtext(7, " Identity & Behavior ");
1715
+ i0.ɵɵelementStart(19, "div", 21)(20, "h3", 22);
1716
+ i0.ɵɵelement(21, "i", 23);
1717
+ i0.ɵɵtext(22, " Payload Scope ");
1899
1718
  i0.ɵɵelementEnd();
1900
- i0.ɵɵelementStart(8, "div", 246)(9, "div", 247)(10, "div", 248)(11, "div", 249);
1901
- i0.ɵɵelement(12, "i", 250);
1719
+ i0.ɵɵelementStart(23, "div", 24)(24, "div", 25)(25, "label", 26);
1720
+ i0.ɵɵtext(26, "Payload Scope Path");
1902
1721
  i0.ɵɵelementEnd();
1903
- i0.ɵɵelementStart(13, "div", 251)(14, "h4");
1904
- i0.ɵɵtext(15, "Agent Status");
1722
+ i0.ɵɵelementStart(27, "p", 27);
1723
+ i0.ɵɵtext(28, " Specify a path within the parent payload that this sub-agent should operate on. Leave empty to receive the entire payload. ");
1724
+ i0.ɵɵelementEnd()();
1725
+ i0.ɵɵelementStart(29, "div", 28);
1726
+ i0.ɵɵelement(30, "mj-form-field", 29);
1727
+ i0.ɵɵelementStart(31, "div", 30);
1728
+ i0.ɵɵelement(32, "i", 31);
1729
+ i0.ɵɵelementStart(33, "span");
1730
+ i0.ɵɵtext(34, "Example: ");
1731
+ i0.ɵɵelementStart(35, "code");
1732
+ i0.ɵɵtext(36, "/customer/profile");
1733
+ i0.ɵɵelementEnd();
1734
+ i0.ɵɵtext(37, " or ");
1735
+ i0.ɵɵelementStart(38, "code");
1736
+ i0.ɵɵtext(39, "/analysis/results");
1737
+ i0.ɵɵelementEnd()()()()()();
1738
+ i0.ɵɵelementStart(40, "div", 21)(41, "h3", 22);
1739
+ i0.ɵɵelement(42, "i", 32);
1740
+ i0.ɵɵtext(43, " Path Configuration ");
1905
1741
  i0.ɵɵelementEnd();
1906
- i0.ɵɵelementStart(16, "p");
1907
- i0.ɵɵtext(17, "Current availability and operational status");
1742
+ i0.ɵɵelementStart(44, "div", 33)(45, "div", 34)(46, "div", 35)(47, "div", 36);
1743
+ i0.ɵɵelement(48, "i", 37);
1744
+ i0.ɵɵelementEnd();
1745
+ i0.ɵɵelementStart(49, "div", 38)(50, "h4");
1746
+ i0.ɵɵtext(51, "Downstream Paths");
1747
+ i0.ɵɵelementEnd();
1748
+ i0.ɵɵelementStart(52, "p");
1749
+ i0.ɵɵtext(53, "JSON array of paths to pass to sub-agents");
1908
1750
  i0.ɵɵelementEnd()()();
1909
- i0.ɵɵelementStart(18, "div", 252);
1910
- i0.ɵɵconditionalCreate(19, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_19_Template, 1, 3, "kendo-dropdownlist", 253)(20, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_20_Template, 2, 1, "span", 254);
1751
+ i0.ɵɵelementStart(54, "div", 39)(55, "div", 40)(56, "mj-code-editor", 41);
1752
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_code_editor_valueChange_56_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadDownstreamPaths", $event)); });
1911
1753
  i0.ɵɵelementEnd()();
1912
- i0.ɵɵelementStart(21, "div", 247)(22, "div", 248)(23, "div", 249);
1913
- i0.ɵɵelement(24, "i", 45);
1754
+ i0.ɵɵelementStart(57, "div", 42);
1755
+ i0.ɵɵelement(58, "i", 43);
1756
+ i0.ɵɵtext(59, " Use ");
1757
+ i0.ɵɵelementStart(60, "code");
1758
+ i0.ɵɵtext(61, "[\"*\"]");
1759
+ i0.ɵɵelementEnd();
1760
+ i0.ɵɵtext(62, " to pass entire payload or specify paths like ");
1761
+ i0.ɵɵelementStart(63, "code");
1762
+ i0.ɵɵtext(64, "[\"user.id\", \"order.*\"]");
1763
+ i0.ɵɵelementEnd()()()();
1764
+ i0.ɵɵelementStart(65, "div", 34)(66, "div", 35)(67, "div", 44);
1765
+ i0.ɵɵelement(68, "i", 45);
1914
1766
  i0.ɵɵelementEnd();
1915
- i0.ɵɵelementStart(25, "div", 251)(26, "h4");
1916
- i0.ɵɵtext(27, "Agent Type");
1767
+ i0.ɵɵelementStart(69, "div", 38)(70, "h4");
1768
+ i0.ɵɵtext(71, "Upstream Paths");
1917
1769
  i0.ɵɵelementEnd();
1918
- i0.ɵɵelementStart(28, "p");
1919
- i0.ɵɵtext(29, "Category and system-level behavior");
1770
+ i0.ɵɵelementStart(72, "p");
1771
+ i0.ɵɵtext(73, "JSON array of paths sub-agents can write back");
1920
1772
  i0.ɵɵelementEnd()()();
1921
- i0.ɵɵelementStart(30, "div", 252);
1922
- i0.ɵɵconditionalCreate(31, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_31_Template, 1, 3, "kendo-dropdownlist", 255)(32, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_32_Template, 2, 1, "span", 254);
1773
+ i0.ɵɵelementStart(74, "div", 39)(75, "div", 40)(76, "mj-code-editor", 41);
1774
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_code_editor_valueChange_76_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadUpstreamPaths", $event)); });
1923
1775
  i0.ɵɵelementEnd()();
1924
- i0.ɵɵelementStart(33, "div", 247)(34, "div", 248)(35, "div", 249);
1925
- i0.ɵɵelement(36, "i", 256);
1776
+ i0.ɵɵelementStart(77, "div", 42);
1777
+ i0.ɵɵelement(78, "i", 43);
1778
+ i0.ɵɵtext(79, " Use ");
1779
+ i0.ɵɵelementStart(80, "code");
1780
+ i0.ɵɵtext(81, "[\"*\"]");
1781
+ i0.ɵɵelementEnd();
1782
+ i0.ɵɵtext(82, " to allow all writes or limit to specific paths ");
1783
+ i0.ɵɵelementEnd()()();
1784
+ i0.ɵɵelementStart(83, "div", 34)(84, "div", 35)(85, "div", 46);
1785
+ i0.ɵɵelement(86, "i", 47);
1926
1786
  i0.ɵɵelementEnd();
1927
- i0.ɵɵelementStart(37, "div", 251)(38, "h4");
1928
- i0.ɵɵtext(39, "Category");
1787
+ i0.ɵɵelementStart(87, "div", 38)(88, "h4");
1788
+ i0.ɵɵtext(89, "Self Read Paths");
1929
1789
  i0.ɵɵelementEnd();
1930
- i0.ɵɵelementStart(40, "p");
1931
- i0.ɵɵtext(41, "Organizational category for this agent");
1790
+ i0.ɵɵelementStart(90, "p");
1791
+ i0.ɵɵtext(91, "JSON array of paths this agent can read");
1932
1792
  i0.ɵɵelementEnd()()();
1933
- i0.ɵɵelementStart(42, "div", 252);
1934
- i0.ɵɵconditionalCreate(43, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_43_Template, 1, 4, "mj-tree-dropdown", 257)(44, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_44_Template, 2, 1, "span", 254);
1793
+ i0.ɵɵelementStart(92, "div", 39)(93, "div", 40)(94, "mj-code-editor", 41);
1794
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_code_editor_valueChange_94_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadSelfReadPaths", $event)); });
1935
1795
  i0.ɵɵelementEnd()();
1936
- i0.ɵɵelementStart(45, "div", 247)(46, "div", 248)(47, "div", 249);
1937
- i0.ɵɵelement(48, "i", 120);
1796
+ i0.ɵɵelementStart(95, "div", 42);
1797
+ i0.ɵɵelement(96, "i", 43);
1798
+ i0.ɵɵtext(97, " Paths this agent's prompts can read from the payload ");
1799
+ i0.ɵɵelementEnd()()();
1800
+ i0.ɵɵelementStart(98, "div", 34)(99, "div", 35)(100, "div", 48);
1801
+ i0.ɵɵelement(101, "i", 49);
1938
1802
  i0.ɵɵelementEnd();
1939
- i0.ɵɵelementStart(49, "div", 251)(50, "h4");
1940
- i0.ɵɵtext(51, "Expose as Action");
1803
+ i0.ɵɵelementStart(102, "div", 38)(103, "h4");
1804
+ i0.ɵɵtext(104, "Self Write Paths");
1941
1805
  i0.ɵɵelementEnd();
1942
- i0.ɵɵelementStart(52, "p");
1943
- i0.ɵɵtext(53, "Make available as an action for other agents");
1806
+ i0.ɵɵelementStart(105, "p");
1807
+ i0.ɵɵtext(106, "JSON array of paths this agent can write to");
1944
1808
  i0.ɵɵelementEnd()()();
1945
- i0.ɵɵelementStart(54, "div", 252);
1946
- i0.ɵɵelement(55, "mj-form-field", 258);
1809
+ i0.ɵɵelementStart(107, "div", 39)(108, "div", 40)(109, "mj-code-editor", 41);
1810
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_code_editor_valueChange_109_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updatePayloadField("PayloadSelfWritePaths", $event)); });
1947
1811
  i0.ɵɵelementEnd()();
1948
- i0.ɵɵelementStart(56, "div", 259)(57, "div", 248)(58, "div", 249);
1949
- i0.ɵɵelement(59, "i", 260);
1812
+ i0.ɵɵelementStart(110, "div", 42);
1813
+ i0.ɵɵelement(111, "i", 43);
1814
+ i0.ɵɵtext(112, " Paths this agent's prompts can write back to the payload ");
1815
+ i0.ɵɵelementEnd()()()()();
1816
+ i0.ɵɵelementStart(113, "div", 21)(114, "h3", 22);
1817
+ i0.ɵɵelement(115, "i", 50);
1818
+ i0.ɵɵtext(116, " Final Payload Validation ");
1819
+ i0.ɵɵelementEnd();
1820
+ i0.ɵɵelementStart(117, "div", 51)(118, "div", 52)(119, "div", 53)(120, "label", 54);
1821
+ i0.ɵɵtext(121, "Validation Mode");
1822
+ i0.ɵɵelementEnd();
1823
+ i0.ɵɵelementStart(122, "p", 55);
1824
+ i0.ɵɵtext(123, "How to handle validation failures");
1950
1825
  i0.ɵɵelementEnd();
1951
- i0.ɵɵelementStart(60, "div", 251)(61, "h4");
1952
- i0.ɵɵtext(62, "Description");
1826
+ i0.ɵɵelement(124, "mj-form-field", 56);
1953
1827
  i0.ɵɵelementEnd();
1954
- i0.ɵɵelementStart(63, "p");
1955
- i0.ɵɵtext(64, "Detailed agent description and purpose");
1828
+ i0.ɵɵelementStart(125, "div", 53)(126, "label", 54);
1829
+ i0.ɵɵtext(127, "Max Retries");
1830
+ i0.ɵɵelementEnd();
1831
+ i0.ɵɵelementStart(128, "p", 55);
1832
+ i0.ɵɵtext(129, "Maximum validation retry attempts");
1833
+ i0.ɵɵelementEnd();
1834
+ i0.ɵɵelement(130, "mj-form-field", 57);
1835
+ i0.ɵɵelementEnd()();
1836
+ i0.ɵɵelementStart(131, "div", 58)(132, "label", 59);
1837
+ i0.ɵɵelement(133, "i", 60);
1838
+ i0.ɵɵtext(134, " Validation Schema ");
1839
+ i0.ɵɵelementEnd();
1840
+ i0.ɵɵelementStart(135, "p", 61);
1841
+ i0.ɵɵtext(136, " JSON schema or validation rules for the final payload structure ");
1842
+ i0.ɵɵelementEnd();
1843
+ i0.ɵɵelementStart(137, "div", 62)(138, "mj-code-editor", 63);
1844
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_code_editor_valueChange_138_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updatePayloadField("FinalPayloadValidation", $event)); });
1845
+ i0.ɵɵelementEnd()()()()()()();
1846
+ i0.ɵɵelementStart(139, "mj-accordion-panel", 64);
1847
+ i0.ɵɵtemplate(140, MJAIAgentFormComponentExtended_Conditional_1_ng_template_140_Template, 2, 0, "ng-template", 17);
1848
+ i0.ɵɵelementStart(141, "div", 18)(142, "div", 19)(143, "div", 20);
1849
+ i0.ɵɵtext(144, " Set limits to prevent runaway agent executions and control resource usage. ");
1850
+ i0.ɵɵelementEnd()();
1851
+ i0.ɵɵelementStart(145, "div", 65);
1852
+ i0.ɵɵelement(146, "mj-form-field", 66)(147, "mj-form-field", 67)(148, "mj-form-field", 68)(149, "mj-form-field", 69);
1956
1853
  i0.ɵɵelementEnd()()();
1957
- i0.ɵɵelementStart(65, "div", 252);
1958
- i0.ɵɵelement(66, "mj-form-field", 261);
1854
+ i0.ɵɵelementStart(150, "mj-accordion-panel", 70);
1855
+ i0.ɵɵtemplate(151, MJAIAgentFormComponentExtended_Conditional_1_ng_template_151_Template, 2, 0, "ng-template", 17);
1856
+ i0.ɵɵelementStart(152, "div", 18)(153, "div", 19)(154, "div", 20);
1857
+ i0.ɵɵtext(155, " Configure agent behavior, execution settings, and advanced features. ");
1858
+ i0.ɵɵelementEnd()();
1859
+ i0.ɵɵelementStart(156, "div", 71)(157, "h3", 72);
1860
+ i0.ɵɵelement(158, "i", 73);
1861
+ i0.ɵɵtext(159, " Identity & Behavior ");
1862
+ i0.ɵɵelementEnd();
1863
+ i0.ɵɵelementStart(160, "div", 74)(161, "div", 75)(162, "div", 76)(163, "div", 77);
1864
+ i0.ɵɵelement(164, "i", 78);
1865
+ i0.ɵɵelementEnd();
1866
+ i0.ɵɵelementStart(165, "div", 79)(166, "h4");
1867
+ i0.ɵɵtext(167, "Agent Status");
1868
+ i0.ɵɵelementEnd();
1869
+ i0.ɵɵelementStart(168, "p");
1870
+ i0.ɵɵtext(169, "Current availability and operational status");
1871
+ i0.ɵɵelementEnd()()();
1872
+ i0.ɵɵelementStart(170, "div", 80);
1873
+ i0.ɵɵconditionalCreate(171, MJAIAgentFormComponentExtended_Conditional_1_Conditional_171_Template, 1, 3, "mj-dropdown", 81)(172, MJAIAgentFormComponentExtended_Conditional_1_Conditional_172_Template, 2, 1, "span", 82);
1874
+ i0.ɵɵelementEnd()();
1875
+ i0.ɵɵelementStart(173, "div", 75)(174, "div", 76)(175, "div", 77);
1876
+ i0.ɵɵelement(176, "i", 83);
1877
+ i0.ɵɵelementEnd();
1878
+ i0.ɵɵelementStart(177, "div", 79)(178, "h4");
1879
+ i0.ɵɵtext(179, "Agent Type");
1880
+ i0.ɵɵelementEnd();
1881
+ i0.ɵɵelementStart(180, "p");
1882
+ i0.ɵɵtext(181, "Category and system-level behavior");
1883
+ i0.ɵɵelementEnd()()();
1884
+ i0.ɵɵelementStart(182, "div", 80);
1885
+ i0.ɵɵconditionalCreate(183, MJAIAgentFormComponentExtended_Conditional_1_Conditional_183_Template, 1, 3, "mj-dropdown", 84)(184, MJAIAgentFormComponentExtended_Conditional_1_Conditional_184_Template, 2, 1, "span", 82);
1886
+ i0.ɵɵelementEnd()();
1887
+ i0.ɵɵelementStart(185, "div", 75)(186, "div", 76)(187, "div", 77);
1888
+ i0.ɵɵelement(188, "i", 85);
1889
+ i0.ɵɵelementEnd();
1890
+ i0.ɵɵelementStart(189, "div", 79)(190, "h4");
1891
+ i0.ɵɵtext(191, "Category");
1892
+ i0.ɵɵelementEnd();
1893
+ i0.ɵɵelementStart(192, "p");
1894
+ i0.ɵɵtext(193, "Organizational category for this agent");
1895
+ i0.ɵɵelementEnd()()();
1896
+ i0.ɵɵelementStart(194, "div", 80);
1897
+ i0.ɵɵconditionalCreate(195, MJAIAgentFormComponentExtended_Conditional_1_Conditional_195_Template, 1, 4, "mj-tree-dropdown", 86)(196, MJAIAgentFormComponentExtended_Conditional_1_Conditional_196_Template, 2, 1, "span", 82);
1898
+ i0.ɵɵelementEnd()();
1899
+ i0.ɵɵelementStart(197, "div", 75)(198, "div", 76)(199, "div", 77);
1900
+ i0.ɵɵelement(200, "i", 87);
1901
+ i0.ɵɵelementEnd();
1902
+ i0.ɵɵelementStart(201, "div", 79)(202, "h4");
1903
+ i0.ɵɵtext(203, "Expose as Action");
1904
+ i0.ɵɵelementEnd();
1905
+ i0.ɵɵelementStart(204, "p");
1906
+ i0.ɵɵtext(205, "Make available as an action for other agents");
1907
+ i0.ɵɵelementEnd()()();
1908
+ i0.ɵɵelementStart(206, "div", 80);
1909
+ i0.ɵɵelement(207, "mj-form-field", 88);
1910
+ i0.ɵɵelementEnd()();
1911
+ i0.ɵɵelementStart(208, "div", 89)(209, "div", 76)(210, "div", 77);
1912
+ i0.ɵɵelement(211, "i", 90);
1913
+ i0.ɵɵelementEnd();
1914
+ i0.ɵɵelementStart(212, "div", 79)(213, "h4");
1915
+ i0.ɵɵtext(214, "Description");
1916
+ i0.ɵɵelementEnd();
1917
+ i0.ɵɵelementStart(215, "p");
1918
+ i0.ɵɵtext(216, "Detailed agent description and purpose");
1919
+ i0.ɵɵelementEnd()()();
1920
+ i0.ɵɵelementStart(217, "div", 80);
1921
+ i0.ɵɵelement(218, "mj-form-field", 91);
1959
1922
  i0.ɵɵelementEnd()()()();
1960
- i0.ɵɵelementStart(67, "div", 243)(68, "h3", 244);
1961
- i0.ɵɵelement(69, "i", 48);
1962
- i0.ɵɵtext(70, " Execution Settings ");
1923
+ i0.ɵɵelementStart(219, "div", 71)(220, "h3", 72);
1924
+ i0.ɵɵelement(221, "i", 92);
1925
+ i0.ɵɵtext(222, " Execution Settings ");
1963
1926
  i0.ɵɵelementEnd();
1964
- i0.ɵɵelementStart(71, "div", 246)(72, "div", 247)(73, "div", 248)(74, "div", 249);
1965
- i0.ɵɵelement(75, "i", 150);
1927
+ i0.ɵɵelementStart(223, "div", 74)(224, "div", 75)(225, "div", 76)(226, "div", 77);
1928
+ i0.ɵɵelement(227, "i", 93);
1966
1929
  i0.ɵɵelementEnd();
1967
- i0.ɵɵelementStart(76, "div", 251)(77, "h4");
1968
- i0.ɵɵtext(78, "Execution Mode");
1930
+ i0.ɵɵelementStart(228, "div", 79)(229, "h4");
1931
+ i0.ɵɵtext(230, "Execution Mode");
1969
1932
  i0.ɵɵelementEnd();
1970
- i0.ɵɵelementStart(79, "p");
1971
- i0.ɵɵtext(80, "How sub-agents are executed");
1933
+ i0.ɵɵelementStart(231, "p");
1934
+ i0.ɵɵtext(232, "How sub-agents are executed");
1972
1935
  i0.ɵɵelementEnd()()();
1973
- i0.ɵɵelementStart(81, "div", 252);
1974
- i0.ɵɵelement(82, "mj-form-field", 262);
1936
+ i0.ɵɵelementStart(233, "div", 80);
1937
+ i0.ɵɵelement(234, "mj-form-field", 94);
1975
1938
  i0.ɵɵelementEnd()();
1976
- i0.ɵɵelementStart(83, "div", 247)(84, "div", 248)(85, "div", 249);
1977
- i0.ɵɵelement(86, "i", 263);
1939
+ i0.ɵɵelementStart(235, "div", 75)(236, "div", 76)(237, "div", 77);
1940
+ i0.ɵɵelement(238, "i", 95);
1978
1941
  i0.ɵɵelementEnd();
1979
- i0.ɵɵelementStart(87, "div", 251)(88, "h4");
1980
- i0.ɵɵtext(89, "Execution Order");
1942
+ i0.ɵɵelementStart(239, "div", 79)(240, "h4");
1943
+ i0.ɵɵtext(241, "Execution Order");
1981
1944
  i0.ɵɵelementEnd();
1982
- i0.ɵɵelementStart(90, "p");
1983
- i0.ɵɵtext(91, "Order when run with siblings");
1945
+ i0.ɵɵelementStart(242, "p");
1946
+ i0.ɵɵtext(243, "Order when run with siblings");
1984
1947
  i0.ɵɵelementEnd()()();
1985
- i0.ɵɵelementStart(92, "div", 252);
1986
- i0.ɵɵelement(93, "mj-form-field", 264);
1948
+ i0.ɵɵelementStart(244, "div", 80);
1949
+ i0.ɵɵelement(245, "mj-form-field", 96);
1987
1950
  i0.ɵɵelementEnd()();
1988
- i0.ɵɵelementStart(94, "div", 247)(95, "div", 248)(96, "div", 249);
1989
- i0.ɵɵelement(97, "i", 265);
1951
+ i0.ɵɵelementStart(246, "div", 75)(247, "div", 76)(248, "div", 77);
1952
+ i0.ɵɵelement(249, "i", 97);
1990
1953
  i0.ɵɵelementEnd();
1991
- i0.ɵɵelementStart(98, "div", 251)(99, "h4");
1992
- i0.ɵɵtext(100, "Default Effort Level");
1954
+ i0.ɵɵelementStart(250, "div", 79)(251, "h4");
1955
+ i0.ɵɵtext(252, "Default Effort Level");
1993
1956
  i0.ɵɵelementEnd();
1994
- i0.ɵɵelementStart(101, "p");
1995
- i0.ɵɵtext(102, "Default effort level for all prompts (1-100)");
1957
+ i0.ɵɵelementStart(253, "p");
1958
+ i0.ɵɵtext(254, "Default effort level for all prompts (1-100)");
1996
1959
  i0.ɵɵelementEnd()()();
1997
- i0.ɵɵelementStart(103, "div", 252);
1998
- i0.ɵɵelement(104, "mj-form-field", 266);
1999
- i0.ɵɵelementStart(105, "div", 267);
2000
- i0.ɵɵelement(106, "i", 215);
2001
- i0.ɵɵtext(107, " Higher values request more thorough reasoning (1=minimal, 100=maximum) ");
1960
+ i0.ɵɵelementStart(255, "div", 80);
1961
+ i0.ɵɵelement(256, "mj-form-field", 98);
1962
+ i0.ɵɵelementStart(257, "div", 99);
1963
+ i0.ɵɵelement(258, "i", 43);
1964
+ i0.ɵɵtext(259, " Higher values request more thorough reasoning (1=minimal, 100=maximum) ");
2002
1965
  i0.ɵɵelementEnd()()();
2003
- i0.ɵɵelementStart(108, "div", 247)(109, "div", 248)(110, "div", 249);
2004
- i0.ɵɵelement(111, "i", 232);
1966
+ i0.ɵɵelementStart(260, "div", 75)(261, "div", 76)(262, "div", 77);
1967
+ i0.ɵɵelement(263, "i", 60);
2005
1968
  i0.ɵɵelementEnd();
2006
- i0.ɵɵelementStart(112, "div", 251)(113, "h4");
2007
- i0.ɵɵtext(114, "Driver Class");
1969
+ i0.ɵɵelementStart(264, "div", 79)(265, "h4");
1970
+ i0.ɵɵtext(266, "Driver Class");
2008
1971
  i0.ɵɵelementEnd();
2009
- i0.ɵɵelementStart(115, "p");
2010
- i0.ɵɵtext(116, "Custom implementation class");
1972
+ i0.ɵɵelementStart(267, "p");
1973
+ i0.ɵɵtext(268, "Custom implementation class");
2011
1974
  i0.ɵɵelementEnd()()();
2012
- i0.ɵɵelementStart(117, "div", 252);
2013
- i0.ɵɵelement(118, "mj-form-field", 268);
1975
+ i0.ɵɵelementStart(269, "div", 80);
1976
+ i0.ɵɵelement(270, "mj-form-field", 100);
2014
1977
  i0.ɵɵelementEnd()()()();
2015
- i0.ɵɵelementStart(119, "div", 243)(120, "h3", 244);
2016
- i0.ɵɵelement(121, "i", 269);
2017
- i0.ɵɵtext(122, " Visual Identity ");
1978
+ i0.ɵɵelementStart(271, "div", 71)(272, "h3", 72);
1979
+ i0.ɵɵelement(273, "i", 101);
1980
+ i0.ɵɵtext(274, " Visual Identity ");
2018
1981
  i0.ɵɵelementEnd();
2019
- i0.ɵɵelementStart(123, "div", 246)(124, "div", 247)(125, "div", 248)(126, "div", 249);
2020
- i0.ɵɵelement(127, "i", 270);
1982
+ i0.ɵɵelementStart(275, "div", 74)(276, "div", 75)(277, "div", 76)(278, "div", 77);
1983
+ i0.ɵɵelement(279, "i", 102);
2021
1984
  i0.ɵɵelementEnd();
2022
- i0.ɵɵelementStart(128, "div", 251)(129, "h4");
2023
- i0.ɵɵtext(130, "Icon Class");
1985
+ i0.ɵɵelementStart(280, "div", 79)(281, "h4");
1986
+ i0.ɵɵtext(282, "Icon Class");
2024
1987
  i0.ɵɵelementEnd();
2025
- i0.ɵɵelementStart(131, "p");
2026
- i0.ɵɵtext(132, "Font Awesome icon class");
1988
+ i0.ɵɵelementStart(283, "p");
1989
+ i0.ɵɵtext(284, "Font Awesome icon class");
2027
1990
  i0.ɵɵelementEnd()()();
2028
- i0.ɵɵelementStart(133, "div", 252);
2029
- i0.ɵɵelement(134, "mj-form-field", 271);
2030
- i0.ɵɵelementStart(135, "div", 267);
2031
- i0.ɵɵelement(136, "i", 215);
2032
- i0.ɵɵtext(137, " Example: ");
2033
- i0.ɵɵelementStart(138, "code");
2034
- i0.ɵɵtext(139, "fa-solid fa-robot");
1991
+ i0.ɵɵelementStart(285, "div", 80);
1992
+ i0.ɵɵelement(286, "mj-form-field", 103);
1993
+ i0.ɵɵelementStart(287, "div", 99);
1994
+ i0.ɵɵelement(288, "i", 43);
1995
+ i0.ɵɵtext(289, " Example: ");
1996
+ i0.ɵɵelementStart(290, "code");
1997
+ i0.ɵɵtext(291, "fa-solid fa-robot");
2035
1998
  i0.ɵɵelementEnd()()()();
2036
- i0.ɵɵelementStart(140, "div", 247)(141, "div", 248)(142, "div", 249);
2037
- i0.ɵɵelement(143, "i", 272);
1999
+ i0.ɵɵelementStart(292, "div", 75)(293, "div", 76)(294, "div", 77);
2000
+ i0.ɵɵelement(295, "i", 104);
2038
2001
  i0.ɵɵelementEnd();
2039
- i0.ɵɵelementStart(144, "div", 251)(145, "h4");
2040
- i0.ɵɵtext(146, "Logo URL");
2002
+ i0.ɵɵelementStart(296, "div", 79)(297, "h4");
2003
+ i0.ɵɵtext(298, "Logo URL");
2041
2004
  i0.ɵɵelementEnd();
2042
- i0.ɵɵelementStart(147, "p");
2043
- i0.ɵɵtext(148, "URL for agent logo image");
2005
+ i0.ɵɵelementStart(299, "p");
2006
+ i0.ɵɵtext(300, "URL for agent logo image");
2044
2007
  i0.ɵɵelementEnd()()();
2045
- i0.ɵɵelementStart(149, "div", 252);
2046
- i0.ɵɵelement(150, "mj-form-field", 273);
2047
- i0.ɵɵelementStart(151, "div", 267);
2048
- i0.ɵɵelement(152, "i", 215);
2049
- i0.ɵɵtext(153, " Takes precedence over Icon Class ");
2008
+ i0.ɵɵelementStart(301, "div", 80);
2009
+ i0.ɵɵelement(302, "mj-form-field", 105);
2010
+ i0.ɵɵelementStart(303, "div", 99);
2011
+ i0.ɵɵelement(304, "i", 43);
2012
+ i0.ɵɵtext(305, " Takes precedence over Icon Class ");
2050
2013
  i0.ɵɵelementEnd()()()()();
2051
- i0.ɵɵelementStart(154, "div", 243)(155, "h3", 244);
2052
- i0.ɵɵelement(156, "i", 274);
2053
- i0.ɵɵtext(157, " Context Compression ");
2014
+ i0.ɵɵelementStart(306, "div", 71)(307, "h3", 72);
2015
+ i0.ɵɵelement(308, "i", 106);
2016
+ i0.ɵɵtext(309, " Context Compression ");
2054
2017
  i0.ɵɵelementEnd();
2055
- i0.ɵɵelementStart(158, "div", 246)(159, "div", 259)(160, "div", 248)(161, "div", 249);
2056
- i0.ɵɵelement(162, "i", 250);
2018
+ i0.ɵɵelementStart(310, "div", 74)(311, "div", 89)(312, "div", 76)(313, "div", 77);
2019
+ i0.ɵɵelement(314, "i", 78);
2057
2020
  i0.ɵɵelementEnd();
2058
- i0.ɵɵelementStart(163, "div", 251)(164, "h4");
2059
- i0.ɵɵtext(165, "Enable Context Compression");
2021
+ i0.ɵɵelementStart(315, "div", 79)(316, "h4");
2022
+ i0.ɵɵtext(317, "Enable Context Compression");
2060
2023
  i0.ɵɵelementEnd();
2061
- i0.ɵɵelementStart(166, "p");
2062
- i0.ɵɵtext(167, "Automatically compress conversation context when message threshold is reached");
2063
- i0.ɵɵelementEnd()()();
2064
- i0.ɵɵelementStart(168, "div", 252)(169, "mj-form-field", 275);
2065
- i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Template_mj_form_field_valueChange_169_listener($event) { i0.ɵɵrestoreView(_r43); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onContextCompressionToggle($event)); });
2024
+ i0.ɵɵelementStart(318, "p");
2025
+ i0.ɵɵtext(319, "Automatically compress conversation context when message threshold is reached");
2066
2026
  i0.ɵɵelementEnd()()();
2067
- i0.ɵɵconditionalCreate(170, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Conditional_170_Template, 34, 5);
2027
+ i0.ɵɵelementStart(320, "div", 80)(321, "mj-form-field", 107);
2028
+ i0.ɵɵlistener("valueChange", function MJAIAgentFormComponentExtended_Conditional_1_Template_mj_form_field_valueChange_321_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onContextCompressionToggle($event)); });
2068
2029
  i0.ɵɵelementEnd()()();
2069
- } if (rf & 2) {
2070
- const ctx_r2 = i0.ɵɵnextContext(2);
2071
- i0.ɵɵadvance(19);
2072
- i0.ɵɵconditional(ctx_r2.EditMode ? 19 : 20);
2073
- i0.ɵɵadvance(12);
2074
- i0.ɵɵconditional(ctx_r2.EditMode ? 31 : 32);
2075
- i0.ɵɵadvance(12);
2076
- i0.ɵɵconditional(ctx_r2.EditMode ? 43 : 44);
2077
- i0.ɵɵadvance(12);
2078
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2079
- i0.ɵɵadvance(11);
2080
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2081
- i0.ɵɵadvance(16);
2082
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2083
- i0.ɵɵadvance(11);
2084
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2085
- i0.ɵɵadvance(11);
2086
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2087
- i0.ɵɵadvance(14);
2088
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2089
- i0.ɵɵadvance(16);
2090
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2091
- i0.ɵɵadvance(16);
2092
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2093
- i0.ɵɵadvance(19);
2094
- i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2095
- i0.ɵɵadvance();
2096
- i0.ɵɵconditional(ctx_r2.record.EnableContextCompression ? 170 : -1);
2097
- } }
2098
- function MJAIAgentFormComponentExtended_Conditional_3_Template(rf, ctx) { if (rf & 1) {
2099
- const _r1 = i0.ɵɵgetCurrentView();
2100
- i0.ɵɵelementStart(0, "form", 5, 0);
2101
- i0.ɵɵelement(2, "mj-form-toolbar", 7);
2102
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Conditional_3_Template, 19, 6, "div", 8);
2103
- i0.ɵɵconditionalCreate(4, MJAIAgentFormComponentExtended_Conditional_3_Conditional_4_Template, 10, 3, "div", 9);
2104
- i0.ɵɵelementStart(5, "div", 10)(6, "kendo-panelbar", 11);
2105
- i0.ɵɵlistener("stateChange", function MJAIAgentFormComponentExtended_Conditional_3_Template_kendo_panelbar_stateChange_6_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnPanelBarStateChange($event)); });
2106
- i0.ɵɵconditionalCreate(7, MJAIAgentFormComponentExtended_Conditional_3_Conditional_7_Template, 3, 1, "kendo-panelbar-item", 12);
2107
- i0.ɵɵconditionalCreate(8, MJAIAgentFormComponentExtended_Conditional_3_Conditional_8_Template, 3, 2, "kendo-panelbar-item", 13);
2108
- i0.ɵɵconditionalCreate(9, MJAIAgentFormComponentExtended_Conditional_3_Conditional_9_Template, 3, 2, "kendo-panelbar-item", 14);
2109
- i0.ɵɵconditionalCreate(10, MJAIAgentFormComponentExtended_Conditional_3_Conditional_10_Template, 3, 2, "kendo-panelbar-item", 15);
2110
- i0.ɵɵconditionalCreate(11, MJAIAgentFormComponentExtended_Conditional_3_Conditional_11_Template, 3, 2, "kendo-panelbar-item", 16);
2111
- i0.ɵɵconditionalCreate(12, MJAIAgentFormComponentExtended_Conditional_3_Conditional_12_Template, 3, 2, "kendo-panelbar-item", 17);
2112
- i0.ɵɵconditionalCreate(13, MJAIAgentFormComponentExtended_Conditional_3_Conditional_13_Template, 3, 2, "kendo-panelbar-item", 18);
2113
- i0.ɵɵelementStart(14, "kendo-panelbar-item", 19);
2114
- i0.ɵɵtemplate(15, MJAIAgentFormComponentExtended_Conditional_3_ng_template_15_Template, 2, 0, "ng-template", 20)(16, MJAIAgentFormComponentExtended_Conditional_3_ng_template_16_Template, 124, 21, "ng-template", 21);
2115
- i0.ɵɵelementEnd();
2116
- i0.ɵɵelementStart(17, "kendo-panelbar-item", 22);
2117
- i0.ɵɵtemplate(18, MJAIAgentFormComponentExtended_Conditional_3_ng_template_18_Template, 2, 0, "ng-template", 20)(19, MJAIAgentFormComponentExtended_Conditional_3_ng_template_19_Template, 9, 8, "ng-template", 21);
2118
- i0.ɵɵelementEnd();
2119
- i0.ɵɵelementStart(20, "kendo-panelbar-item", 23);
2120
- i0.ɵɵtemplate(21, MJAIAgentFormComponentExtended_Conditional_3_ng_template_21_Template, 2, 0, "ng-template", 20)(22, MJAIAgentFormComponentExtended_Conditional_3_ng_template_22_Template, 171, 22, "ng-template", 21);
2121
- i0.ɵɵelementEnd()()()();
2030
+ i0.ɵɵconditionalCreate(322, MJAIAgentFormComponentExtended_Conditional_1_Conditional_322_Template, 34, 5);
2031
+ i0.ɵɵelementEnd()()()()()();
2122
2032
  } if (rf & 2) {
2123
2033
  const ctx_r2 = i0.ɵɵnextContext();
2124
2034
  i0.ɵɵadvance(2);
@@ -2128,9 +2038,9 @@ function MJAIAgentFormComponentExtended_Conditional_3_Template(rf, ctx) { if (rf
2128
2038
  i0.ɵɵadvance();
2129
2039
  i0.ɵɵconditional(ctx_r2.HeaderCollapsed ? 4 : -1);
2130
2040
  i0.ɵɵadvance(2);
2131
- i0.ɵɵproperty("keepItemContent", true);
2041
+ i0.ɵɵconditional(ctx_r2.record.ID && ctx_r2.agentType && ctx_r2.agentType.UIFormSectionKey ? 6 : -1);
2132
2042
  i0.ɵɵadvance();
2133
- i0.ɵɵconditional(ctx_r2.record.ID && ctx_r2.agentType && ctx_r2.agentType.UIFormSectionKey ? 7 : -1);
2043
+ i0.ɵɵconditional(ctx_r2.record.ID ? 7 : -1);
2134
2044
  i0.ɵɵadvance();
2135
2045
  i0.ɵɵconditional(ctx_r2.record.ID ? 8 : -1);
2136
2046
  i0.ɵɵadvance();
@@ -2142,18 +2052,66 @@ function MJAIAgentFormComponentExtended_Conditional_3_Template(rf, ctx) { if (rf
2142
2052
  i0.ɵɵadvance();
2143
2053
  i0.ɵɵconditional(ctx_r2.record.ID ? 12 : -1);
2144
2054
  i0.ɵɵadvance();
2145
- i0.ɵɵconditional(ctx_r2.record.ID ? 13 : -1);
2055
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("payload", false));
2056
+ i0.ɵɵadvance(17);
2057
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2058
+ i0.ɵɵadvance(26);
2059
+ i0.ɵɵproperty("value", ctx_r2.record.PayloadDownstreamPaths || "[\"*\"]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
2060
+ i0.ɵɵadvance(20);
2061
+ i0.ɵɵproperty("value", ctx_r2.record.PayloadUpstreamPaths || "[\"*\"]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
2062
+ i0.ɵɵadvance(18);
2063
+ i0.ɵɵproperty("value", ctx_r2.record.PayloadSelfReadPaths || "[]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
2064
+ i0.ɵɵadvance(15);
2065
+ i0.ɵɵproperty("value", ctx_r2.record.PayloadSelfWritePaths || "[]")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
2066
+ i0.ɵɵadvance(15);
2067
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2068
+ i0.ɵɵadvance(6);
2069
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2070
+ i0.ɵɵadvance(8);
2071
+ i0.ɵɵproperty("value", ctx_r2.record.FinalPayloadValidation || "{}")("readonly", !ctx_r2.EditMode)("lineWrapping", true);
2146
2072
  i0.ɵɵadvance();
2147
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("payload", false));
2148
- i0.ɵɵadvance(3);
2149
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("guardrails", false));
2150
- i0.ɵɵadvance(3);
2151
- i0.ɵɵproperty("expanded", ctx_r2.GetSectionExpanded("config", false));
2073
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("guardrails", false));
2074
+ i0.ɵɵadvance(7);
2075
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2076
+ i0.ɵɵadvance();
2077
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2078
+ i0.ɵɵadvance();
2079
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2080
+ i0.ɵɵadvance();
2081
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2082
+ i0.ɵɵadvance();
2083
+ i0.ɵɵproperty("Expanded", ctx_r2.GetSectionExpanded("config", false));
2084
+ i0.ɵɵadvance(21);
2085
+ i0.ɵɵconditional(ctx_r2.EditMode ? 171 : 172);
2086
+ i0.ɵɵadvance(12);
2087
+ i0.ɵɵconditional(ctx_r2.EditMode ? 183 : 184);
2088
+ i0.ɵɵadvance(12);
2089
+ i0.ɵɵconditional(ctx_r2.EditMode ? 195 : 196);
2090
+ i0.ɵɵadvance(12);
2091
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2092
+ i0.ɵɵadvance(11);
2093
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2094
+ i0.ɵɵadvance(16);
2095
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2096
+ i0.ɵɵadvance(11);
2097
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2098
+ i0.ɵɵadvance(11);
2099
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2100
+ i0.ɵɵadvance(14);
2101
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2102
+ i0.ɵɵadvance(16);
2103
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2104
+ i0.ɵɵadvance(16);
2105
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2106
+ i0.ɵɵadvance(19);
2107
+ i0.ɵɵproperty("EditMode", ctx_r2.EditMode)("Record", ctx_r2.record);
2108
+ i0.ɵɵadvance();
2109
+ i0.ɵɵconditional(ctx_r2.record.EnableContextCompression ? 322 : -1);
2152
2110
  } }
2153
- function MJAIAgentFormComponentExtended_Conditional_4_Template(rf, ctx) { if (rf & 1) {
2154
- const _r49 = i0.ɵɵgetCurrentView();
2155
- i0.ɵɵelementStart(0, "mj-agent-permissions-dialog", 292);
2156
- i0.ɵɵlistener("Closed", function MJAIAgentFormComponentExtended_Conditional_4_Template_mj_agent_permissions_dialog_Closed_0_listener() { i0.ɵɵrestoreView(_r49); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onPermissionsDialogClosed()); })("PermissionsChanged", function MJAIAgentFormComponentExtended_Conditional_4_Template_mj_agent_permissions_dialog_PermissionsChanged_0_listener() { i0.ɵɵrestoreView(_r49); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
2111
+ function MJAIAgentFormComponentExtended_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2112
+ const _r47 = i0.ɵɵgetCurrentView();
2113
+ i0.ɵɵelementStart(0, "mj-agent-permissions-dialog", 289);
2114
+ i0.ɵɵlistener("Closed", function MJAIAgentFormComponentExtended_Conditional_2_Template_mj_agent_permissions_dialog_Closed_0_listener() { i0.ɵɵrestoreView(_r47); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onPermissionsDialogClosed()); })("PermissionsChanged", function MJAIAgentFormComponentExtended_Conditional_2_Template_mj_agent_permissions_dialog_PermissionsChanged_0_listener() { i0.ɵɵrestoreView(_r47); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.refreshRelatedData()); });
2157
2115
  i0.ɵɵelementEnd();
2158
2116
  } if (rf & 2) {
2159
2117
  const ctx_r2 = i0.ɵɵnextContext();
@@ -2292,7 +2250,7 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
2292
2250
  this.originalSnapshots = null;
2293
2251
  // Dependency injection using inject() function
2294
2252
  this.sharedService = inject(SharedService);
2295
- this.dialogService = inject(DialogService);
2253
+ this.dialogService = inject(MJDialogService);
2296
2254
  this.viewContainerRef = inject(ViewContainerRef);
2297
2255
  this.agentManagementService = inject(AIAgentManagementService);
2298
2256
  this.testHarnessService = inject(AITestHarnessDialogService);
@@ -2442,7 +2400,7 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
2442
2400
  width: 800,
2443
2401
  height: 600
2444
2402
  });
2445
- const promptSelector = dialogRef.content.instance;
2403
+ const promptSelector = dialogRef.Content.instance;
2446
2404
  // Configure the prompt selector for single selection
2447
2405
  promptSelector.config = {
2448
2406
  title: 'Select Context Compression Prompt',
@@ -3836,8 +3794,8 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
3836
3794
  height: 200
3837
3795
  });
3838
3796
  try {
3839
- const result = await firstValueFrom(confirmDialog.result);
3840
- if (result && result.text === 'Remove') {
3797
+ const result = await firstValueFrom(confirmDialog.Result);
3798
+ if (result && typeof result === 'object' && 'text' in result && result['text'] === 'Remove') {
3841
3799
  try {
3842
3800
  // Check if this is a pending add (not yet in database)
3843
3801
  const pendingAddIndex = this.PendingRecords.findIndex(p => p.entityObject.EntityInfo.Name === 'MJ: AI Agent Prompts' &&
@@ -3978,8 +3936,8 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
3978
3936
  height: 200
3979
3937
  });
3980
3938
  try {
3981
- const result = await firstValueFrom(confirmDialog.result);
3982
- if (result && result.text === 'Remove') {
3939
+ const result = await firstValueFrom(confirmDialog.Result);
3940
+ if (result && typeof result === 'object' && 'text' in result && result['text'] === 'Remove') {
3983
3941
  try {
3984
3942
  // Check if this is a pending add (not yet in database)
3985
3943
  const pendingAddIndex = this.PendingRecords.findIndex(p => p.entityObject.EntityInfo.Name === 'MJ: AI Agents' &&
@@ -4095,8 +4053,8 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
4095
4053
  height: 200
4096
4054
  });
4097
4055
  try {
4098
- const result = await firstValueFrom(confirmDialog.result);
4099
- if (result && result.text === 'Unlink') {
4056
+ const result = await firstValueFrom(confirmDialog.Result);
4057
+ if (result && typeof result === 'object' && 'text' in result && result['text'] === 'Unlink') {
4100
4058
  try {
4101
4059
  const success = await item.relationship.Delete();
4102
4060
  if (success) {
@@ -4158,8 +4116,8 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
4158
4116
  height: 200
4159
4117
  });
4160
4118
  try {
4161
- const result = await firstValueFrom(confirmDialog.result);
4162
- if (result && result.text === 'Remove') {
4119
+ const result = await firstValueFrom(confirmDialog.Result);
4120
+ if (result && typeof result === 'object' && 'text' in result && result['text'] === 'Remove') {
4163
4121
  try {
4164
4122
  // Check if this is a pending add (not yet in database)
4165
4123
  const pendingAddIndex = this.PendingRecords.findIndex(p => p.entityObject.EntityInfo.Name === 'MJ: AI Agent Actions' &&
@@ -4532,18 +4490,17 @@ let MJAIAgentFormComponentExtended = class MJAIAgentFormComponentExtended extend
4532
4490
  } if (rf & 2) {
4533
4491
  let _t;
4534
4492
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customSectionContainer = _t.first);
4535
- } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 2, consts: [["form", "ngForm"], ["customSectionContainer", ""], [1, "record-form-container"], ["kendoDialogContainer", ""], ["kendoWindowContainer", ""], [1, "record-form"], [3, "Agent"], [3, "Form"], [1, "agent-header"], [1, "agent-header-mini"], [1, "form-content"], [3, "stateChange", "keepItemContent"], ["id", "custom", 3, "expanded"], ["id", "history", 3, "expanded", "disabled"], ["id", "actions", 3, "expanded", "disabled"], ["id", "subagents", 3, "expanded", "disabled"], ["id", "prompts", 3, "expanded", "disabled"], ["id", "learning", 3, "expanded", "disabled"], ["id", "notes", 3, "expanded", "disabled"], ["id", "payload", 3, "expanded"], ["kendoPanelBarItemTitle", ""], ["kendoPanelBarContent", ""], ["id", "guardrails", 3, "expanded"], ["id", "config", 3, "expanded"], [1, "agent-header-content"], ["title", "Minimize header", 1, "agent-header-toggle", 3, "click"], [1, "fa-solid", "fa-chevron-up"], [1, "agent-overview"], [1, "agent-icon-wrapper"], [1, "agent-logo", 3, "src", "alt"], [3, "class"], [1, "agent-info"], ["name", "agentName", "placeholder", "Enter agent name...", 1, "agent-name-input", 3, "ngModel"], [1, "agent-name"], [1, "agent-meta"], [1, "status-badge", 3, "background-color"], [1, "execution-mode"], [1, "parent-agent", "clickable", 3, "title"], [1, "agent-actions"], ["kendoButton", "", "fillMode", "outline", "size", "small", "title", "Refresh all data", 3, "click"], [1, "fa-solid", "fa-refresh"], ["name", "agentName", "placeholder", "Enter agent name...", 1, "agent-name-input", 3, "ngModelChange", "ngModel"], [1, "status-badge"], [1, "fa-solid", "fa-circle"], [1, "parent-agent", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-sitemap"], [1, "fa-solid", "fa-external-link", 2, "margin-left", "4px", "font-size", "10px"], ["kendoButton", "", "themeColor", "primary", "size", "large", "title", "Run this AI agent", 3, "click", "disabled"], [1, "fa-solid", "fa-play"], ["kendoButton", "", "size", "large", 3, "click", "title"], [1, "fa-solid"], ["title", "Expand header", 1, "agent-header-mini-expand", 3, "click"], [1, "fa-solid", "fa-chevron-down"], [1, "agent-header-mini-name"], [1, "agent-header-mini-status", 3, "background-color"], [1, "agent-header-mini-spacer"], ["title", "Refresh", 1, "agent-header-mini-btn", 3, "click"], [1, "agent-header-mini-status"], ["title", "Run agent", 1, "agent-header-mini-btn", "agent-header-mini-btn--primary", 3, "click", "disabled"], [1, "agent-header-mini-btn", 3, "click", "title"], [1, "fa-solid", "fa-puzzle-piece"], [1, "panel-content", "custom-agent-type-section"], ["size", "medium", 3, "text"], [1, "fa-solid", "fa-history"], [2, "margin-left", "8px"], [1, "fa-solid", "fa-spinner", "fa-spin", 2, "font-size", "12px"], [1, "panel-content", "execution-history-panel"], [1, "empty-state"], [1, "execution-search-bar"], ["placeholder", "Search by Run ID...", 3, "ngModelChange", "ngModel", "ngModelOptions", "clearButton"], ["kendoTextBoxPrefixTemplate", ""], [1, "execution-history-list"], [1, "execution-card", 3, "expanded"], [1, "pagination-controls"], [1, "fa-solid", "fa-search"], [1, "execution-card"], [1, "execution-header", 3, "click"], [1, "execution-left-section"], [1, "execution-status"], [1, "status-indicator"], [1, "execution-info"], [1, "execution-title"], [1, "fa-solid", "fa-chevron-right", "expand-icon"], [1, "execution-date"], [1, "execution-metrics"], [1, "metric-item"], [1, "execution-actions"], ["title", "View details", 1, "action-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [1, "execution-expanded-content"], [1, "fa-solid", "fa-cog"], [1, "metric-label"], [1, "metric-value"], [1, "fa-solid", "fa-stopwatch"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-microchip"], [1, "fa-solid", "fa-dollar-sign"], [1, "detailed-metrics"], [1, "metrics-grid"], [1, "metric-detail"], [1, "metric-info"], [1, "metric-title"], [1, "metric-data"], [1, "result-section"], [1, "error-section"], [1, "fa-solid", "fa-check-circle"], [1, "fa-solid", "fa-calculator"], [1, "fa-solid", "fa-comments"], [1, "fa-solid", "fa-file-text"], ["language", "json", 2, "max-height", "200px", "width", "100%", 3, "value", "readonly", "lineWrapping"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "error-content"], ["kendoButton", "", "fillMode", "outline", "size", "medium", 1, "page-nav-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], [1, "page-info"], [1, "fa-solid", "fa-chevron-right"], ["kendoButton", "", "fillMode", "flat", "size", "small", 1, "view-all-btn", 3, "click"], [1, "fa-solid", "fa-external-link"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "record-count"], [1, "fa-solid", "fa-bolt"], [1, "panel-content"], [1, "loading-state"], [1, "section-header"], [1, "header-actions"], ["kendoButton", "", "themeColor", "primary", "size", "small"], [1, "entity-list"], ["kendoButton", "", "themeColor", "primary", "size", "small", 3, "click"], [1, "fa-solid", "fa-plus"], ["kendoButton", "", "themeColor", "primary"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "entity-item", "action-item"], [1, "view-more-item"], [1, "entity-item", "action-item", 3, "click"], [1, "item-icon"], [1, "item-content"], [1, "item-title"], [1, "item-preview"], [1, "item-meta"], [1, "meta-tag"], [1, "status-tag"], [1, "item-actions"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove action"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove action", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "view-more-item", 3, "click"], [1, "section-header", "sub-agent-filter-header"], [1, "filter-controls"], ["selection", "single"], ["kendoButton", "", "size", "small", 3, "click", "toggleable", "selected"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-share-nodes"], ["kendoButton", "", "themeColor", "primary", "size", "small", "title", "Create a new child sub-agent that shares this agent's payload", 3, "click"], ["kendoButton", "", "themeColor", "secondary", "size", "small", "title", "Link an existing agent as a related sub-agent with payload mapping", 3, "click"], [1, "empty-state-info"], [1, "info-card"], [1, "fa-solid", "fa-link", 2, "color", "var(--mj-status-info)"], [1, "fa-solid", "fa-share-nodes", 2, "color", "var(--mj-brand-primary)"], [1, "entity-item", "sub-agent-item", 3, "child-sub-agent", "related-sub-agent"], [1, "entity-item", "sub-agent-item", 3, "click"], [1, "sub-agent-type-badge"], [1, "sub-agent-logo", 3, "src", "alt"], [1, "meta-tag", "payload-info"], [1, "fa-solid", "fa-database"], [1, "status-tag", 3, "background-color"], ["kendoButton", "", "fillMode", "flat", "themeColor", "primary", "size", "small", "title", "Configure output mapping"], ["kendoButton", "", "fillMode", "flat", "themeColor", "primary", "size", "small", "title", "Advanced settings"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", 3, "title"], ["kendoButton", "", "fillMode", "flat", "themeColor", "primary", "size", "small", "title", "Configure output mapping", 3, "click"], [1, "fa-solid", "fa-exchange-alt"], ["kendoButton", "", "fillMode", "flat", "themeColor", "primary", "size", "small", "title", "Advanced settings", 3, "click"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", 3, "click", "title"], [1, "prompt-controls"], [1, "model-selection-mode"], [1, "model-selection-label"], [1, "fa-solid", "fa-sliders"], ["name", "modelSelectionMode", "textField", "text", "valueField", "value", 1, "model-selection-dropdown", 3, "ngModel", "data", "valuePrimitive"], [1, "model-selection-value"], ["name", "modelSelectionMode", "textField", "text", "valueField", "value", 1, "model-selection-dropdown", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], [1, "entity-item", "prompt-item"], [1, "entity-item", "prompt-item", 3, "click"], [1, "fa-solid", "fa-comment-dots"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove prompt"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove prompt", 3, "click"], [1, "fa-solid", "fa-brain"], [1, "section-description"], [1, "entity-item", "learning-item"], [1, "entity-item", "learning-item", 3, "click"], [1, "fa-solid", "fa-calendar"], [1, "fa-solid", "fa-sticky-note"], [1, "entity-item", "note-item"], [1, "entity-item", "note-item", 3, "click"], [1, "payload-section"], [1, "payload-section-title"], [1, "fa-solid", "fa-target"], [1, "payload-field-container"], [1, "payload-field-info"], [1, "payload-field-label"], [1, "payload-field-description"], [1, "payload-field-input"], ["FieldName", "PayloadScope", "Type", "textbox", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], [1, "payload-field-example"], [1, "fa-solid", "fa-lightbulb"], [1, "fa-solid", "fa-route"], [1, "payload-paths-grid"], [1, "payload-path-card"], [1, "payload-path-header"], [1, "payload-path-icon", "downstream"], [1, "fa-solid", "fa-arrow-down"], [1, "payload-path-info"], [1, "payload-path-content"], [1, "json-editor-container"], ["language", "json", 2, "height", "100px", "width", "100%", 3, "valueChange", "value", "readonly", "lineWrapping"], [1, "payload-path-hint"], [1, "fa-solid", "fa-info-circle"], [1, "payload-path-icon", "upstream"], [1, "fa-solid", "fa-arrow-up"], [1, "payload-path-icon", "self-read"], [1, "fa-solid", "fa-eye"], [1, "payload-path-icon", "self-write"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-shield-check"], [1, "payload-validation-container"], [1, "payload-validation-settings"], [1, "validation-field-group"], [1, "validation-field-label"], [1, "validation-field-description"], ["FieldName", "FinalPayloadValidationMode", "Type", "dropdownlist", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], ["FieldName", "FinalPayloadValidationMaxRetries", "Type", "numerictextbox", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], [1, "payload-validation-schema"], [1, "validation-schema-label"], [1, "fa-solid", "fa-code"], [1, "validation-schema-description"], [1, "validation-schema-editor"], ["language", "json", 2, "height", "200px", "width", "100%", 3, "valueChange", "value", "readonly", "lineWrapping"], [1, "fa-solid", "fa-shield-halved"], [1, "form-fields-grid"], ["FieldName", "MaxCostPerRun", "Type", "numerictextbox", "Caption", "Max Cost ($)", "Description", "Maximum cost per run", 3, "EditMode", "Record"], ["FieldName", "MaxTokensPerRun", "Type", "numerictextbox", "Caption", "Max Tokens", "Description", "Maximum tokens per run", 3, "EditMode", "Record"], ["FieldName", "MaxIterationsPerRun", "Type", "numerictextbox", "Caption", "Max Iterations", "Description", "Maximum prompt iterations", 3, "EditMode", "Record"], ["FieldName", "MaxTimePerRun", "Type", "numerictextbox", "Caption", "Max Time (seconds)", "Description", "Maximum execution time", 3, "EditMode", "Record"], [1, "fa-solid", "fa-cogs"], [1, "config-section"], [1, "config-section-title"], [1, "fa-solid", "fa-id-card"], [1, "config-grid"], [1, "config-card"], [1, "config-card-header"], [1, "config-card-icon"], [1, "fa-solid", "fa-toggle-on"], [1, "config-card-info"], [1, "config-card-content"], ["textField", "text", "valueField", "value", "name", "agentStatus", 1, "config-field-input", 3, "ngModel", "data", "valuePrimitive"], [1, "config-field-display"], ["textField", "Name", "valueField", "ID", "name", "agentTypeID", 1, "config-field-input", 3, "ngModel", "data", "valuePrimitive"], [1, "fa-solid", "fa-folder-tree"], ["SelectionMode", "single", "SelectableTypes", "branch", "Placeholder", "Select a category...", 3, "BranchConfig", "Value", "Clearable", "EnableSearch"], ["FieldName", "ExposeAsAction", "Type", "checkbox", "Caption", "", 3, "EditMode", "Record"], [1, "config-card", "full-width"], [1, "fa-solid", "fa-align-left"], ["FieldName", "Description", "Type", "textarea", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], ["FieldName", "ExecutionMode", "Type", "dropdownlist", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-sort-numeric-down"], ["FieldName", "ExecutionOrder", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-tachometer-alt"], ["FieldName", "DefaultPromptEffortLevel", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "config-card-hint"], ["FieldName", "DriverClass", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-palette"], [1, "fa-solid", "fa-icons"], ["FieldName", "IconClass", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-image"], ["FieldName", "LogoURL", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-compress"], ["FieldName", "EnableContextCompression", "Type", "checkbox", "Caption", "", 3, "valueChange", "EditMode", "Record"], ["textField", "text", "valueField", "value", "name", "agentStatus", 1, "config-field-input", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], ["textField", "Name", "valueField", "ID", "name", "agentTypeID", 1, "config-field-input", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], ["SelectionMode", "single", "SelectableTypes", "branch", "Placeholder", "Select a category...", 3, "ValueChange", "BranchConfig", "Value", "Clearable", "EnableSearch"], [1, "fa-solid", "fa-hashtag"], ["FieldName", "ContextCompressionMessageThreshold", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-save"], ["FieldName", "ContextCompressionMessageRetentionCount", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "prompt-selector-container"], [1, "prompt-display"], [1, "prompt-name"], [1, "no-prompt"], [1, "prompt-actions"], ["type", "button", "kendoButton", "", "fillMode", "outline", "size", "small", 1, "prompt-select-btn", 3, "click"], ["type", "button", "kendoButton", "", "fillMode", "flat", "size", "small", "title", "Clear selection", 1, "prompt-clear-btn"], ["type", "button", "kendoButton", "", "fillMode", "flat", "size", "small", "title", "Clear selection", 1, "prompt-clear-btn", 3, "click"], [1, "fa-solid", "fa-times"], [3, "Closed", "PermissionsChanged", "Agent"]], template: function MJAIAgentFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
4493
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["form", "ngForm"], ["customSectionContainer", ""], [1, "record-form-container"], [1, "record-form"], [3, "Agent"], [3, "Form"], [1, "agent-header"], [1, "agent-header-mini"], [1, "form-content"], ["id", "custom", 3, "Expanded"], ["id", "history", 3, "Expanded", "Disabled"], ["id", "actions", 3, "Expanded", "Disabled"], ["id", "subagents", 3, "Expanded", "Disabled"], ["id", "prompts", 3, "Expanded", "Disabled"], ["id", "learning", 3, "Expanded", "Disabled"], ["id", "notes", 3, "Expanded", "Disabled"], ["id", "payload", 3, "Expanded"], ["mjAccordionTitle", ""], [1, "panel-content"], [1, "section-header"], [1, "section-description"], [1, "payload-section"], [1, "payload-section-title"], [1, "fa-solid", "fa-target"], [1, "payload-field-container"], [1, "payload-field-info"], [1, "payload-field-label"], [1, "payload-field-description"], [1, "payload-field-input"], ["FieldName", "PayloadScope", "Type", "textbox", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], [1, "payload-field-example"], [1, "fa-solid", "fa-lightbulb"], [1, "fa-solid", "fa-route"], [1, "payload-paths-grid"], [1, "payload-path-card"], [1, "payload-path-header"], [1, "payload-path-icon", "downstream"], [1, "fa-solid", "fa-arrow-down"], [1, "payload-path-info"], [1, "payload-path-content"], [1, "json-editor-container"], ["language", "json", 2, "height", "100px", "width", "100%", 3, "valueChange", "value", "readonly", "lineWrapping"], [1, "payload-path-hint"], [1, "fa-solid", "fa-info-circle"], [1, "payload-path-icon", "upstream"], [1, "fa-solid", "fa-arrow-up"], [1, "payload-path-icon", "self-read"], [1, "fa-solid", "fa-eye"], [1, "payload-path-icon", "self-write"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-shield-check"], [1, "payload-validation-container"], [1, "payload-validation-settings"], [1, "validation-field-group"], [1, "validation-field-label"], [1, "validation-field-description"], ["FieldName", "FinalPayloadValidationMode", "Type", "dropdownlist", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], ["FieldName", "FinalPayloadValidationMaxRetries", "Type", "numerictextbox", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], [1, "payload-validation-schema"], [1, "validation-schema-label"], [1, "fa-solid", "fa-code"], [1, "validation-schema-description"], [1, "validation-schema-editor"], ["language", "json", 2, "height", "200px", "width", "100%", 3, "valueChange", "value", "readonly", "lineWrapping"], ["id", "guardrails", 3, "Expanded"], [1, "form-fields-grid"], ["FieldName", "MaxCostPerRun", "Type", "numerictextbox", "Caption", "Max Cost ($)", "Description", "Maximum cost per run", 3, "EditMode", "Record"], ["FieldName", "MaxTokensPerRun", "Type", "numerictextbox", "Caption", "Max Tokens", "Description", "Maximum tokens per run", 3, "EditMode", "Record"], ["FieldName", "MaxIterationsPerRun", "Type", "numerictextbox", "Caption", "Max Iterations", "Description", "Maximum prompt iterations", 3, "EditMode", "Record"], ["FieldName", "MaxTimePerRun", "Type", "numerictextbox", "Caption", "Max Time (seconds)", "Description", "Maximum execution time", 3, "EditMode", "Record"], ["id", "config", 3, "Expanded"], [1, "config-section"], [1, "config-section-title"], [1, "fa-solid", "fa-id-card"], [1, "config-grid"], [1, "config-card"], [1, "config-card-header"], [1, "config-card-icon"], [1, "fa-solid", "fa-toggle-on"], [1, "config-card-info"], [1, "config-card-content"], ["TextField", "text", "ValueField", "value", "name", "agentStatus", 1, "config-field-input", 3, "ngModel", "Data", "ValuePrimitive"], [1, "config-field-display"], [1, "fa-solid", "fa-sitemap"], ["TextField", "Name", "ValueField", "ID", "name", "agentTypeID", 1, "config-field-input", 3, "ngModel", "Data", "ValuePrimitive"], [1, "fa-solid", "fa-folder-tree"], ["SelectionMode", "single", "SelectableTypes", "branch", "Placeholder", "Select a category...", 3, "BranchConfig", "Value", "Clearable", "EnableSearch"], [1, "fa-solid", "fa-bolt"], ["FieldName", "ExposeAsAction", "Type", "checkbox", "Caption", "", 3, "EditMode", "Record"], [1, "config-card", "full-width"], [1, "fa-solid", "fa-align-left"], ["FieldName", "Description", "Type", "textarea", "Caption", "", 2, "width", "100%", 3, "EditMode", "Record"], [1, "fa-solid", "fa-play"], [1, "fa-solid", "fa-layer-group"], ["FieldName", "ExecutionMode", "Type", "dropdownlist", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-sort-numeric-down"], ["FieldName", "ExecutionOrder", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-tachometer-alt"], ["FieldName", "DefaultPromptEffortLevel", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "config-card-hint"], ["FieldName", "DriverClass", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-palette"], [1, "fa-solid", "fa-icons"], ["FieldName", "IconClass", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-image"], ["FieldName", "LogoURL", "Type", "textbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-compress"], ["FieldName", "EnableContextCompression", "Type", "checkbox", "Caption", "", 3, "valueChange", "EditMode", "Record"], [1, "agent-header-content"], ["title", "Minimize header", 1, "agent-header-toggle", 3, "click"], [1, "fa-solid", "fa-chevron-up"], [1, "agent-overview"], [1, "agent-icon-wrapper"], [1, "agent-logo", 3, "src", "alt"], [3, "class"], [1, "agent-info"], ["type", "text", "name", "agentName", "placeholder", "Enter agent name...", 1, "mj-input", "agent-name-input", 3, "ngModel"], [1, "agent-name"], [1, "agent-meta"], [1, "status-badge", 3, "background-color"], [1, "execution-mode"], [1, "parent-agent", "clickable", 3, "title"], [1, "agent-actions"], ["mjButton", "", "variant", "outline", "size", "sm", "title", "Refresh all data", 3, "click"], [1, "fa-solid", "fa-refresh"], ["type", "text", "name", "agentName", "placeholder", "Enter agent name...", 1, "mj-input", "agent-name-input", 3, "ngModelChange", "ngModel"], [1, "status-badge"], [1, "fa-solid", "fa-circle"], [1, "parent-agent", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-external-link", 2, "margin-left", "4px", "font-size", "10px"], ["mjButton", "", "variant", "primary", "size", "lg", "title", "Run this AI agent", 3, "click", "disabled"], ["mjButton", "", "size", "lg", 3, "click", "title"], [1, "fa-solid"], ["title", "Expand header", 1, "agent-header-mini-expand", 3, "click"], [1, "fa-solid", "fa-chevron-down"], [1, "agent-header-mini-name"], [1, "agent-header-mini-status", 3, "background-color"], [1, "agent-header-mini-spacer"], ["title", "Refresh", 1, "agent-header-mini-btn", 3, "click"], [1, "agent-header-mini-status"], ["title", "Run agent", 1, "agent-header-mini-btn", "agent-header-mini-btn--primary", 3, "click", "disabled"], [1, "agent-header-mini-btn", 3, "click", "title"], [1, "panel-content", "custom-agent-type-section"], ["size", "medium", 3, "text"], [1, "fa-solid", "fa-puzzle-piece"], [1, "panel-content", "execution-history-panel"], ["text", "Loading execution history...", "size", "medium"], [1, "empty-state"], [1, "fa-solid", "fa-history"], [2, "margin-left", "8px"], [1, "fa-solid", "fa-spinner", "fa-spin", 2, "font-size", "12px"], [1, "execution-search-bar"], [1, "search-input-wrapper"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search by Run ID...", 1, "mj-input", 3, "ngModelChange", "ngModel", "ngModelOptions"], [1, "execution-history-list"], [1, "execution-card", 3, "expanded"], [1, "pagination-controls"], [1, "execution-card"], [1, "execution-header", 3, "click"], [1, "execution-left-section"], [1, "execution-status"], [1, "status-indicator"], [1, "execution-info"], [1, "execution-title"], [1, "fa-solid", "fa-chevron-right", "expand-icon"], [1, "execution-date"], [1, "execution-metrics"], [1, "metric-item"], [1, "execution-actions"], ["title", "View details", 1, "action-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [1, "execution-expanded-content"], [1, "fa-solid", "fa-cog"], [1, "metric-label"], [1, "metric-value"], [1, "fa-solid", "fa-stopwatch"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-microchip"], [1, "fa-solid", "fa-dollar-sign"], [1, "detailed-metrics"], [1, "metrics-grid"], [1, "metric-detail"], [1, "metric-info"], [1, "metric-title"], [1, "metric-data"], [1, "result-section"], [1, "error-section"], [1, "fa-solid", "fa-check-circle"], [1, "fa-solid", "fa-calculator"], [1, "fa-solid", "fa-comments"], [1, "fa-solid", "fa-file-text"], ["language", "json", 2, "max-height", "200px", "width", "100%", 3, "value", "readonly", "lineWrapping"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "error-content"], ["mjButton", "", "variant", "outline", 1, "page-nav-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], [1, "page-info"], [1, "fa-solid", "fa-chevron-right"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "view-all-btn", 3, "click"], [1, "fa-solid", "fa-external-link"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "record-count"], [1, "loading-state"], [1, "header-actions"], ["mjButton", "", "variant", "primary", "size", "sm"], [1, "entity-list"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["mjButton", "", "variant", "primary"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "entity-item", "action-item"], [1, "view-more-item"], [1, "entity-item", "action-item", 3, "click"], [1, "item-icon"], [1, "item-content"], [1, "item-title"], [1, "item-preview"], [1, "item-meta"], [1, "meta-tag"], [1, "status-tag"], [1, "item-actions"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Remove action", 1, "error-action"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Remove action", 1, "error-action", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "view-more-item", 3, "click"], [1, "section-header", "sub-agent-filter-header"], [1, "filter-controls"], [1, "mj-button-group"], ["mjButton", "", "size", "sm", 3, "click"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-share-nodes"], ["mjButton", "", "variant", "primary", "size", "sm", "title", "Create a new child sub-agent that shares this agent's payload", 3, "click"], ["mjButton", "", "size", "sm", "title", "Link an existing agent as a related sub-agent with payload mapping", 3, "click"], [1, "empty-state-info"], [1, "info-card"], [1, "fa-solid", "fa-link", 2, "color", "var(--mj-status-info)"], [1, "fa-solid", "fa-share-nodes", 2, "color", "var(--mj-brand-primary)"], [1, "entity-item", "sub-agent-item", 3, "child-sub-agent", "related-sub-agent"], [1, "entity-item", "sub-agent-item", 3, "click"], [1, "sub-agent-type-badge"], [1, "sub-agent-logo", 3, "src", "alt"], [1, "meta-tag", "payload-info"], [1, "fa-solid", "fa-database"], [1, "status-tag", 3, "background-color"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Configure output mapping"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Advanced settings"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "error-action", 3, "title"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Configure output mapping", 3, "click"], [1, "fa-solid", "fa-exchange-alt"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Advanced settings", 3, "click"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "error-action", 3, "click", "title"], [1, "prompt-controls"], [1, "model-selection-mode"], [1, "model-selection-label"], [1, "fa-solid", "fa-sliders"], ["name", "modelSelectionMode", "TextField", "text", "ValueField", "value", 1, "model-selection-dropdown", 3, "ngModel", "Data", "ValuePrimitive"], [1, "model-selection-value"], ["name", "modelSelectionMode", "TextField", "text", "ValueField", "value", 1, "model-selection-dropdown", 3, "ngModelChange", "ngModel", "Data", "ValuePrimitive"], [1, "entity-item", "prompt-item"], [1, "entity-item", "prompt-item", 3, "click"], [1, "fa-solid", "fa-comment-dots"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Remove prompt", 1, "error-action"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "Remove prompt", 1, "error-action", 3, "click"], [1, "fa-solid", "fa-brain"], [1, "entity-item", "learning-item"], [1, "entity-item", "learning-item", 3, "click"], [1, "fa-solid", "fa-calendar"], [1, "fa-solid", "fa-sticky-note"], [1, "entity-item", "note-item"], [1, "entity-item", "note-item", 3, "click"], [1, "fa-solid", "fa-shield-halved"], [1, "fa-solid", "fa-cogs"], ["TextField", "text", "ValueField", "value", "name", "agentStatus", 1, "config-field-input", 3, "ngModelChange", "ngModel", "Data", "ValuePrimitive"], ["TextField", "Name", "ValueField", "ID", "name", "agentTypeID", 1, "config-field-input", 3, "ngModelChange", "ngModel", "Data", "ValuePrimitive"], ["SelectionMode", "single", "SelectableTypes", "branch", "Placeholder", "Select a category...", 3, "ValueChange", "BranchConfig", "Value", "Clearable", "EnableSearch"], [1, "fa-solid", "fa-hashtag"], ["FieldName", "ContextCompressionMessageThreshold", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "fa-solid", "fa-save"], ["FieldName", "ContextCompressionMessageRetentionCount", "Type", "numerictextbox", "Caption", "", 3, "EditMode", "Record"], [1, "prompt-selector-container"], [1, "prompt-display"], [1, "prompt-name"], [1, "no-prompt"], [1, "prompt-actions"], ["type", "button", "mjButton", "", "variant", "outline", "size", "sm", 1, "prompt-select-btn", 3, "click"], ["type", "button", "mjButton", "", "variant", "flat", "size", "sm", "title", "Clear selection", 1, "prompt-clear-btn"], ["type", "button", "mjButton", "", "variant", "flat", "size", "sm", "title", "Clear selection", 1, "prompt-clear-btn", 3, "click"], [1, "fa-solid", "fa-times"], [3, "Closed", "PermissionsChanged", "Agent"]], template: function MJAIAgentFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
4536
4494
  i0.ɵɵelementStart(0, "div", 2);
4537
- i0.ɵɵelement(1, "div", 3)(2, "div", 4);
4538
- i0.ɵɵconditionalCreate(3, MJAIAgentFormComponentExtended_Conditional_3_Template, 23, 14, "form", 5);
4539
- i0.ɵɵconditionalCreate(4, MJAIAgentFormComponentExtended_Conditional_4_Template, 1, 1, "mj-agent-permissions-dialog", 6);
4495
+ i0.ɵɵconditionalCreate(1, MJAIAgentFormComponentExtended_Conditional_1_Template, 323, 64, "form", 3);
4496
+ i0.ɵɵconditionalCreate(2, MJAIAgentFormComponentExtended_Conditional_2_Template, 1, 1, "mj-agent-permissions-dialog", 4);
4540
4497
  i0.ɵɵelementEnd();
4541
4498
  } if (rf & 2) {
4542
- i0.ɵɵadvance(3);
4543
- i0.ɵɵconditional(ctx.record ? 3 : -1);
4544
4499
  i0.ɵɵadvance();
4545
- i0.ɵɵconditional(ctx.ShowPermissionsDialog ? 4 : -1);
4546
- } }, dependencies: [i1.ɵNgNoValidate, i1.NgControlStatus, i1.NgControlStatusGroup, i1.NgModel, i1.NgForm, i2.PanelBarComponent, i2.PanelBarItemComponent, i2.PanelBarContentDirective, i2.PanelBarItemTitleDirective, i3.DialogContainerDirective, i3.WindowContainerDirective, i4.TextBoxComponent, i4.TextBoxPrefixTemplateDirective, i5.DropDownListComponent, i6.ButtonComponent, i6.ButtonGroupComponent, i7.MjFormToolbarComponent, i7.MjFormFieldComponent, i8.CodeEditorComponent, i9.LoadingComponent, i10.AgentPermissionsDialogComponent, i11.TreeDropdownComponent, i12.DatePipe], styles: ["\n\n.record-form-container[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n\n.record-form[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.agent-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);\n transition: padding 0.2s ease;\n}\n\n.agent-header-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n\n\n.agent-header-toggle[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n padding: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-toggle[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.agent-overview[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n background: var(--mj-brand-primary);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n flex-shrink: 0;\n transition: all 0.2s ease;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 18px;\n}\n\n\n\n.agent-header-mini[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 12px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n height: 32px;\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n\n.agent-header-mini-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 300px;\n}\n\n.agent-header-mini-status[_ngcontent-%COMP%] {\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--mj-text-inverse);\n flex-shrink: 0;\n}\n\n.agent-header-mini-spacer[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.agent-header-mini-btn--primary[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 40%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface));\n}\n\n.agent-header-mini-btn--primary[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 50%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] img.agent-logo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n}\n\n.agent-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.2;\n}\n\n.agent-name-input[_ngcontent-%COMP%] {\n font-size: 16px !important;\n font-weight: 500 !important;\n height: 30px !important;\n width: 100% !important;\n max-width: 350px !important;\n}\n\n.agent-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.status-badge.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge.pending[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: var(--mj-text-primary);\n}\n\n.status-badge.disabled[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.execution-mode[_ngcontent-%COMP%], \n.parent-agent[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 10px;\n border-radius: 12px;\n}\n\n.execution-mode[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.parent-agent[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n opacity: 0.8;\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n\n\n.prompt-controls[_ngcontent-%COMP%] {\n flex: 1;\n margin-right: 16px;\n}\n\n.agent-meta-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.agent-description[_ngcontent-%COMP%] {\n margin-top: 16px;\n color: var(--mj-text-muted);\n line-height: 1.6;\n font-size: 15px;\n}\n\n.agent-description-input[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 600px;\n min-height: 80px;\n resize: vertical;\n}\n\n\n\n.agent-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: center;\n}\n\n.action-buttons-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.action-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n border-radius: 8px;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);\n}\n\n.action-button[_ngcontent-%COMP%]:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);\n}\n\n.action-button.primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.action-button.primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.action-button.secondary[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.action-button.secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-text-secondary);\n}\n\n.action-warnings[_ngcontent-%COMP%] {\n margin-top: 8px;\n font-size: 13px;\n color: var(--mj-status-error);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n\n\n.form-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n background: var(--mj-bg-page);\n padding: 8px 12px;\n}\n\n\n\n .k-panelbar {\n border: none;\n background: transparent;\n}\n\n .k-panelbar > .k-panelbar-item {\n border: none;\n border-radius: 10px;\n margin-bottom: 8px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header {\n background: var(--mj-bg-surface);\n border: none;\n padding: 10px 16px;\n border-radius: 12px 12px 0 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 14px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header:hover {\n background: var(--mj-bg-surface-card);\n}\n\n .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 12px 12px 0 0;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle {\n position: absolute;\n right: 24px;\n color: inherit;\n font-size: 14px;\n transition: transform 0.2s ease;\n}\n\n .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header .k-panelbar-toggle {\n transform: rotate(180deg);\n}\n\n .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle::before {\n content: '\\f107';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n}\n\n .k-panelbar > .k-panelbar-item > .k-content {\n padding: 0;\n border: none;\n background: var(--mj-bg-surface);\n border-radius: 0 0 12px 12px;\n}\n\n .k-panelbar .k-header .k-panelbar-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n margin-right: 8px;\n}\n\n .k-panelbar .k-panelbar-expanded .k-header .k-panelbar-icon {\n color: var(--mj-text-inverse);\n}\n\n\n\n.panel-content[_ngcontent-%COMP%] {\n padding: 16px;\n background: var(--mj-bg-surface);\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.section-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-bottom: 16px;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n\n.tab-section[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid var(--mj-border-default);\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-bg-surface-sunken);\n}\n\n.section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0;\n color: var(--mj-text-primary);\n font-size: 18px;\n font-weight: 600;\n}\n\n.section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 20px;\n}\n\n.section-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-top: 8px;\n}\n\n\n\n.form-fields-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.form-field-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.form-field-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n.sub-grid-container[_ngcontent-%COMP%] {\n height: 500px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n display: none; \n\n}\n\n\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: var(--mj-brand-primary);\n margin-bottom: 16px;\n display: block;\n}\n\n.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-disabled);\n}\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto;\n}\n\n\n\n.loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.spinner-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border: 4px solid var(--mj-bg-surface-sunken);\n border-top: 4px solid var(--mj-brand-primary);\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n\n\n.quick-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.quick-action-card[_ngcontent-%COMP%] {\n flex: 1;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: center;\n}\n\n.quick-action-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-2px);\n}\n\n.quick-action-icon[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--mj-brand-primary);\n margin-bottom: 8px;\n}\n\n.quick-action-title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n}\n\n.quick-action-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n\n\n.entity-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 16px;\n}\n\n.entity-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-1px);\n}\n\n.item-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.prompt-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.action-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.sub-agent-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.model-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.learning-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n\n.note-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 18px;\n}\n\n.prompt-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.action-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.sub-agent-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.model-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.learning-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.note-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n}\n\n.item-icon[_ngcontent-%COMP%] img.sub-agent-logo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.item-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.item-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n}\n\n.item-preview[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n margin: 4px 0 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.item-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.meta-tag[_ngcontent-%COMP%], \n.priority-tag[_ngcontent-%COMP%], \n.status-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n font-weight: 500;\n}\n\n.meta-tag[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.priority-tag[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.status-tag[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.status-tag.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n}\n\n.status-tag.inactive[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.item-actions[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.2s ease;\n color: var(--mj-text-muted);\n font-size: 16px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover .item-actions[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover .item-actions[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.view-more-item[_ngcontent-%COMP%] {\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 10px;\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-more-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n\n\n.pagination-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n justify-content: center;\n padding: 16px;\n margin-top: 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.page-nav-btn[_ngcontent-%COMP%] {\n min-width: 120px;\n font-weight: 500;\n}\n\n.page-nav-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.page-nav-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.page-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 0 16px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n min-width: 200px;\n text-align: center;\n}\n\n.page-info[_ngcontent-%COMP%] .record-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: normal;\n}\n\n.page-info[_ngcontent-%COMP%] .fa-spinner[_ngcontent-%COMP%] {\n margin-right: 8px;\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.view-all-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 4px;\n}\n\n\n\n.payload-config-section[_ngcontent-%COMP%], \n.payload-paths-section[_ngcontent-%COMP%], \n.payload-validation-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n}\n\n.subsection-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 16px 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.subsection-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.subsection-divider[_ngcontent-%COMP%] {\n margin-top: 32px;\n margin-bottom: 16px;\n padding-top: 24px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.payload-config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.payload-field-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.payload-field-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n}\n\n.payload-field-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 16px;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: normal;\n color: var(--mj-text-muted);\n margin-left: auto;\n}\n\n\n\n.payload-field-group[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.payload-field-group[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.payload-field-group[_ngcontent-%COMP%] mj-form-field[_ngcontent-%COMP%] textarea {\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 13px;\n line-height: 1.5;\n min-height: 120px;\n resize: vertical;\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%] {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n\n\n.timeline-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 16px;\n}\n\n.timeline-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.timeline-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.timeline-marker[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.timeline-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n}\n\n.timeline-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 6px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.timeline-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.timeline-preview[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.cards-container[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.entity-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 20px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n overflow: hidden;\n}\n\n.entity-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-4px);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);\n border-color: var(--mj-brand-primary);\n}\n\n.entity-card[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: var(--mj-brand-primary);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.entity-card[_ngcontent-%COMP%]:hover::before {\n opacity: 1;\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sub-agent-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.prompt-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.action-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-text-muted);\n}\n\n.sub-agent-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.prompt-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.action-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n}\n\n.card-title-section[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.card-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n word-wrap: break-word;\n}\n\n.card-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n padding: 4px 8px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n}\n\n.meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.8;\n}\n\n.meta-item.active[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n}\n\n.meta-item.inactive[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.card-actions[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.3s ease;\n color: var(--mj-text-muted);\n}\n\n.entity-card[_ngcontent-%COMP%]:hover .card-actions[_ngcontent-%COMP%] {\n opacity: 1;\n color: var(--mj-brand-primary);\n}\n\n\n\n.priority-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.type-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n\n\n.view-all-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.view-all-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n transform: translateY(-2px);\n}\n\n.view-all-content[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-all-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n\n\n.timeline-container[_ngcontent-%COMP%] {\n position: relative;\n margin-top: 16px;\n}\n\n.timeline-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n margin-bottom: 24px;\n transition: all 0.3s ease;\n border-radius: 12px;\n padding: 16px;\n background: transparent;\n border: 1px solid transparent;\n}\n\n.timeline-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-default);\n}\n\n.timeline-item.expanded[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.timeline-item.view-all[_ngcontent-%COMP%] {\n cursor: pointer;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n}\n\n.timeline-item.view-all[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n}\n\n.timeline-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child {\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-marker[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n top: 50px;\n left: 50%;\n transform: translateX(-50%);\n width: 2px;\n height: 24px;\n background: var(--mj-border-default);\n}\n\n.timeline-item[_ngcontent-%COMP%]:last-child .timeline-marker[_ngcontent-%COMP%]::after {\n display: none;\n}\n\n.timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 16px;\n}\n\n.timeline-marker.view-all-marker[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}\n\n.timeline-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-header[_ngcontent-%COMP%] {\n flex: 1;\n cursor: pointer;\n}\n\n.timeline-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 8px;\n gap: 16px;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n transition: transform 0.3s ease;\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n.expand-icon.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n.timeline-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n line-height: 1.3;\n}\n\n.timeline-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n margin-left: auto;\n}\n\n.timeline-preview[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-top: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n}\n\n.timeline-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.execution-time[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n}\n\n.timeline-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n}\n\n.timeline-error[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n font-size: 13px;\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n padding: 8px 12px;\n border-radius: 6px;\n margin-top: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.timeline-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n\n\n.timeline-expanded-content[_ngcontent-%COMP%] {\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.result-section[_ngcontent-%COMP%], \n.error-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.result-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], \n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n.result-content[_ngcontent-%COMP%], \n.error-content[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-text-secondary);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n\n\n.result-section[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-content[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.execution-details[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.detail-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n min-width: 80px;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n word-break: break-all;\n}\n\n.timeline-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n}\n\n.btn-primary[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n transition: all 0.2s ease;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n border: 2px dashed var(--mj-border-default);\n margin-top: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n font-size: 18px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto 20px auto;\n}\n\n\n\n@media (max-width: 768px) {\n \n\n .agent-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .agent-header-content[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .agent-overview[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .agent-meta[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .agent-actions[_ngcontent-%COMP%] {\n width: 100%;\n align-self: stretch;\n }\n\n .action-button[_ngcontent-%COMP%] {\n flex: 1;\n justify-content: center;\n }\n\n \n\n .form-content[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .k-panelbar > .k-panelbar-item > .k-header {\n padding: 16px 20px;\n font-size: 15px;\n }\n\n .panel-content[_ngcontent-%COMP%] {\n padding: 20px 16px;\n }\n\n .section-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .header-actions[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n align-self: stretch;\n }\n\n \n\n .entity-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 12px;\n }\n\n .item-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n }\n\n .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .item-title[_ngcontent-%COMP%] {\n font-size: 15px;\n }\n\n .item-preview[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .item-meta[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n \n\n .timeline-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 12px;\n }\n\n .timeline-marker[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n }\n\n .timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n\n .timeline-title[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .timeline-date[_ngcontent-%COMP%] {\n align-self: flex-start;\n }\n\n \n\n .form-fields-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n \n\n .cards-container[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%] {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n\n\n.execution-search-bar[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n padding: 0 4px;\n}\n\n.execution-search-bar[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.execution-search-bar[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n font-size: 14px;\n}\n\n\n\n.execution-history-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 8px;\n}\n\n.execution-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n\n.execution-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n.execution-card.expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 6px 20px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.execution-header[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n\n.execution-left-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.execution-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.status-indicator[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.status-indicator[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.execution-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.execution-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.execution-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.execution-metrics[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n flex-wrap: wrap;\n margin-left: 44px; \n\n}\n\n.metric-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-card);\n padding: 6px 10px;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.metric-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n.metric-label[_ngcontent-%COMP%] {\n font-weight: 500;\n}\n\n.metric-value[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.execution-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.action-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n}\n\n.action-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n transform: translateY(-1px);\n}\n\n.action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n transition: transform 0.2s ease;\n color: var(--mj-text-muted);\n margin-right: 4px;\n}\n\n.expand-icon.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.execution-expanded-content[_ngcontent-%COMP%] {\n padding: 16px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n background: var(--mj-bg-surface-card);\n animation: _ngcontent-%COMP%_slideDown 0.2s ease;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n }\n to {\n opacity: 1;\n max-height: 500px;\n padding-top: 16px;\n padding-bottom: 16px;\n }\n}\n\n.detailed-metrics[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.metrics-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.metric-detail[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n}\n\n.metric-detail[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 16px;\n width: 20px;\n text-align: center;\n}\n\n.metric-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1;\n}\n\n.metric-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.metric-data[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.result-section[_ngcontent-%COMP%] {\n margin-top: 16px;\n}\n\n.result-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n.error-content[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-status-error);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 150px;\n overflow-y: auto;\n}\n\n\n\n@media (max-width: 768px) {\n .execution-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .execution-left-section[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .execution-metrics[_ngcontent-%COMP%] {\n margin-left: 0; \n\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n }\n\n .metric-item[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 4px 8px;\n }\n\n .metrics-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}\n\n\n\n.payload-section[_ngcontent-%COMP%] {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.payload-section-title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.payload-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n\n\n.payload-field-container[_ngcontent-%COMP%] {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-field-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.payload-field-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.5;\n margin: 0;\n}\n\n.payload-field-input[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-example[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 0.5rem 0.75rem;\n border-radius: 6px;\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.payload-field-example[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 0.9rem;\n}\n\n.payload-field-example[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.2rem 0.4rem;\n border-radius: 4px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n.payload-paths-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n}\n\n.payload-path-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.payload-path-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.payload-path-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.payload-path-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.payload-path-icon.downstream[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.payload-path-icon.upstream[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-read[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-write[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.payload-path-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.payload-path-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.payload-path-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-content[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n.json-editor-container[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 0.75rem;\n}\n\n.json-editor-container[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.payload-path-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.payload-path-hint[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n.payload-validation-container[_ngcontent-%COMP%] {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-validation-settings[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n.validation-field-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.validation-field-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.validation-field-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0 0 0.5rem 0;\n}\n\n.payload-validation-schema[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.validation-schema-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.validation-schema-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.validation-schema-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0;\n}\n\n.validation-schema-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n}\n\n.validation-schema-editor[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.config-section[_ngcontent-%COMP%] {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.config-section-title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.config-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n width: 100%;\n}\n\n.config-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.config-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.config-card.full-width[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.config-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.config-card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background: var(--mj-brand-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.config-card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.config-card-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.config-card-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.config-card-content[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n\n\n.config-field-input[_ngcontent-%COMP%] {\n width: 100%;\n min-width: 250px;\n}\n\n\n\n.config-card-content[_ngcontent-%COMP%] kendo-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] kendo-numerictextbox .k-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] kendo-numerictextbox .k-input {\n width: 100% !important;\n min-width: 200px !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] mj-form-field {\n width: 100% !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] mj-form-field kendo-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] mj-form-field kendo-numerictextbox .k-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content[_ngcontent-%COMP%] mj-form-field kendo-numerictextbox .k-input {\n width: 100% !important;\n min-width: 200px !important;\n}\n\n.config-field-display[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n font-weight: 500;\n padding: 8px 0;\n display: block;\n min-height: 20px;\n}\n\n\n\n.prompt-selector-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n}\n\n.prompt-display[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.prompt-name[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n font-size: 14px;\n}\n\n.no-prompt[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-style: italic;\n font-size: 14px;\n}\n\n.prompt-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.prompt-select-btn[_ngcontent-%COMP%] {\n white-space: nowrap;\n}\n\n.prompt-clear-btn[_ngcontent-%COMP%] {\n min-width: 32px;\n}\n\n.config-card-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-top: 0.5rem;\n}\n\n.config-card-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.config-card-hint[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n\n@media (max-width: 768px) {\n .payload-field-container[_ngcontent-%COMP%], \n .payload-validation-container[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n }\n\n .payload-paths-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .config-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .payload-section-title[_ngcontent-%COMP%], \n .config-section-title[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem;\n font-size: 1rem;\n }\n\n .payload-path-header[_ngcontent-%COMP%], \n .config-card-header[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n\n .payload-path-content[_ngcontent-%COMP%], \n .config-card-content[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n\n .payload-field-container[_ngcontent-%COMP%], \n .payload-validation-container[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n}\n\n\n\n\n\n\n\n\n.sub-agent-filter-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.filter-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.filter-controls[_ngcontent-%COMP%] kendo-buttongroup[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n}\n\n\n\n.sub-agent-type-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 1;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n\n\n.sub-agent-item[_ngcontent-%COMP%] {\n position: relative;\n padding-left: 8px;\n transition: all 0.2s ease;\n}\n\n.sub-agent-item.child-sub-agent[_ngcontent-%COMP%] {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item.related-sub-agent[_ngcontent-%COMP%] {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item[_ngcontent-%COMP%]:hover {\n transform: translateX(4px);\n}\n\n\n\n.payload-info[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n font-family: 'Roboto Mono', monospace;\n font-size: 11px;\n}\n\n\n\n.empty-state-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin: 24px 0;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 16px;\n text-align: left;\n}\n\n.info-card[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n.info-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 4px;\n font-size: 14px;\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n justify-content: center;\n margin-top: 16px;\n}\n\n\n\n@media (max-width: 768px) {\n .sub-agent-filter-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls[_ngcontent-%COMP%], \n .header-actions[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: center;\n }\n\n .empty-state-info[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}"] }); }
4500
+ i0.ɵɵconditional(ctx.record ? 1 : -1);
4501
+ i0.ɵɵadvance();
4502
+ i0.ɵɵconditional(ctx.ShowPermissionsDialog ? 2 : -1);
4503
+ } }, dependencies: [i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.NgModel, i1.NgForm, i2.MJButtonDirective, i2.MJAccordionPanelComponent, i2.MJAccordionTitleDirective, i2.MJDropdownComponent, i3.MjFormToolbarComponent, i3.MjFormFieldComponent, i4.CodeEditorComponent, i5.LoadingComponent, i6.AgentPermissionsDialogComponent, i7.TreeDropdownComponent, i8.DatePipe], styles: ["\n\n.record-form-container[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n\n.record-form[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.agent-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);\n transition: padding 0.2s ease;\n}\n\n.agent-header-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n\n\n.agent-header-toggle[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n padding: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-toggle[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.agent-overview[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n background: var(--mj-brand-primary);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n flex-shrink: 0;\n transition: all 0.2s ease;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 18px;\n}\n\n\n\n.agent-header-mini[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 12px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n height: 32px;\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-expand[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n\n.agent-header-mini-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 300px;\n}\n\n.agent-header-mini-status[_ngcontent-%COMP%] {\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--mj-text-inverse);\n flex-shrink: 0;\n}\n\n.agent-header-mini-spacer[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.agent-header-mini-btn--primary[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 40%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface));\n}\n\n.agent-header-mini-btn--primary[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 50%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.agent-header-mini-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.agent-icon-wrapper[_ngcontent-%COMP%] img.agent-logo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n}\n\n.agent-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.2;\n}\n\n.agent-name-input[_ngcontent-%COMP%] {\n font-size: 16px !important;\n font-weight: 500 !important;\n height: 30px !important;\n width: 100% !important;\n max-width: 350px !important;\n}\n\n.agent-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.status-badge.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge.pending[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n color: var(--mj-text-primary);\n}\n\n.status-badge.disabled[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.execution-mode[_ngcontent-%COMP%], \n.parent-agent[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 10px;\n border-radius: 12px;\n}\n\n.execution-mode[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.parent-agent[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n opacity: 0.8;\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.parent-agent.clickable[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n\n\n.prompt-controls[_ngcontent-%COMP%] {\n flex: 1;\n margin-right: 16px;\n}\n\n.agent-meta-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.agent-description[_ngcontent-%COMP%] {\n margin-top: 16px;\n color: var(--mj-text-muted);\n line-height: 1.6;\n font-size: 15px;\n}\n\n.agent-description-input[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 600px;\n min-height: 80px;\n resize: vertical;\n}\n\n\n\n.agent-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: center;\n}\n\n.action-buttons-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.action-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n border-radius: 8px;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);\n}\n\n.action-button[_ngcontent-%COMP%]:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);\n}\n\n.action-button.primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.action-button.primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.action-button.secondary[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.action-button.secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-text-secondary);\n}\n\n.action-warnings[_ngcontent-%COMP%] {\n margin-top: 8px;\n font-size: 13px;\n color: var(--mj-status-error);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n\n\n.form-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n background: var(--mj-bg-page);\n padding: 8px 12px;\n}\n\n\n\n .k-panelbar {\n border: none;\n background: transparent;\n}\n\n .k-panelbar > .k-panelbar-item {\n border: none;\n border-radius: 10px;\n margin-bottom: 8px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header {\n background: var(--mj-bg-surface);\n border: none;\n padding: 10px 16px;\n border-radius: 12px 12px 0 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 14px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header:hover {\n background: var(--mj-bg-surface-card);\n}\n\n .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 12px 12px 0 0;\n}\n\n .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle {\n position: absolute;\n right: 24px;\n color: inherit;\n font-size: 14px;\n transition: transform 0.2s ease;\n}\n\n .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header .k-panelbar-toggle {\n transform: rotate(180deg);\n}\n\n .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle::before {\n content: '\\f107';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n}\n\n .k-panelbar > .k-panelbar-item > .k-content {\n padding: 0;\n border: none;\n background: var(--mj-bg-surface);\n border-radius: 0 0 12px 12px;\n}\n\n .k-panelbar .k-header .k-panelbar-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n margin-right: 8px;\n}\n\n .k-panelbar .k-panelbar-expanded .k-header .k-panelbar-icon {\n color: var(--mj-text-inverse);\n}\n\n\n\n.panel-content[_ngcontent-%COMP%] {\n padding: 16px;\n background: var(--mj-bg-surface);\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.section-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-bottom: 16px;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n\n.tab-section[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid var(--mj-border-default);\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-bg-surface-sunken);\n}\n\n.section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0;\n color: var(--mj-text-primary);\n font-size: 18px;\n font-weight: 600;\n}\n\n.section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 20px;\n}\n\n.section-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-top: 8px;\n}\n\n\n\n.form-fields-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.form-field-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.form-field-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n.sub-grid-container[_ngcontent-%COMP%] {\n height: 500px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n display: none; \n\n}\n\n\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: var(--mj-brand-primary);\n margin-bottom: 16px;\n display: block;\n}\n\n.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-disabled);\n}\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto;\n}\n\n\n\n.loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.spinner-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border: 4px solid var(--mj-bg-surface-sunken);\n border-top: 4px solid var(--mj-brand-primary);\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n\n\n.quick-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.quick-action-card[_ngcontent-%COMP%] {\n flex: 1;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: center;\n}\n\n.quick-action-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-2px);\n}\n\n.quick-action-icon[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--mj-brand-primary);\n margin-bottom: 8px;\n}\n\n.quick-action-title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n}\n\n.quick-action-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n\n\n.entity-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 16px;\n}\n\n.entity-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-1px);\n}\n\n.item-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.prompt-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.action-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.sub-agent-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.model-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.learning-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n}\n\n.note-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 18px;\n}\n\n.prompt-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.action-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.sub-agent-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.model-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.learning-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.note-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n}\n\n.item-icon[_ngcontent-%COMP%] img.sub-agent-logo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.item-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.item-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n}\n\n.item-preview[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n margin: 4px 0 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.item-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.meta-tag[_ngcontent-%COMP%], \n.priority-tag[_ngcontent-%COMP%], \n.status-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n font-weight: 500;\n}\n\n.meta-tag[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.priority-tag[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.status-tag[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.status-tag.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n}\n\n.status-tag.inactive[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.item-actions[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.2s ease;\n color: var(--mj-text-muted);\n font-size: 16px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover .item-actions[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.entity-item[_ngcontent-%COMP%]:hover .item-actions[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.view-more-item[_ngcontent-%COMP%] {\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 10px;\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-more-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n\n\n.pagination-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n justify-content: center;\n padding: 16px;\n margin-top: 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.page-nav-btn[_ngcontent-%COMP%] {\n min-width: 120px;\n font-weight: 500;\n}\n\n.page-nav-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.page-nav-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.page-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 0 16px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n min-width: 200px;\n text-align: center;\n}\n\n.page-info[_ngcontent-%COMP%] .record-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: normal;\n}\n\n.page-info[_ngcontent-%COMP%] .fa-spinner[_ngcontent-%COMP%] {\n margin-right: 8px;\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.view-all-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 4px;\n}\n\n\n\n.payload-config-section[_ngcontent-%COMP%], \n.payload-paths-section[_ngcontent-%COMP%], \n.payload-validation-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n}\n\n.subsection-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 16px 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.subsection-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.subsection-divider[_ngcontent-%COMP%] {\n margin-top: 32px;\n margin-bottom: 16px;\n padding-top: 24px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.payload-config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.payload-field-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.payload-field-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n}\n\n.payload-field-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 16px;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: normal;\n color: var(--mj-text-muted);\n margin-left: auto;\n}\n\n\n\n.payload-field-group[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.payload-field-group[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.payload-field-group[_ngcontent-%COMP%] mj-form-field[_ngcontent-%COMP%] textarea {\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 13px;\n line-height: 1.5;\n min-height: 120px;\n resize: vertical;\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%] {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n\n\n.timeline-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 16px;\n}\n\n.timeline-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.timeline-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.timeline-marker[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.timeline-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n}\n\n.timeline-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 6px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.timeline-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.timeline-preview[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.cards-container[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.entity-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 20px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n overflow: hidden;\n}\n\n.entity-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-4px);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);\n border-color: var(--mj-brand-primary);\n}\n\n.entity-card[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: var(--mj-brand-primary);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.entity-card[_ngcontent-%COMP%]:hover::before {\n opacity: 1;\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sub-agent-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.prompt-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.action-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-text-muted);\n}\n\n.sub-agent-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.prompt-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.action-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n}\n\n.card-title-section[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.card-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n word-wrap: break-word;\n}\n\n.card-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n padding: 4px 8px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n}\n\n.meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.8;\n}\n\n.meta-item.active[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n}\n\n.meta-item.inactive[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.card-actions[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.3s ease;\n color: var(--mj-text-muted);\n}\n\n.entity-card[_ngcontent-%COMP%]:hover .card-actions[_ngcontent-%COMP%] {\n opacity: 1;\n color: var(--mj-brand-primary);\n}\n\n\n\n.priority-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.type-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n\n\n.view-all-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.view-all-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n transform: translateY(-2px);\n}\n\n.view-all-content[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-all-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n\n\n.timeline-container[_ngcontent-%COMP%] {\n position: relative;\n margin-top: 16px;\n}\n\n.timeline-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n margin-bottom: 24px;\n transition: all 0.3s ease;\n border-radius: 12px;\n padding: 16px;\n background: transparent;\n border: 1px solid transparent;\n}\n\n.timeline-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-default);\n}\n\n.timeline-item.expanded[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.timeline-item.view-all[_ngcontent-%COMP%] {\n cursor: pointer;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n}\n\n.timeline-item.view-all[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n}\n\n.timeline-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child {\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-marker[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n top: 50px;\n left: 50%;\n transform: translateX(-50%);\n width: 2px;\n height: 24px;\n background: var(--mj-border-default);\n}\n\n.timeline-item[_ngcontent-%COMP%]:last-child .timeline-marker[_ngcontent-%COMP%]::after {\n display: none;\n}\n\n.timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 16px;\n}\n\n.timeline-marker.view-all-marker[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}\n\n.timeline-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-header[_ngcontent-%COMP%] {\n flex: 1;\n cursor: pointer;\n}\n\n.timeline-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 8px;\n gap: 16px;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n transition: transform 0.3s ease;\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n.expand-icon.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n.timeline-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n line-height: 1.3;\n}\n\n.timeline-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n margin-left: auto;\n}\n\n.timeline-preview[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-top: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n}\n\n.timeline-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.execution-time[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n}\n\n.timeline-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n}\n\n.timeline-error[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n font-size: 13px;\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n padding: 8px 12px;\n border-radius: 6px;\n margin-top: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.timeline-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n\n\n.timeline-expanded-content[_ngcontent-%COMP%] {\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.result-section[_ngcontent-%COMP%], \n.error-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.result-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], \n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n.result-content[_ngcontent-%COMP%], \n.error-content[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-text-secondary);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n\n\n.result-section[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-content[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.execution-details[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.detail-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n min-width: 80px;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n word-break: break-all;\n}\n\n.timeline-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n}\n\n.btn-primary[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n transition: all 0.2s ease;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n border: 2px dashed var(--mj-border-default);\n margin-top: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n font-size: 18px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto 20px auto;\n}\n\n\n\n@media (max-width: 768px) {\n \n\n .agent-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .agent-header-content[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .agent-overview[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .agent-meta[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .agent-actions[_ngcontent-%COMP%] {\n width: 100%;\n align-self: stretch;\n }\n\n .action-button[_ngcontent-%COMP%] {\n flex: 1;\n justify-content: center;\n }\n\n \n\n .form-content[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .k-panelbar > .k-panelbar-item > .k-header {\n padding: 16px 20px;\n font-size: 15px;\n }\n\n .panel-content[_ngcontent-%COMP%] {\n padding: 20px 16px;\n }\n\n .section-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .header-actions[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n align-self: stretch;\n }\n\n \n\n .entity-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 12px;\n }\n\n .item-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n }\n\n .item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .item-title[_ngcontent-%COMP%] {\n font-size: 15px;\n }\n\n .item-preview[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .item-meta[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n \n\n .timeline-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 12px;\n }\n\n .timeline-marker[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n }\n\n .timeline-marker[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n\n .timeline-title[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .timeline-date[_ngcontent-%COMP%] {\n align-self: flex-start;\n }\n\n \n\n .form-fields-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n \n\n .cards-container[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%] {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.execution-history-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n\n\n.execution-search-bar[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n padding: 0 4px;\n}\n\n.execution-search-bar[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n font-size: 14px;\n}\n\n\n\n.execution-history-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 8px;\n}\n\n.execution-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n\n.execution-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n.execution-card.expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 6px 20px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.execution-header[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n\n.execution-left-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.execution-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.status-indicator[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.status-indicator[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.execution-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.execution-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.execution-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.execution-metrics[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n flex-wrap: wrap;\n margin-left: 44px; \n\n}\n\n.metric-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-card);\n padding: 6px 10px;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.metric-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n.metric-label[_ngcontent-%COMP%] {\n font-weight: 500;\n}\n\n.metric-value[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.execution-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.action-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n}\n\n.action-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n transform: translateY(-1px);\n}\n\n.action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n transition: transform 0.2s ease;\n color: var(--mj-text-muted);\n margin-right: 4px;\n}\n\n.expand-icon.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.execution-expanded-content[_ngcontent-%COMP%] {\n padding: 16px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n background: var(--mj-bg-surface-card);\n animation: _ngcontent-%COMP%_slideDown 0.2s ease;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n }\n to {\n opacity: 1;\n max-height: 500px;\n padding-top: 16px;\n padding-bottom: 16px;\n }\n}\n\n.detailed-metrics[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.metrics-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.metric-detail[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n}\n\n.metric-detail[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 16px;\n width: 20px;\n text-align: center;\n}\n\n.metric-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1;\n}\n\n.metric-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.metric-data[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.result-section[_ngcontent-%COMP%] {\n margin-top: 16px;\n}\n\n.result-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n.error-content[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-status-error);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 150px;\n overflow-y: auto;\n}\n\n\n\n@media (max-width: 768px) {\n .execution-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .execution-left-section[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .execution-metrics[_ngcontent-%COMP%] {\n margin-left: 0; \n\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n }\n\n .metric-item[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 4px 8px;\n }\n\n .metrics-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}\n\n\n\n.payload-section[_ngcontent-%COMP%] {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.payload-section-title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.payload-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n\n\n.payload-field-container[_ngcontent-%COMP%] {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-field-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.payload-field-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.5;\n margin: 0;\n}\n\n.payload-field-input[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-example[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 0.5rem 0.75rem;\n border-radius: 6px;\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.payload-field-example[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 0.9rem;\n}\n\n.payload-field-example[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.2rem 0.4rem;\n border-radius: 4px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n.payload-paths-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n}\n\n.payload-path-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.payload-path-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.payload-path-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.payload-path-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.payload-path-icon.downstream[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n.payload-path-icon.upstream[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-read[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-write[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n.payload-path-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.payload-path-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.payload-path-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-content[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n.json-editor-container[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 0.75rem;\n}\n\n.json-editor-container[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.payload-path-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.payload-path-hint[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n.payload-validation-container[_ngcontent-%COMP%] {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-validation-settings[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n.validation-field-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.validation-field-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.validation-field-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0 0 0.5rem 0;\n}\n\n.payload-validation-schema[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.validation-schema-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.validation-schema-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.validation-schema-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0;\n}\n\n.validation-schema-editor[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n}\n\n.validation-schema-editor[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.config-section[_ngcontent-%COMP%] {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.config-section-title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.config-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n width: 100%;\n}\n\n.config-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.config-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.config-card.full-width[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.config-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.config-card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background: var(--mj-brand-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.config-card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.config-card-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.config-card-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.config-card-content[_ngcontent-%COMP%] {\n padding: 1rem;\n}\n\n\n\n.config-field-input[_ngcontent-%COMP%] {\n width: 100%;\n min-width: 250px;\n}\n\n.config-card-content[_ngcontent-%COMP%] mj-form-field {\n width: 100% !important;\n}\n\n.config-field-display[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n font-weight: 500;\n padding: 8px 0;\n display: block;\n min-height: 20px;\n}\n\n\n\n.prompt-selector-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n}\n\n.prompt-display[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.prompt-name[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n font-size: 14px;\n}\n\n.no-prompt[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-style: italic;\n font-size: 14px;\n}\n\n.prompt-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.prompt-select-btn[_ngcontent-%COMP%] {\n white-space: nowrap;\n}\n\n.prompt-clear-btn[_ngcontent-%COMP%] {\n min-width: 32px;\n}\n\n.config-card-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-top: 0.5rem;\n}\n\n.config-card-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.config-card-hint[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n\n\n@media (max-width: 768px) {\n .payload-field-container[_ngcontent-%COMP%], \n .payload-validation-container[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n }\n\n .payload-paths-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .config-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .payload-section-title[_ngcontent-%COMP%], \n .config-section-title[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem;\n font-size: 1rem;\n }\n\n .payload-path-header[_ngcontent-%COMP%], \n .config-card-header[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n\n .payload-path-content[_ngcontent-%COMP%], \n .config-card-content[_ngcontent-%COMP%] {\n padding: 0.75rem;\n }\n\n .payload-field-container[_ngcontent-%COMP%], \n .payload-validation-container[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n}\n\n\n\n\n\n\n\n\n.sub-agent-filter-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.filter-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n\n\n.sub-agent-type-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 1;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n\n\n.sub-agent-item[_ngcontent-%COMP%] {\n position: relative;\n padding-left: 8px;\n transition: all 0.2s ease;\n}\n\n.sub-agent-item.child-sub-agent[_ngcontent-%COMP%] {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item.related-sub-agent[_ngcontent-%COMP%] {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item[_ngcontent-%COMP%]:hover {\n transform: translateX(4px);\n}\n\n\n\n.payload-info[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n font-family: 'Roboto Mono', monospace;\n font-size: 11px;\n}\n\n\n\n.empty-state-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin: 24px 0;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 16px;\n text-align: left;\n}\n\n.info-card[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n.info-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 4px;\n font-size: 14px;\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n justify-content: center;\n margin-top: 16px;\n}\n\n\n\n@media (max-width: 768px) {\n .sub-agent-filter-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls[_ngcontent-%COMP%], \n .header-actions[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: center;\n }\n\n .empty-state-info[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}"] }); }
4547
4504
  };
4548
4505
  MJAIAgentFormComponentExtended = MJAIAgentFormComponentExtended_1 = __decorate([
4549
4506
  RegisterClass(BaseFormComponent, 'MJ: AI Agents')
@@ -4551,7 +4508,7 @@ MJAIAgentFormComponentExtended = MJAIAgentFormComponentExtended_1 = __decorate([
4551
4508
  export { MJAIAgentFormComponentExtended };
4552
4509
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJAIAgentFormComponentExtended, [{
4553
4510
  type: Component,
4554
- args: [{ standalone: false, selector: 'mj-ai-agent-form', template: "<div class=\"record-form-container\">\n <!-- Dialog container for Kendo dialogs -->\n <div kendoDialogContainer></div>\n <!-- Window container for Kendo windows -->\n <div kendoWindowContainer></div>\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\">\n <mj-form-toolbar [Form]=\"this\"></mj-form-toolbar>\n <!-- Agent Header \u2014 expanded view -->\n @if (!HeaderCollapsed) {\n <div class=\"agent-header\">\n <div class=\"agent-header-content\">\n <button class=\"agent-header-toggle\" (click)=\"ToggleHeaderCollapsed()\"\n title=\"Minimize header\">\n <i class=\"fa-solid fa-chevron-up\"></i>\n </button>\n <div class=\"agent-overview\">\n <div class=\"agent-icon-wrapper\">\n @if (hasLogoURL()) {\n <img [src]=\"record.LogoURL\" [alt]=\"record.Name + ' logo'\" class=\"agent-logo\">\n } @else {\n <i [class]=\"getAgentIcon()\"></i>\n }\n </div>\n <div class=\"agent-info\">\n @if (EditMode) {\n <kendo-textbox [(ngModel)]=\"record.Name\"\n name=\"agentName\"\n placeholder=\"Enter agent name...\"\n class=\"agent-name-input\">\n </kendo-textbox>\n } @else {\n <h1 class=\"agent-name\">{{ record.Name || 'Untitled AI Agent' }}</h1>\n }\n <div class=\"agent-meta\">\n @if (record.Status) {\n <span class=\"status-badge\" [style.background-color]=\"getStatusBadgeColor()\">\n <i class=\"fa-solid fa-circle\"></i>\n {{ record.Status }}\n </span>\n }\n @if (record.Type) {\n <span class=\"execution-mode\">\n Agent Type: {{ record.Type }}\n </span>\n }\n @if (record.Parent) {\n <span class=\"parent-agent clickable\"\n (click)=\"navigateToParentAgent()\"\n title=\"Open parent agent: {{ record.Parent }}\">\n <i class=\"fa-solid fa-sitemap\"></i>\n Child of {{ record.Parent }}\n <i class=\"fa-solid fa-external-link\" style=\"margin-left: 4px; font-size: 10px;\"></i>\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"agent-actions\">\n @if (record.ID) {\n <button kendoButton themeColor=\"primary\" size=\"large\"\n (click)=\"openTestHarness()\"\n [disabled]=\"record.Status !== 'Active'\"\n title=\"Run this AI agent\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n <button kendoButton size=\"large\"\n (click)=\"openPermissionsDialog()\"\n [title]=\"IsOpenToEveryone ? 'Open to everyone \u2014 click to manage permissions' : 'Restricted \u2014 click to manage permissions'\">\n <i class=\"fa-solid\" [class.fa-lock-open]=\"IsOpenToEveryone\" [class.fa-lock]=\"!IsOpenToEveryone\"\n [style.color]=\"IsOpenToEveryone ? 'var(--mj-status-success)' : null\"></i>\n {{ IsOpenToEveryone ? 'Open' : 'Restricted' }}\n </button>\n }\n <button kendoButton fillMode=\"outline\" size=\"small\" (click)=\"refreshRelatedData()\" title=\"Refresh all data\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n <!-- Agent Header \u2014 minimized floating bar -->\n @if (HeaderCollapsed) {\n <div class=\"agent-header-mini\">\n <button class=\"agent-header-mini-expand\" (click)=\"ToggleHeaderCollapsed()\"\n title=\"Expand header\">\n <i class=\"fa-solid fa-chevron-down\"></i>\n </button>\n <span class=\"agent-header-mini-name\">{{ record.Name || 'Untitled AI Agent' }}</span>\n @if (record.Status) {\n <span class=\"agent-header-mini-status\" [style.background-color]=\"getStatusBadgeColor()\">\n {{ record.Status }}\n </span>\n }\n <div class=\"agent-header-mini-spacer\"></div>\n @if (record.ID) {\n <button class=\"agent-header-mini-btn agent-header-mini-btn--primary\"\n (click)=\"openTestHarness()\"\n [disabled]=\"record.Status !== 'Active'\"\n title=\"Run agent\">\n <i class=\"fa-solid fa-play\"></i>\n </button>\n <button class=\"agent-header-mini-btn\"\n (click)=\"openPermissionsDialog()\"\n [title]=\"IsOpenToEveryone ? 'Open to everyone' : 'Restricted'\">\n <i class=\"fa-solid\" [class.fa-lock-open]=\"IsOpenToEveryone\" [class.fa-lock]=\"!IsOpenToEveryone\"\n [style.color]=\"IsOpenToEveryone ? 'var(--mj-status-success)' : null\"></i>\n </button>\n }\n <button class=\"agent-header-mini-btn\"\n (click)=\"refreshRelatedData()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n }\n <!-- Single Pane Layout with Expander Panels -->\n <div class=\"form-content\">\n <kendo-panelbar [keepItemContent]=\"true\" (stateChange)=\"OnPanelBarStateChange($event)\">\n <!-- Custom Agent Type Section (if defined) -->\n @if (record.ID && agentType && agentType.UIFormSectionKey) {\n <kendo-panelbar-item id=\"custom\"\n [expanded]=\"GetSectionExpanded('custom', agentType.UIFormSectionExpandedByDefault)\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-puzzle-piece\"></i> {{ agentType.Name }} Configuration\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content custom-agent-type-section\" [style.display]=\"'block'\">\n @if (loadingStates.customSection) {\n <mj-loading text=\"Loading {{ agentType.Name }} configuration...\" size=\"medium\"></mj-loading>\n }\n <ng-container #customSectionContainer></ng-container>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Requests & History -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"history\" [expanded]=\"GetSectionExpanded('history', false)\" [disabled]=\"loadingStates.executionHistory\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-history\"></i> Execution History\n @if (loadingStates.executionHistory) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (executionHistoryCount > 0) {\n <span> ({{ executionHistoryCount }})@if(executionHistoryCount < totalExecutionHistoryCount){ of {{ totalExecutionHistoryCount }} }</span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content execution-history-panel\">\n @if (executionHistoryCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-history\"></i>\n <h4>No Execution History</h4>\n <p>This agent hasn't been executed yet. Use the Test Agent button to run the agent and see execution history here.</p>\n </div>\n } @else {\n <!-- Search Bar -->\n <div class=\"execution-search-bar\">\n <kendo-textbox\n [(ngModel)]=\"executionSearchText\"\n (ngModelChange)=\"onExecutionSearchChange()\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder=\"Search by Run ID...\"\n [clearButton]=\"true\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fa-solid fa-search\"></i>\n </ng-template>\n </kendo-textbox>\n </div>\n <div class=\"execution-history-list\">\n @if (filteredExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h4>No Matching Results</h4>\n <p>No execution history found matching \"{{ executionSearchText }}\"</p>\n </div>\n }\n @for (execution of filteredExecutions; track execution.ID) {\n <div class=\"execution-card\" [class.expanded]=\"expandedExecutions[execution.ID]\">\n <div class=\"execution-header\" (click)=\"toggleExecutionExpanded(execution.ID)\">\n <div class=\"execution-left-section\">\n <div class=\"execution-status\">\n <div class=\"status-indicator\" [style.background-color]=\"getExecutionStatusColor(execution.Status)\">\n <i [class]=\"getExecutionStatusIcon(execution.Status)\"></i>\n </div>\n <div class=\"execution-info\">\n <div class=\"execution-title\">\n <i class=\"fa-solid fa-chevron-right expand-icon\" [class.expanded]=\"expandedExecutions[execution.ID]\"></i>\n Execution #{{ execution.ID.substring(0, 8) }}\n </div>\n <div class=\"execution-date\">{{ execution.__mj_CreatedAt | date:'MMM d, h:mm a' }}</div>\n </div>\n </div>\n <div class=\"execution-metrics\">\n @if (execution.Configuration) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-cog\"></i>\n <span class=\"metric-label\">Config:</span>\n <span class=\"metric-value\">{{ execution.Configuration }}</span>\n </div>\n }\n @if (execution.CompletedAt) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-stopwatch\"></i>\n <span class=\"metric-label\">Duration:</span>\n <span class=\"metric-value\">{{ formatExecutionTimeFromDates(execution.StartedAt, execution.CompletedAt) }}</span>\n </div>\n } @else if (execution.Status === 'Running') {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span class=\"metric-label\">Running:</span>\n <!-- <span class=\"metric-value\">{{ execution.StartedAt | runningTime }}</span> -->\n </div>\n }\n @if (execution.TotalTokensUsedRollup || execution.TotalTokensUsed) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-microchip\"></i>\n <span class=\"metric-label\">Tokens:</span>\n <span class=\"metric-value\">{{ formatTokenCount(execution.TotalTokensUsedRollup || execution.TotalTokensUsed) }}</span>\n </div>\n }\n @if (execution.TotalCostRollup || execution.TotalCost) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n <span class=\"metric-label\">Cost:</span>\n <span class=\"metric-value\">${{ formatCost(execution.TotalCostRollup || execution.TotalCost) }}</span>\n </div>\n }\n </div>\n </div>\n <div class=\"execution-actions\">\n <button class=\"action-btn\" (click)=\"openExecutionRecord(execution.ID); $event.stopPropagation()\" title=\"View details\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n </button>\n </div>\n </div>\n @if (expandedExecutions[execution.ID]) {\n <div class=\"execution-expanded-content\">\n <!-- Detailed Metrics -->\n <div class=\"detailed-metrics\">\n <div class=\"metrics-grid\">\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-clock\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Started</span>\n <span class=\"metric-data\">{{ execution.StartedAt | date:'medium' }}</span>\n </div>\n </div>\n @if (execution.CompletedAt) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Completed</span>\n <span class=\"metric-data\">{{ execution.CompletedAt | date:'medium' }}</span>\n </div>\n </div>\n }\n @if (execution.TotalTokensUsed) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-microchip\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Direct Tokens</span>\n <span class=\"metric-data\">{{ formatTokenCount(execution.TotalTokensUsed) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalTokensUsedRollup && execution.TotalTokensUsedRollup !== execution.TotalTokensUsed) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Total + Sub-agents</span>\n <span class=\"metric-data\">{{ formatTokenCount(execution.TotalTokensUsedRollup) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalCost) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Direct Cost</span>\n <span class=\"metric-data\">${{ formatCost(execution.TotalCost) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalCostRollup && execution.TotalCostRollup !== execution.TotalCost) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-calculator\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Total + Sub-agents</span>\n <span class=\"metric-data\">${{ formatCost(execution.TotalCostRollup) }}</span>\n </div>\n </div>\n }\n @if (execution.ConversationID) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-comments\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Conversation</span>\n <span class=\"metric-data\">{{ execution.ConversationID.substring(0, 8) }}...</span>\n </div>\n </div>\n }\n </div>\n </div>\n @if (execution.Result) {\n <div class=\"result-section\">\n <h5><i class=\"fa-solid fa-file-text\"></i> Result</h5>\n <mj-code-editor\n [value]=\"getExecutionResultPreview(execution, false)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"max-height: 200px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n @if (execution.ErrorMessage) {\n <div class=\"error-section\">\n <h5><i class=\"fa-solid fa-exclamation-triangle\"></i> Error</h5>\n <div class=\"error-content\">{{ execution.ErrorMessage }}</div>\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Pagination Controls -->\n @if (totalPages > 1) {\n <div class=\"pagination-controls\">\n <button kendoButton\n fillMode=\"outline\"\n size=\"medium\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"!hasPreviousPage || isLoadingPage\"\n class=\"page-nav-btn\">\n <i class=\"fa-solid fa-chevron-left\"></i>\n Previous\n </button>\n <div class=\"page-info\">\n @if (isLoadingPage) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Loading...\n } @else {\n Page {{ executionHistoryCurrentPage }} of {{ totalPages }}\n <span class=\"record-count\">({{ totalExecutionHistoryCount }} total)</span>\n }\n </div>\n <button kendoButton\n fillMode=\"outline\"\n size=\"medium\"\n (click)=\"goToNextPage()\"\n [disabled]=\"!hasNextPage || isLoadingPage\"\n class=\"page-nav-btn\">\n Next\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n <button kendoButton\n fillMode=\"flat\"\n size=\"small\"\n (click)=\"navigateToEntity('MJ: AI Agent Runs', '')\"\n class=\"view-all-btn\">\n <i class=\"fa-solid fa-external-link\"></i>\n View All in Grid\n </button>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Actions -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"actions\" [expanded]=\"GetSectionExpanded('actions', false)\" [disabled]=\"loadingStates.actions\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-bolt\"></i> Actions\n @if (loadingStates.actions) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (actionCount > 0) {\n <span> ({{ actionCount }})</span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n @if (loadingStates.actions) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <p>Loading actions...</p>\n </div>\n } @else {\n <div class=\"section-header\">\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateActions) {\n <button kendoButton themeColor=\"primary\" size=\"small\" (click)=\"configureActions()\">\n <i class=\"fa-solid fa-plus\"></i> Add Action\n </button>\n }\n </div>\n </div>\n @if (actionCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-bolt\"></i>\n <h4>No Actions Configured</h4>\n <p>Add actions to enable this agent to perform specific tasks and operations.</p>\n @if (EditMode && UserCanCreateActions) {\n <button kendoButton themeColor=\"primary\" (click)=\"configureActions()\">\n <i class=\"fa-solid fa-plus\"></i> Configure First Action\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (action of agentActions; track action.ID) {\n <div class=\"entity-item action-item\" (click)=\"navigateToEntity('MJ: Actions', action.ID)\">\n <div class=\"item-icon\">\n <i [class]=\"getActionIcon(action)\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ action.Name || 'Untitled Action' }}</div>\n @if (action.Description) {\n <div class=\"item-preview\">{{ action.Description }}</div>\n }\n <div class=\"item-meta\">\n @if (action.Type) {\n <span class=\"meta-tag\">{{ action.Type }}</span>\n }\n <span class=\"status-tag\" [class.active]=\"action.Status==='Active'\" [class.inactive]=\"action.Status!=='Active'\">\n <i class=\"fa-solid\" [class.fa-check-circle]=\"action.Status==='Active'\" [class.fa-times-circle]=\"action.Status!=='Active'\"></i>\n {{ action.Status }}\n </span>\n </div>\n </div>\n <div class=\"item-actions\">\n @if (EditMode && UserCanDeleteActions) {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"error\"\n size=\"small\"\n (click)=\"removeAction(action, $event)\"\n title=\"Remove action\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (actionCount > agentActions.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Actions', '')\">\n <span>View all {{ actionCount }} actions...</span>\n </div>\n }\n </div>\n }\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Sub-Agents (Unified View with Filter) -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"subagents\" [expanded]=\"GetSectionExpanded('subagents', false)\" [disabled]=\"loadingStates.subAgents\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-sitemap\"></i> Sub-Agents\n @if (loadingStates.subAgents) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (totalSubAgentCount > 0) {\n <span> ({{ totalSubAgentCount }})</span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <!-- Filter Controls -->\n <div class=\"section-header sub-agent-filter-header\">\n <div class=\"filter-controls\">\n <kendo-buttongroup selection=\"single\">\n <button kendoButton\n [toggleable]=\"true\"\n [selected]=\"subAgentFilter === 'all'\"\n (click)=\"setSubAgentFilter('all')\"\n size=\"small\">\n <i class=\"fa-solid fa-layer-group\"></i>\n All ({{ totalSubAgentCount }})\n </button>\n <button kendoButton\n [toggleable]=\"true\"\n [selected]=\"subAgentFilter === 'child'\"\n (click)=\"setSubAgentFilter('child')\"\n size=\"small\">\n <i class=\"fa-solid fa-link\"></i>\n Child ({{ childSubAgentCount }})\n </button>\n <button kendoButton\n [toggleable]=\"true\"\n [selected]=\"subAgentFilter === 'related'\"\n (click)=\"setSubAgentFilter('related')\"\n size=\"small\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n Related ({{ relatedSubAgentCount }})\n </button>\n </kendo-buttongroup>\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateSubAgents) {\n <button kendoButton\n themeColor=\"primary\"\n size=\"small\"\n (click)=\"createChildSubAgent()\"\n title=\"Create a new child sub-agent that shares this agent's payload\">\n <i class=\"fa-solid fa-link\"></i>\n Create Child\n </button>\n <button kendoButton\n themeColor=\"secondary\"\n size=\"small\"\n (click)=\"linkRelatedSubAgent()\"\n title=\"Link an existing agent as a related sub-agent with payload mapping\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n Link Related\n </button>\n }\n </div>\n </div>\n <!-- Empty State -->\n @if (totalSubAgentCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <h4>No Sub-Agents</h4>\n <p>Sub-agents help build complex workflows through hierarchical orchestration.</p>\n <div class=\"empty-state-info\">\n <div class=\"info-card\">\n <i class=\"fa-solid fa-link\" style=\"color: var(--mj-status-info);\"></i>\n <strong>Child Sub-Agents</strong>\n <p>Share payload structure, dedicated to parent</p>\n </div>\n <div class=\"info-card\">\n <i class=\"fa-solid fa-share-nodes\" style=\"color: var(--mj-brand-primary);\"></i>\n <strong>Related Sub-Agents</strong>\n <p>Reusable agents with payload mapping</p>\n </div>\n </div>\n </div>\n } @else {\n <!-- Unified Sub-Agent List -->\n <div class=\"entity-list\">\n @for (item of filteredSubAgents; track item.agent.ID) {\n <div class=\"entity-item sub-agent-item\"\n [class.child-sub-agent]=\"item.type === 'child'\"\n [class.related-sub-agent]=\"item.type === 'related'\"\n (click)=\"navigateToEntity('MJ: AI Agents', item.agent.ID)\">\n <!-- Type Badge -->\n <div class=\"sub-agent-type-badge\"\n [style.background-color]=\"getSubAgentBadgeColor(item)\">\n <i [class]=\"getSubAgentBadgeIcon(item)\"></i>\n {{ getSubAgentBadgeText(item) }}\n </div>\n <!-- Agent Icon -->\n <div class=\"item-icon\">\n @if (hasSubAgentLogoURL(item.agent)) {\n <img [src]=\"item.agent.LogoURL\"\n [alt]=\"item.agent.Name + ' logo'\"\n class=\"sub-agent-logo\">\n } @else {\n <i [class]=\"getSubAgentIcon(item.agent)\"></i>\n }\n </div>\n <!-- Agent Content -->\n <div class=\"item-content\">\n <div class=\"item-title\">{{ item.agent.Name || 'Untitled Sub-Agent' }}</div>\n @if (item.agent.Description) {\n <div class=\"item-preview\">{{ item.agent.Description }}</div>\n }\n <div class=\"item-meta\">\n <!-- Payload Info -->\n <span class=\"meta-tag payload-info\">\n <i class=\"fa-solid fa-database\"></i>\n {{ getSubAgentPayloadInfo(item) }}\n </span>\n <!-- Status -->\n @if (item.agent.Status) {\n <span class=\"status-tag\"\n [style.background-color]=\"getStatusBadgeColor()\">\n {{ item.agent.Status }}\n </span>\n }\n <!-- Agent Type -->\n @if (item.agent.Type) {\n <span class=\"meta-tag\">{{ item.agent.Type }}</span>\n }\n </div>\n </div>\n <!-- Actions -->\n <div class=\"item-actions\">\n @if (EditMode) {\n <!-- Output Mapping Config (Related only) -->\n @if (item.type === 'related') {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"primary\"\n size=\"small\"\n (click)=\"configureOutputMapping(item, $event)\"\n title=\"Configure output mapping\">\n <i class=\"fa-solid fa-exchange-alt\"></i>\n </button>\n }\n <!-- Advanced Settings (Child only) -->\n @if (item.type === 'child' && UserCanCreateSubAgents) {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"primary\"\n size=\"small\"\n (click)=\"openSubAgentAdvancedSettings(item.agent, $event)\"\n title=\"Advanced settings\">\n <i class=\"fa-solid fa-cog\"></i>\n </button>\n }\n <!-- Remove/Unlink -->\n @if (UserCanDeleteSubAgents) {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"error\"\n size=\"small\"\n (click)=\"item.type === 'child' ? removeChildSubAgent(item, $event) : unlinkRelatedSubAgent(item, $event)\"\n [title]=\"item.type === 'child' ? 'Delete child sub-agent' : 'Unlink related sub-agent'\">\n <i [class]=\"item.type === 'child' ? 'fa-solid fa-trash' : 'fa-solid fa-unlink'\"></i>\n </button>\n }\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Prompts (With Model Selection) -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"prompts\" [expanded]=\"GetSectionExpanded('prompts', false)\" [disabled]=\"loadingStates.prompts\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-comments\"></i> Prompts\n @if (loadingStates.prompts) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (promptCount > 0) {\n <span> ({{ promptCount }})</span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"prompt-controls\">\n <!-- Model Selection Mode Control -->\n <div class=\"model-selection-mode\">\n <label class=\"model-selection-label\">\n <i class=\"fa-solid fa-sliders\"></i>\n Model Selection:\n </label>\n @if (EditMode) {\n <kendo-dropdownlist\n [(ngModel)]=\"record.ModelSelectionMode\"\n name=\"modelSelectionMode\"\n [data]=\"modelSelectionModes\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n class=\"model-selection-dropdown\">\n </kendo-dropdownlist>\n } @else {\n <span class=\"model-selection-value\">{{ record.ModelSelectionMode || 'Agent Type' }}</span>\n }\n </div>\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateNewPrompts) {\n <button kendoButton themeColor=\"primary\" size=\"small\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i> Add Prompt\n </button>\n }\n </div>\n </div>\n @if (promptCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-comments\"></i>\n <h4>No Prompts Configured</h4>\n <p>Add prompts to define how this agent processes requests and generates responses.</p>\n @if (EditMode && UserCanCreateNewPrompts) {\n <button kendoButton themeColor=\"primary\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i> Create First Prompt\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (prompt of agentPrompts; track prompt.ID) {\n <div class=\"entity-item prompt-item\" (click)=\"navigateToEntity('MJ: AI Prompts', prompt.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ prompt.Name }}</div>\n @if (prompt.TemplateText) {\n <div class=\"item-preview\">{{ prompt.TemplateText.substring(0, 120) }}{{ prompt.TemplateText.length > 120 ? '...' : '' }}</div>\n }\n <div class=\"item-meta\">\n @if (prompt.PromptRole) {\n <span class=\"meta-tag\">{{ prompt.PromptRole }}</span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n @if (EditMode && UserCanCreatePrompts) {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"primary\"\n size=\"small\"\n (click)=\"openPromptAdvancedSettings(prompt, $event)\"\n title=\"Advanced settings\">\n <i class=\"fa-solid fa-cog\"></i>\n </button>\n }\n @if (EditMode && UserCanDeletePrompts) {\n <button kendoButton\n fillMode=\"flat\"\n themeColor=\"error\"\n size=\"small\"\n (click)=\"removePrompt(prompt, $event)\"\n title=\"Remove prompt\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (promptCount > agentPrompts.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Prompts', '')\">\n <span>View all {{ promptCount }} prompts...</span>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Learning & Analytics -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"learning\" [expanded]=\"GetSectionExpanded('learning', false)\" [disabled]=\"loadingStates.learningCycles\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-brain\"></i> Learning Cycles{{ learningCycleCount > 0 ? ' (' + learningCycleCount + ')' : '' }}\n @if (loadingStates.learningCycles) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Monitor and manage learning cycles, training sessions, and performance analytics.\n </div>\n </div>\n @if (learningCycleCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-brain\"></i>\n <h4>No Learning Cycles</h4>\n <p>Learning cycles will appear here as the agent processes requests and improves over time.</p>\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (cycle of learningCycles; track cycle.ID) {\n <div class=\"entity-item learning-item\" (click)=\"navigateToEntity('MJ: AI Agent Learning Cycles', cycle.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-brain\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">Learning Cycle {{ cycle.ID.substring(0, 8) }}</div>\n <div class=\"item-meta\">\n @if (cycle.StartedAt) {\n <span class=\"meta-tag\">\n <i class=\"fa-solid fa-calendar\"></i>\n {{ cycle.StartedAt | date:'short' }}\n </span>\n }\n @if (cycle.Status) {\n <span class=\"status-tag\">{{ cycle.Status }}</span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (learningCycleCount > learningCycles.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Learning Cycles', '')\">\n <span>View all {{ learningCycleCount }} cycles...</span>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Notes & Documentation -->\n @if (record.ID) {\n <kendo-panelbar-item id=\"notes\" [expanded]=\"GetSectionExpanded('notes', false)\" [disabled]=\"loadingStates.notes\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-sticky-note\"></i> Notes{{ noteCount > 0 ? ' (' + noteCount + ')' : '' }}\n @if (loadingStates.notes) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n }\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Manage notes, documentation, and annotations for this agent.\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateNotes) {\n <button kendoButton themeColor=\"primary\" size=\"small\" (click)=\"addNote()\">\n <i class=\"fa-solid fa-plus\"></i> Add Note\n </button>\n }\n </div>\n </div>\n @if (noteCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sticky-note\"></i>\n <h4>No Notes</h4>\n <p>Add notes to document important information, observations, or instructions for this agent.</p>\n @if (EditMode && UserCanCreateNotes) {\n <button kendoButton themeColor=\"primary\" (click)=\"addNote()\">\n <i class=\"fa-solid fa-plus\"></i> Create First Note\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (note of agentNotes; track note.ID) {\n <div class=\"entity-item note-item\" (click)=\"navigateToEntity('MJ: AI Agent Notes', note.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-sticky-note\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ note.Type || 'Note' }}</div>\n @if (note.Note) {\n <div class=\"item-preview\">{{ note.Note.substring(0, 100) }}{{ note.Note.length > 100 ? '...' : '' }}</div>\n }\n <div class=\"item-meta\">\n @if (note.__mj_CreatedAt) {\n <span class=\"meta-tag\">\n <i class=\"fa-solid fa-calendar\"></i>\n {{ note.__mj_CreatedAt | date:'short' }}\n </span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (noteCount > agentNotes.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Notes', '')\">\n <span>View all {{ noteCount }} notes...</span>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n <!-- Payload -->\n <kendo-panelbar-item id=\"payload\" [expanded]=\"GetSectionExpanded('payload', false)\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-exchange-alt\"></i> Payload Management\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Configure how this agent handles data payloads, path routing, and validation between parent and child agents.\n </div>\n </div>\n <!-- Payload Scope Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-target\"></i>\n Payload Scope\n </h3>\n <div class=\"payload-field-container\">\n <div class=\"payload-field-info\">\n <label class=\"payload-field-label\">Payload Scope Path</label>\n <p class=\"payload-field-description\">\n Specify a path within the parent payload that this sub-agent should operate on.\n Leave empty to receive the entire payload.\n </p>\n </div>\n <div class=\"payload-field-input\">\n <mj-form-field\n FieldName=\"PayloadScope\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n <div class=\"payload-field-example\">\n <i class=\"fa-solid fa-lightbulb\"></i>\n <span>Example: <code>/customer/profile</code> or <code>/analysis/results</code></span>\n </div>\n </div>\n </div>\n </div>\n <!-- Path Configuration Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-route\"></i>\n Path Configuration\n </h3>\n <div class=\"payload-paths-grid\">\n <!-- Downstream Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon downstream\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Downstream Paths</h4>\n <p>JSON array of paths to pass to sub-agents</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadDownstreamPaths || '[&quot;*&quot;]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadDownstreamPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Use <code>[\"*\"]</code> to pass entire payload or specify paths like <code>[\"user.id\", \"order.*\"]</code>\n </div>\n </div>\n </div>\n <!-- Upstream Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon upstream\">\n <i class=\"fa-solid fa-arrow-up\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Upstream Paths</h4>\n <p>JSON array of paths sub-agents can write back</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadUpstreamPaths || '[&quot;*&quot;]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadUpstreamPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Use <code>[\"*\"]</code> to allow all writes or limit to specific paths\n </div>\n </div>\n </div>\n <!-- Self Read Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon self-read\">\n <i class=\"fa-solid fa-eye\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Self Read Paths</h4>\n <p>JSON array of paths this agent can read</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadSelfReadPaths || '[]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadSelfReadPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Paths this agent's prompts can read from the payload\n </div>\n </div>\n </div>\n <!-- Self Write Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon self-write\">\n <i class=\"fa-solid fa-pen\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Self Write Paths</h4>\n <p>JSON array of paths this agent can write to</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadSelfWritePaths || '[]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadSelfWritePaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Paths this agent's prompts can write back to the payload\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Validation Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-shield-check\"></i>\n Final Payload Validation\n </h3>\n <div class=\"payload-validation-container\">\n <div class=\"payload-validation-settings\">\n <div class=\"validation-field-group\">\n <label class=\"validation-field-label\">Validation Mode</label>\n <p class=\"validation-field-description\">How to handle validation failures</p>\n <mj-form-field\n FieldName=\"FinalPayloadValidationMode\"\n Type=\"dropdownlist\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n <div class=\"validation-field-group\">\n <label class=\"validation-field-label\">Max Retries</label>\n <p class=\"validation-field-description\">Maximum validation retry attempts</p>\n <mj-form-field\n FieldName=\"FinalPayloadValidationMaxRetries\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"payload-validation-schema\">\n <label class=\"validation-schema-label\">\n <i class=\"fa-solid fa-code\"></i>\n Validation Schema\n </label>\n <p class=\"validation-schema-description\">\n JSON schema or validation rules for the final payload structure\n </p>\n <div class=\"validation-schema-editor\">\n <mj-code-editor\n [value]=\"record.FinalPayloadValidation || '{}'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 200px; width: 100%;\"\n (valueChange)=\"updatePayloadField('FinalPayloadValidation', $event)\">\n </mj-code-editor>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n <!-- Execution Guardrails (New Separate Panel) -->\n <kendo-panelbar-item id=\"guardrails\" [expanded]=\"GetSectionExpanded('guardrails', false)\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-shield-halved\"></i> Execution Guardrails\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Set limits to prevent runaway agent executions and control resource usage.\n </div>\n </div>\n <div class=\"form-fields-grid\">\n <mj-form-field\n FieldName=\"MaxCostPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Cost ($)\"\n Description=\"Maximum cost per run\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxTokensPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Tokens\"\n Description=\"Maximum tokens per run\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxIterationsPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Iterations\"\n Description=\"Maximum prompt iterations\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxTimePerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Time (seconds)\"\n Description=\"Maximum execution time\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n <!-- Configuration (Settings Panel) -->\n <kendo-panelbar-item id=\"config\" [expanded]=\"GetSectionExpanded('config', false)\">\n <ng-template kendoPanelBarItemTitle>\n <i class=\"fa-solid fa-cogs\"></i> Configuration\n </ng-template>\n <ng-template kendoPanelBarContent>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Configure agent behavior, execution settings, and advanced features.\n </div>\n </div>\n <!-- Identity & Behavior Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-id-card\"></i>\n Identity & Behavior\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-toggle-on\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Agent Status</h4>\n <p>Current availability and operational status</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <kendo-dropdownlist\n [(ngModel)]=\"record.Status\"\n [data]=\"statusOptions\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n name=\"agentStatus\"\n class=\"config-field-input\">\n </kendo-dropdownlist>\n } @else {\n <span class=\"config-field-display\">{{ record.Status || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-sitemap\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Agent Type</h4>\n <p>Category and system-level behavior</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <kendo-dropdownlist\n [(ngModel)]=\"record.TypeID\"\n [data]=\"agentTypes\"\n textField=\"Name\"\n valueField=\"ID\"\n [valuePrimitive]=\"true\"\n name=\"agentTypeID\"\n class=\"config-field-input\">\n </kendo-dropdownlist>\n } @else {\n <span class=\"config-field-display\">{{ record.Type || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Category</h4>\n <p>Organizational category for this agent</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <mj-tree-dropdown\n [BranchConfig]=\"CategoryBranchConfig\"\n [Value]=\"SelectedCategoryKey\"\n SelectionMode=\"single\"\n SelectableTypes=\"branch\"\n Placeholder=\"Select a category...\"\n [Clearable]=\"true\"\n [EnableSearch]=\"true\"\n (ValueChange)=\"OnCategoryChange($event)\">\n </mj-tree-dropdown>\n } @else {\n <span class=\"config-field-display\">{{ record.Category || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-bolt\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Expose as Action</h4>\n <p>Make available as an action for other agents</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExposeAsAction\"\n Type=\"checkbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card full-width\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-align-left\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Description</h4>\n <p>Detailed agent description and purpose</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"Description\"\n Type=\"textarea\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </div>\n <!-- Execution Settings Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-play\"></i>\n Execution Settings\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Execution Mode</h4>\n <p>How sub-agents are executed</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExecutionMode\"\n Type=\"dropdownlist\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-sort-numeric-down\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Execution Order</h4>\n <p>Order when run with siblings</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExecutionOrder\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-tachometer-alt\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Default Effort Level</h4>\n <p>Default effort level for all prompts (1-100)</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"DefaultPromptEffortLevel\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Higher values request more thorough reasoning (1=minimal, 100=maximum)\n </div>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-code\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Driver Class</h4>\n <p>Custom implementation class</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"DriverClass\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </div>\n <!-- Visual Identity Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-palette\"></i>\n Visual Identity\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-icons\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Icon Class</h4>\n <p>Font Awesome icon class</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"IconClass\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Example: <code>fa-solid fa-robot</code>\n </div>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-image\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Logo URL</h4>\n <p>URL for agent logo image</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"LogoURL\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Takes precedence over Icon Class\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Context Compression Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-compress\"></i>\n Context Compression\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card full-width\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-toggle-on\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Enable Context Compression</h4>\n <p>Automatically compress conversation context when message threshold is reached</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"EnableContextCompression\"\n Type=\"checkbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n (valueChange)=\"onContextCompressionToggle($event)\">\n </mj-form-field>\n </div>\n </div>\n @if (record.EnableContextCompression) {\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-hashtag\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Message Threshold</h4>\n <p>Messages before compression triggers</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ContextCompressionMessageThreshold\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-save\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Messages to Keep</h4>\n <p>Recent messages to retain uncompressed</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ContextCompressionMessageRetentionCount\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Compression Prompt</h4>\n <p>Prompt used for summarization</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <div class=\"prompt-selector-container\">\n <div class=\"prompt-display\">\n @if (selectedContextCompressionPrompt) {\n <span class=\"prompt-name\">{{ selectedContextCompressionPrompt.Name }}</span>\n } @else {\n <span class=\"no-prompt\">No prompt selected</span>\n }\n </div>\n <div class=\"prompt-actions\">\n <button type=\"button\"\n kendoButton\n fillMode=\"outline\"\n size=\"small\"\n (click)=\"openContextCompressionPromptSelector()\"\n class=\"prompt-select-btn\">\n <i class=\"fa-solid fa-search\"></i>\n {{ selectedContextCompressionPrompt ? 'Change' : 'Select' }} Prompt\n </button>\n @if (selectedContextCompressionPrompt) {\n <button type=\"button\"\n kendoButton\n fillMode=\"flat\"\n size=\"small\"\n (click)=\"clearContextCompressionPrompt()\"\n class=\"prompt-clear-btn\"\n title=\"Clear selection\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n } @else {\n <span class=\"config-field-display\">{{ selectedContextCompressionPrompt?.Name || record.ContextCompressionPrompt || 'Not Set' }}</span>\n }\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n </kendo-panelbar>\n </div>\n </form>\n }\n\n <!-- Permissions Dialog (from @memberjunction/ng-agents) -->\n @if (ShowPermissionsDialog) {\n <mj-agent-permissions-dialog\n [Agent]=\"record\"\n (Closed)=\"onPermissionsDialogClosed()\"\n (PermissionsChanged)=\"refreshRelatedData()\">\n </mj-agent-permissions-dialog>\n }\n</div>", styles: ["/* AI Agent Form - Modern Redesign */\n.record-form-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n\n.record-form {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n/* Agent Header Section - Compact Design */\n.agent-header {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);\n transition: padding 0.2s ease;\n}\n\n.agent-header-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n/* Header collapse toggle button */\n.agent-header-toggle {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n padding: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-toggle i {\n font-size: 10px;\n}\n\n.agent-overview {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.agent-icon-wrapper {\n width: 36px;\n height: 36px;\n background: var(--mj-brand-primary);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n flex-shrink: 0;\n transition: all 0.2s ease;\n}\n\n.agent-icon-wrapper i {\n color: var(--mj-text-inverse);\n font-size: 18px;\n}\n\n/* \u2500\u2500 Minimized Floating Header Bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.agent-header-mini {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 12px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n height: 32px;\n}\n\n.agent-header-mini-expand {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-expand:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-expand i {\n font-size: 9px;\n}\n\n.agent-header-mini-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 300px;\n}\n\n.agent-header-mini-status {\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--mj-text-inverse);\n flex-shrink: 0;\n}\n\n.agent-header-mini-spacer {\n flex: 1;\n}\n\n.agent-header-mini-btn {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.agent-header-mini-btn--primary {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 40%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface));\n}\n\n.agent-header-mini-btn--primary:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 50%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.agent-header-mini-btn i {\n font-size: 11px;\n}\n\n.agent-icon-wrapper img.agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n}\n\n.agent-info {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.2;\n}\n\n.agent-name-input {\n font-size: 16px !important;\n font-weight: 500 !important;\n height: 30px !important;\n width: 100% !important;\n max-width: 350px !important;\n}\n\n.agent-meta {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge {\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.status-badge.active {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge.pending {\n background: var(--mj-status-warning);\n color: var(--mj-text-primary);\n}\n\n.status-badge.disabled {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.execution-mode,\n.parent-agent {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 10px;\n border-radius: 12px;\n}\n\n.execution-mode i,\n.parent-agent i {\n font-size: 12px;\n opacity: 0.8;\n}\n\n.parent-agent.clickable {\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.parent-agent.clickable:hover {\n background: var(--mj-border-default);\n color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.parent-agent.clickable:active {\n transform: translateY(0);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n/* Prompt Controls Section */\n.prompt-controls {\n flex: 1;\n margin-right: 16px;\n}\n\n.agent-meta-info {\n display: flex;\n gap: 24px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-value {\n font-size: 14px;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.agent-description {\n margin-top: 16px;\n color: var(--mj-text-muted);\n line-height: 1.6;\n font-size: 15px;\n}\n\n.agent-description-input {\n width: 100%;\n max-width: 600px;\n min-height: 80px;\n resize: vertical;\n}\n\n/* Action Buttons Section */\n.agent-actions {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: center;\n}\n\n.action-buttons-row {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.action-button {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n border-radius: 8px;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);\n}\n\n.action-button:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);\n}\n\n.action-button.primary {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.action-button.primary:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.action-button.secondary {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.action-button.secondary:hover {\n background: var(--mj-text-secondary);\n}\n\n.action-warnings {\n margin-top: 8px;\n font-size: 13px;\n color: var(--mj-status-error);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Panel-Based Form Content */\n.form-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n background: var(--mj-bg-page);\n padding: 8px 12px;\n}\n\n/* Kendo PanelBar Styling */\n::ng-deep .k-panelbar {\n border: none;\n background: transparent;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item {\n border: none;\n border-radius: 10px;\n margin-bottom: 8px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header {\n background: var(--mj-bg-surface);\n border: none;\n padding: 10px 16px;\n border-radius: 12px 12px 0 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 14px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header:hover {\n background: var(--mj-bg-surface-card);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 12px 12px 0 0;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle {\n position: absolute;\n right: 24px;\n color: inherit;\n font-size: 14px;\n transition: transform 0.2s ease;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header .k-panelbar-toggle {\n transform: rotate(180deg);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle::before {\n content: '\\f107';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-content {\n padding: 0;\n border: none;\n background: var(--mj-bg-surface);\n border-radius: 0 0 12px 12px;\n}\n\n::ng-deep .k-panelbar .k-header .k-panelbar-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n margin-right: 8px;\n}\n\n::ng-deep .k-panelbar .k-panelbar-expanded .k-header .k-panelbar-icon {\n color: var(--mj-text-inverse);\n}\n\n/* Panel Content */\n.panel-content {\n padding: 16px;\n background: var(--mj-bg-surface);\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.section-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-bottom: 16px;\n}\n\n.header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n\n.tab-section {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid var(--mj-border-default);\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-bg-surface-sunken);\n}\n\n.section-title {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0;\n color: var(--mj-text-primary);\n font-size: 18px;\n font-weight: 600;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n font-size: 20px;\n}\n\n.section-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-top: 8px;\n}\n\n/* Form Fields Grid */\n.form-fields-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.form-field-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.form-field-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Sub-grids styling (legacy) */\n.sub-grid-container {\n height: 500px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n display: none; /* Hidden as we now use cards */\n}\n\n/* Empty States */\n/* Loading State */\n.loading-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i {\n font-size: 36px;\n color: var(--mj-brand-primary);\n margin-bottom: 16px;\n display: block;\n}\n\n.loading-state p {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-disabled);\n}\n\n.empty-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.empty-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state h4 {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n}\n\n.empty-state p {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto;\n}\n\n/* Loading State */\n.loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.loading-spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.spinner-icon {\n width: 48px;\n height: 48px;\n border: 4px solid var(--mj-bg-surface-sunken);\n border-top: 4px solid var(--mj-brand-primary);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* Quick Actions */\n.quick-actions {\n display: flex;\n gap: 16px;\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.quick-action-card {\n flex: 1;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: center;\n}\n\n.quick-action-card:hover {\n background: var(--mj-bg-surface);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-2px);\n}\n\n.quick-action-icon {\n font-size: 32px;\n color: var(--mj-brand-primary);\n margin-bottom: 8px;\n}\n\n.quick-action-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n}\n\n.quick-action-description {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* Header Actions */\n.header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n/* Entity List Interface */\n.entity-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 16px;\n}\n\n.entity-item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.entity-item:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-1px);\n}\n\n.item-icon {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.prompt-item .item-icon {\n background: var(--mj-status-success);\n}\n\n.action-item .item-icon {\n background: var(--mj-status-warning);\n}\n\n.sub-agent-item .item-icon {\n background: var(--mj-brand-primary);\n}\n\n.model-item .item-icon {\n background: var(--mj-brand-primary);\n}\n\n.learning-item .item-icon {\n background: var(--mj-status-error);\n}\n\n.note-item .item-icon {\n background: var(--mj-status-warning);\n}\n\n.item-icon i {\n color: var(--mj-text-muted);\n font-size: 18px;\n}\n\n.prompt-item .item-icon i,\n.action-item .item-icon i,\n.sub-agent-item .item-icon i,\n.model-item .item-icon i,\n.learning-item .item-icon i,\n.note-item .item-icon i {\n color: var(--mj-text-inverse);\n}\n\n.item-icon img.sub-agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.item-content {\n flex: 1;\n min-width: 0;\n}\n\n.item-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n}\n\n.item-preview {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n margin: 4px 0 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.item-meta {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.meta-tag,\n.priority-tag,\n.status-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n font-weight: 500;\n}\n\n.meta-tag {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.priority-tag {\n color: var(--mj-text-inverse);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.status-tag {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.status-tag.active {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n}\n\n.status-tag.inactive {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.item-actions {\n opacity: 0;\n transition: opacity 0.2s ease;\n color: var(--mj-text-muted);\n font-size: 16px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.entity-item:hover .item-actions {\n opacity: 1;\n}\n\n.entity-item:hover .item-actions > i {\n color: var(--mj-brand-primary);\n}\n\n.view-more-item {\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 10px;\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-more-item:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n/* Pagination Controls */\n.pagination-controls {\n display: flex;\n gap: 12px;\n align-items: center;\n justify-content: center;\n padding: 16px;\n margin-top: 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.page-nav-btn {\n min-width: 120px;\n font-weight: 500;\n}\n\n.page-nav-btn i {\n font-size: 12px;\n}\n\n.page-nav-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.page-info {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 0 16px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n min-width: 200px;\n text-align: center;\n}\n\n.page-info .record-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: normal;\n}\n\n.page-info .fa-spinner {\n margin-right: 8px;\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn {\n color: var(--mj-text-muted);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.view-all-btn:hover {\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn i {\n margin-right: 4px;\n}\n\n/* Payload Section Styles */\n.payload-config-section,\n.payload-paths-section,\n.payload-validation-section {\n margin-bottom: 32px;\n}\n\n.subsection-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 16px 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.subsection-title i {\n color: var(--mj-brand-primary);\n}\n\n.subsection-divider {\n margin-top: 32px;\n margin-bottom: 16px;\n padding-top: 24px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.payload-config-grid {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.payload-field-group {\n margin-bottom: 20px;\n}\n\n.payload-field-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n}\n\n.payload-field-label i {\n color: var(--mj-text-muted);\n font-size: 16px;\n}\n\n.field-description {\n font-size: 12px;\n font-weight: normal;\n color: var(--mj-text-muted);\n margin-left: auto;\n}\n\n/* Code editor styling */\n.payload-field-group mj-code-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.payload-field-group mj-code-editor:hover {\n border-color: var(--mj-brand-primary);\n}\n\n/* Payload textarea styling */\n.payload-field-group mj-form-field ::ng-deep textarea {\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 13px;\n line-height: 1.5;\n min-height: 120px;\n resize: vertical;\n}\n\n/* Execution History Panel */\n.execution-history-panel {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Timeline List for Execution History */\n.timeline-list {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 16px;\n}\n\n.timeline-item {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.timeline-item:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.timeline-marker {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker i {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.timeline-content {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n}\n\n.timeline-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 6px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.timeline-meta {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.timeline-preview {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Modern Card-Based Interface (Legacy - Keep for backward compatibility) */\n.cards-container {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.entity-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 20px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n overflow: hidden;\n}\n\n.entity-card:hover {\n transform: translateY(-4px);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);\n border-color: var(--mj-brand-primary);\n}\n\n.entity-card::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: var(--mj-brand-primary);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.entity-card:hover::before {\n opacity: 1;\n}\n\n.card-header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.card-icon {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sub-agent-card .card-icon {\n background: var(--mj-brand-primary);\n}\n\n.prompt-card .card-icon {\n background: var(--mj-status-success);\n}\n\n.action-card .card-icon {\n background: var(--mj-status-warning);\n}\n\n.card-icon i {\n font-size: 18px;\n color: var(--mj-text-muted);\n}\n\n.sub-agent-card .card-icon i,\n.prompt-card .card-icon i,\n.action-card .card-icon i {\n color: var(--mj-text-inverse);\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n word-wrap: break-word;\n}\n\n.card-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-meta {\n display: flex;\n gap: 16px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n padding: 4px 8px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n}\n\n.meta-item i {\n font-size: 11px;\n opacity: 0.8;\n}\n\n.meta-item.active {\n color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n}\n\n.meta-item.inactive {\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.card-actions {\n opacity: 0;\n transition: opacity 0.3s ease;\n color: var(--mj-text-muted);\n}\n\n.entity-card:hover .card-actions {\n opacity: 1;\n color: var(--mj-brand-primary);\n}\n\n/* Badge Styles */\n.priority-badge {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.type-badge {\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n/* View All Card */\n.view-all-card {\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.view-all-card:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n transform: translateY(-2px);\n}\n\n.view-all-content {\n text-align: center;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-all-content i {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n/* Timeline Interface for History */\n.timeline-container {\n position: relative;\n margin-top: 16px;\n}\n\n.timeline-item {\n display: flex;\n flex-direction: column;\n margin-bottom: 24px;\n transition: all 0.3s ease;\n border-radius: 12px;\n padding: 16px;\n background: transparent;\n border: 1px solid transparent;\n}\n\n.timeline-item:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-default);\n}\n\n.timeline-item.expanded {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.timeline-item.view-all {\n cursor: pointer;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n}\n\n.timeline-item.view-all:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n}\n\n.timeline-item > div:first-child {\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-marker {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker::after {\n content: '';\n position: absolute;\n top: 50px;\n left: 50%;\n transform: translateX(-50%);\n width: 2px;\n height: 24px;\n background: var(--mj-border-default);\n}\n\n.timeline-item:last-child .timeline-marker::after {\n display: none;\n}\n\n.timeline-marker i {\n color: var(--mj-text-inverse);\n font-size: 16px;\n}\n\n.timeline-marker.view-all-marker {\n background: var(--mj-text-muted);\n}\n\n.timeline-content {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-header {\n flex: 1;\n cursor: pointer;\n}\n\n.timeline-header > div:first-child {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 8px;\n gap: 16px;\n}\n\n.expand-icon {\n transition: transform 0.3s ease;\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n.expand-icon.expanded {\n transform: rotate(90deg);\n}\n\n.timeline-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n line-height: 1.3;\n}\n\n.timeline-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n margin-left: auto;\n}\n\n.timeline-preview {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-top: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n}\n\n.timeline-status {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.execution-time {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n}\n\n.timeline-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n}\n\n.timeline-error {\n color: var(--mj-status-error);\n font-size: 13px;\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n padding: 8px 12px;\n border-radius: 6px;\n margin-top: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.timeline-error i {\n flex-shrink: 0;\n}\n\n/* Expanded Content Styles */\n.timeline-expanded-content {\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.result-section,\n.error-section {\n margin-bottom: 20px;\n}\n\n.result-section h5,\n.error-section h5 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section h5 {\n color: var(--mj-status-error);\n}\n\n.result-content,\n.error-content {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-text-secondary);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* Code editor styling within result section */\n.result-section mj-code-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-content {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.execution-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.detail-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n min-width: 80px;\n}\n\n.detail-value {\n font-size: 14px;\n color: var(--mj-text-secondary);\n word-break: break-all;\n}\n\n.timeline-actions {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n}\n\n.btn-primary {\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n transition: all 0.2s ease;\n}\n\n.btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.btn-primary i {\n font-size: 12px;\n}\n\n/* Enhanced Empty States */\n.empty-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n border: 2px dashed var(--mj-border-default);\n margin-top: 16px;\n}\n\n.empty-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state h4 {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n font-size: 18px;\n}\n\n.empty-state p {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto 20px auto;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n /* Header Responsiveness */\n .agent-header {\n padding: 16px;\n }\n\n .agent-header-content {\n flex-direction: column;\n gap: 16px;\n }\n\n .agent-overview {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .agent-meta {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .agent-actions {\n width: 100%;\n align-self: stretch;\n }\n\n .action-button {\n flex: 1;\n justify-content: center;\n }\n\n /* Panel Responsiveness */\n .form-content {\n padding: 12px;\n }\n\n ::ng-deep .k-panelbar > .k-panelbar-item > .k-header {\n padding: 16px 20px;\n font-size: 15px;\n }\n\n .panel-content {\n padding: 20px 16px;\n }\n\n .section-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .header-actions {\n flex-wrap: wrap;\n align-self: stretch;\n }\n\n /* Entity List Responsiveness */\n .entity-item {\n padding: 12px;\n gap: 12px;\n }\n\n .item-icon {\n width: 36px;\n height: 36px;\n }\n\n .item-icon i {\n font-size: 16px;\n }\n\n .item-title {\n font-size: 15px;\n }\n\n .item-preview {\n font-size: 13px;\n }\n\n .item-meta {\n gap: 8px;\n }\n\n /* Timeline Responsiveness */\n .timeline-item {\n padding: 12px;\n gap: 12px;\n }\n\n .timeline-marker {\n width: 28px;\n height: 28px;\n }\n\n .timeline-marker i {\n font-size: 12px;\n }\n\n .timeline-title {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .timeline-date {\n align-self: flex-start;\n }\n\n /* Form Field Responsiveness */\n .form-fields-grid {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n /* Legacy card support */\n .cards-container {\n grid-template-columns: 1fr;\n }\n}\n\n/* Execution History Panel - Max Height and Scroll */\n.execution-history-panel {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Custom scrollbar for execution history */\n.execution-history-panel::-webkit-scrollbar {\n width: 8px;\n}\n\n.execution-history-panel::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.execution-history-panel::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.execution-history-panel::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Execution History Search Bar */\n.execution-search-bar {\n margin-bottom: 16px;\n padding: 0 4px;\n}\n\n.execution-search-bar kendo-textbox {\n width: 100%;\n}\n\n.execution-search-bar .fa-search {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n font-size: 14px;\n}\n\n/* New Execution History Card Design */\n.execution-history-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 8px;\n}\n\n.execution-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n\n.execution-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n.execution-card.expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 6px 20px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.execution-header {\n padding: 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n\n.execution-left-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.execution-status {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.status-indicator {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.status-indicator i {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.execution-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.execution-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.execution-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.execution-metrics {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n flex-wrap: wrap;\n margin-left: 44px; /* Align with execution title text, accounting for status indicator + gap */\n}\n\n.metric-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-card);\n padding: 6px 10px;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.metric-item i {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n.metric-label {\n font-weight: 500;\n}\n\n.metric-value {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.execution-actions {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.action-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n}\n\n.action-btn:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n transform: translateY(-1px);\n}\n\n.action-btn i {\n font-size: 12px;\n}\n\n.expand-icon {\n transition: transform 0.2s ease;\n color: var(--mj-text-muted);\n margin-right: 4px;\n}\n\n.expand-icon.expanded {\n transform: rotate(90deg);\n}\n\n/* Execution Expanded Content */\n.execution-expanded-content {\n padding: 16px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n background: var(--mj-bg-surface-card);\n animation: slideDown 0.2s ease;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n }\n to {\n opacity: 1;\n max-height: 500px;\n padding-top: 16px;\n padding-bottom: 16px;\n }\n}\n\n.detailed-metrics {\n margin-bottom: 20px;\n}\n\n.metrics-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.metric-detail {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n}\n\n.metric-detail i {\n color: var(--mj-brand-primary);\n font-size: 16px;\n width: 20px;\n text-align: center;\n}\n\n.metric-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1;\n}\n\n.metric-title {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.metric-data {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.result-section {\n margin-top: 16px;\n}\n\n.result-section h5 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section h5 {\n color: var(--mj-status-error);\n}\n\n.error-content {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-status-error);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 150px;\n overflow-y: auto;\n}\n\n/* Responsive adjustments for execution history */\n@media (max-width: 768px) {\n .execution-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .execution-left-section {\n width: 100%;\n }\n\n .execution-metrics {\n margin-left: 0; /* Remove left margin on mobile */\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n }\n\n .metric-item {\n font-size: 11px;\n padding: 4px 8px;\n }\n\n .metrics-grid {\n grid-template-columns: 1fr;\n }\n}\n\n/* === PAYLOAD MANAGEMENT SECTION === */\n.payload-section {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.payload-section-title {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.payload-section-title i {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n/* Payload Scope Styling */\n.payload-field-container {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-field-info {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.payload-field-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.5;\n margin: 0;\n}\n\n.payload-field-input {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-example {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 0.5rem 0.75rem;\n border-radius: 6px;\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.payload-field-example i {\n color: var(--mj-status-warning);\n font-size: 0.9rem;\n}\n\n.payload-field-example code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.2rem 0.4rem;\n border-radius: 4px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8rem;\n color: var(--mj-text-secondary);\n}\n\n/* Path Configuration Grid */\n.payload-paths-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n}\n\n.payload-path-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.payload-path-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.payload-path-header {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.payload-path-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.payload-path-icon.downstream {\n background: var(--mj-status-success);\n}\n\n.payload-path-icon.upstream {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-read {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-write {\n background: var(--mj-status-warning);\n}\n\n.payload-path-icon i {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.payload-path-info h4 {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.payload-path-info p {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-content {\n padding: 1rem;\n}\n\n.json-editor-container {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 0.75rem;\n}\n\n.json-editor-container:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.payload-path-hint {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-hint i {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.payload-path-hint code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n/* Payload Validation Container */\n.payload-validation-container {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-validation-settings {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n.validation-field-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.validation-field-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.validation-field-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0 0 0.5rem 0;\n}\n\n.payload-validation-schema {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.validation-schema-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.validation-schema-label i {\n color: var(--mj-brand-primary);\n}\n\n.validation-schema-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0;\n}\n\n.validation-schema-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n}\n\n.validation-schema-editor:hover {\n border-color: var(--mj-brand-primary);\n}\n\n/* === CONFIGURATION SECTION === */\n.config-section {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.config-section-title {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.config-section-title i {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n width: 100%;\n}\n\n.config-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.config-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.config-card.full-width {\n grid-column: 1 / -1;\n}\n\n.config-card-header {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.config-card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background: var(--mj-brand-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.config-card-icon i {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.config-card-info h4 {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.config-card-info p {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.config-card-content {\n padding: 1rem;\n}\n\n/* Custom field styling for config cards */\n.config-field-input {\n width: 100%;\n min-width: 250px;\n}\n\n/* Fix numeric textbox cutoff issue */\n.config-card-content ::ng-deep kendo-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content ::ng-deep kendo-numerictextbox .k-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content ::ng-deep kendo-numerictextbox .k-input {\n width: 100% !important;\n min-width: 200px !important;\n}\n\n.config-card-content ::ng-deep mj-form-field {\n width: 100% !important;\n}\n\n.config-card-content ::ng-deep mj-form-field kendo-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content ::ng-deep mj-form-field kendo-numerictextbox .k-numerictextbox {\n width: 100% !important;\n}\n\n.config-card-content ::ng-deep mj-form-field kendo-numerictextbox .k-input {\n width: 100% !important;\n min-width: 200px !important;\n}\n\n.config-field-display {\n color: var(--mj-text-secondary);\n font-size: 14px;\n font-weight: 500;\n padding: 8px 0;\n display: block;\n min-height: 20px;\n}\n\n/* Prompt selector styling */\n.prompt-selector-container {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n}\n\n.prompt-display {\n flex: 1;\n min-width: 0;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.prompt-name {\n color: var(--mj-text-secondary);\n font-weight: 500;\n font-size: 14px;\n}\n\n.no-prompt {\n color: var(--mj-text-muted);\n font-style: italic;\n font-size: 14px;\n}\n\n.prompt-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.prompt-select-btn {\n white-space: nowrap;\n}\n\n.prompt-clear-btn {\n min-width: 32px;\n}\n\n.config-card-hint {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-top: 0.5rem;\n}\n\n.config-card-hint i {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.config-card-hint code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n/* === RESPONSIVE DESIGN === */\n@media (max-width: 768px) {\n .payload-field-container,\n .payload-validation-container {\n grid-template-columns: 1fr;\n gap: 1rem;\n }\n\n .payload-paths-grid {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .config-grid {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .payload-section-title,\n .config-section-title {\n padding: 0.75rem 1rem;\n font-size: 1rem;\n }\n\n .payload-path-header,\n .config-card-header {\n padding: 0.75rem;\n }\n\n .payload-path-content,\n .config-card-content {\n padding: 0.75rem;\n }\n\n .payload-field-container,\n .payload-validation-container {\n padding: 1rem;\n }\n}\n\n/* ===================================\n Unified Sub-Agents with Filtering\n =================================== */\n\n/* Filter Controls */\n.sub-agent-filter-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.filter-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.filter-controls kendo-buttongroup {\n flex: 0 0 auto;\n}\n\n/* Sub-Agent Type Badge */\n.sub-agent-type-badge {\n position: absolute;\n top: 8px;\n right: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 1;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n/* Sub-Agent Item Styling */\n.sub-agent-item {\n position: relative;\n padding-left: 8px;\n transition: all 0.2s ease;\n}\n\n.sub-agent-item.child-sub-agent {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item.related-sub-agent {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item:hover {\n transform: translateX(4px);\n}\n\n/* Payload Info Tag */\n.payload-info {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n font-family: 'Roboto Mono', monospace;\n font-size: 11px;\n}\n\n/* Empty State Info Cards */\n.empty-state-info {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin: 24px 0;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n}\n\n.info-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 16px;\n text-align: left;\n}\n\n.info-card i {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n.info-card strong {\n display: block;\n margin-bottom: 4px;\n font-size: 14px;\n}\n\n.info-card p {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state-actions {\n display: flex;\n gap: 12px;\n justify-content: center;\n margin-top: 16px;\n}\n\n/* Responsive adjustments for sub-agent filters */\n@media (max-width: 768px) {\n .sub-agent-filter-header {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls,\n .header-actions {\n width: 100%;\n justify-content: center;\n }\n\n .empty-state-info {\n grid-template-columns: 1fr;\n }\n}\n"] }]
4511
+ args: [{ standalone: false, selector: 'mj-ai-agent-form', template: "<div class=\"record-form-container\">\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\">\n <mj-form-toolbar [Form]=\"this\"></mj-form-toolbar>\n <!-- Agent Header \u2014 expanded view -->\n @if (!HeaderCollapsed) {\n <div class=\"agent-header\">\n <div class=\"agent-header-content\">\n <button class=\"agent-header-toggle\" (click)=\"ToggleHeaderCollapsed()\"\n title=\"Minimize header\">\n <i class=\"fa-solid fa-chevron-up\"></i>\n </button>\n <div class=\"agent-overview\">\n <div class=\"agent-icon-wrapper\">\n @if (hasLogoURL()) {\n <img [src]=\"record.LogoURL\" [alt]=\"record.Name + ' logo'\" class=\"agent-logo\">\n } @else {\n <i [class]=\"getAgentIcon()\"></i>\n }\n </div>\n <div class=\"agent-info\">\n @if (EditMode) {\n <input type=\"text\" class=\"mj-input agent-name-input\"\n [(ngModel)]=\"record.Name\"\n name=\"agentName\"\n placeholder=\"Enter agent name...\">\n } @else {\n <h1 class=\"agent-name\">{{ record.Name || 'Untitled AI Agent' }}</h1>\n }\n <div class=\"agent-meta\">\n @if (record.Status) {\n <span class=\"status-badge\" [style.background-color]=\"getStatusBadgeColor()\">\n <i class=\"fa-solid fa-circle\"></i>\n {{ record.Status }}\n </span>\n }\n @if (record.Type) {\n <span class=\"execution-mode\">\n Agent Type: {{ record.Type }}\n </span>\n }\n @if (record.Parent) {\n <span class=\"parent-agent clickable\"\n (click)=\"navigateToParentAgent()\"\n title=\"Open parent agent: {{ record.Parent }}\">\n <i class=\"fa-solid fa-sitemap\"></i>\n Child of {{ record.Parent }}\n <i class=\"fa-solid fa-external-link\" style=\"margin-left: 4px; font-size: 10px;\"></i>\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"agent-actions\">\n @if (record.ID) {\n <button mjButton variant=\"primary\" size=\"lg\"\n (click)=\"openTestHarness()\"\n [disabled]=\"record.Status !== 'Active'\"\n title=\"Run this AI agent\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n <button mjButton size=\"lg\"\n (click)=\"openPermissionsDialog()\"\n [title]=\"IsOpenToEveryone ? 'Open to everyone \u2014 click to manage permissions' : 'Restricted \u2014 click to manage permissions'\">\n <i class=\"fa-solid\" [class.fa-lock-open]=\"IsOpenToEveryone\" [class.fa-lock]=\"!IsOpenToEveryone\"\n [style.color]=\"IsOpenToEveryone ? 'var(--mj-status-success)' : null\"></i>\n {{ IsOpenToEveryone ? 'Open' : 'Restricted' }}\n </button>\n }\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"refreshRelatedData()\" title=\"Refresh all data\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n <!-- Agent Header \u2014 minimized floating bar -->\n @if (HeaderCollapsed) {\n <div class=\"agent-header-mini\">\n <button class=\"agent-header-mini-expand\" (click)=\"ToggleHeaderCollapsed()\"\n title=\"Expand header\">\n <i class=\"fa-solid fa-chevron-down\"></i>\n </button>\n <span class=\"agent-header-mini-name\">{{ record.Name || 'Untitled AI Agent' }}</span>\n @if (record.Status) {\n <span class=\"agent-header-mini-status\" [style.background-color]=\"getStatusBadgeColor()\">\n {{ record.Status }}\n </span>\n }\n <div class=\"agent-header-mini-spacer\"></div>\n @if (record.ID) {\n <button class=\"agent-header-mini-btn agent-header-mini-btn--primary\"\n (click)=\"openTestHarness()\"\n [disabled]=\"record.Status !== 'Active'\"\n title=\"Run agent\">\n <i class=\"fa-solid fa-play\"></i>\n </button>\n <button class=\"agent-header-mini-btn\"\n (click)=\"openPermissionsDialog()\"\n [title]=\"IsOpenToEveryone ? 'Open to everyone' : 'Restricted'\">\n <i class=\"fa-solid\" [class.fa-lock-open]=\"IsOpenToEveryone\" [class.fa-lock]=\"!IsOpenToEveryone\"\n [style.color]=\"IsOpenToEveryone ? 'var(--mj-status-success)' : null\"></i>\n </button>\n }\n <button class=\"agent-header-mini-btn\"\n (click)=\"refreshRelatedData()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n }\n <!-- Single Pane Layout with Expander Panels -->\n <div class=\"form-content\">\n <!-- Custom Agent Type Section (if defined) -->\n @if (record.ID && agentType && agentType.UIFormSectionKey) {\n <mj-accordion-panel id=\"custom\"\n [Expanded]=\"GetSectionExpanded('custom', agentType.UIFormSectionExpandedByDefault)\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-puzzle-piece\"></i> {{ agentType.Name }} Configuration\n </ng-template>\n <div class=\"panel-content custom-agent-type-section\" [style.display]=\"'block'\">\n @if (loadingStates.customSection) {\n <mj-loading text=\"Loading {{ agentType.Name }} configuration...\" size=\"medium\"></mj-loading>\n }\n <ng-container #customSectionContainer></ng-container>\n </div>\n </mj-accordion-panel>\n }\n <!-- Requests & History -->\n @if (record.ID) {\n <mj-accordion-panel id=\"history\"\n [Expanded]=\"GetSectionExpanded('history', false)\"\n [Disabled]=\"loadingStates.executionHistory\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-history\"></i> Execution History\n @if (loadingStates.executionHistory) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (executionHistoryCount > 0) {\n <span> ({{ executionHistoryCount }}@if (executionHistoryCount < totalExecutionHistoryCount) { of {{ totalExecutionHistoryCount }}})</span>\n }\n </ng-template>\n <div class=\"panel-content execution-history-panel\">\n @if (loadingStates.executionHistory) {\n <mj-loading text=\"Loading execution history...\" size=\"medium\"></mj-loading>\n } @else if (executionHistoryCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-history\"></i>\n <h4>No Execution History</h4>\n <p>This agent hasn't been executed yet. Use the Test Agent button to run the agent and see execution history here.</p>\n </div>\n } @else {\n <!-- Search Bar -->\n <div class=\"execution-search-bar\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search\"></i>\n <input type=\"text\" class=\"mj-input\"\n [(ngModel)]=\"executionSearchText\"\n (ngModelChange)=\"onExecutionSearchChange()\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder=\"Search by Run ID...\">\n </div>\n </div>\n <div class=\"execution-history-list\">\n @if (filteredExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h4>No Matching Results</h4>\n <p>No execution history found matching \"{{ executionSearchText }}\"</p>\n </div>\n }\n @for (execution of filteredExecutions; track execution.ID) {\n <div class=\"execution-card\" [class.expanded]=\"expandedExecutions[execution.ID]\">\n <div class=\"execution-header\" (click)=\"toggleExecutionExpanded(execution.ID)\">\n <div class=\"execution-left-section\">\n <div class=\"execution-status\">\n <div class=\"status-indicator\" [style.background-color]=\"getExecutionStatusColor(execution.Status)\">\n <i [class]=\"getExecutionStatusIcon(execution.Status)\"></i>\n </div>\n <div class=\"execution-info\">\n <div class=\"execution-title\">\n <i class=\"fa-solid fa-chevron-right expand-icon\" [class.expanded]=\"expandedExecutions[execution.ID]\"></i>\n Execution #{{ execution.ID.substring(0, 8) }}\n </div>\n <div class=\"execution-date\">{{ execution.__mj_CreatedAt | date:'MMM d, h:mm a' }}</div>\n </div>\n </div>\n <div class=\"execution-metrics\">\n @if (execution.Configuration) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-cog\"></i>\n <span class=\"metric-label\">Config:</span>\n <span class=\"metric-value\">{{ execution.Configuration }}</span>\n </div>\n }\n @if (execution.CompletedAt) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-stopwatch\"></i>\n <span class=\"metric-label\">Duration:</span>\n <span class=\"metric-value\">{{ formatExecutionTimeFromDates(execution.StartedAt, execution.CompletedAt) }}</span>\n </div>\n } @else if (execution.Status === 'Running') {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span class=\"metric-label\">Running:</span>\n <!-- <span class=\"metric-value\">{{ execution.StartedAt | runningTime }}</span> -->\n </div>\n }\n @if (execution.TotalTokensUsedRollup || execution.TotalTokensUsed) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-microchip\"></i>\n <span class=\"metric-label\">Tokens:</span>\n <span class=\"metric-value\">{{ formatTokenCount(execution.TotalTokensUsedRollup || execution.TotalTokensUsed) }}</span>\n </div>\n }\n @if (execution.TotalCostRollup || execution.TotalCost) {\n <div class=\"metric-item\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n <span class=\"metric-label\">Cost:</span>\n <span class=\"metric-value\">${{ formatCost(execution.TotalCostRollup || execution.TotalCost) }}</span>\n </div>\n }\n </div>\n </div>\n <div class=\"execution-actions\">\n <button class=\"action-btn\" (click)=\"openExecutionRecord(execution.ID); $event.stopPropagation()\" title=\"View details\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n </button>\n </div>\n </div>\n @if (expandedExecutions[execution.ID]) {\n <div class=\"execution-expanded-content\">\n <!-- Detailed Metrics -->\n <div class=\"detailed-metrics\">\n <div class=\"metrics-grid\">\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-clock\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Started</span>\n <span class=\"metric-data\">{{ execution.StartedAt | date:'medium' }}</span>\n </div>\n </div>\n @if (execution.CompletedAt) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Completed</span>\n <span class=\"metric-data\">{{ execution.CompletedAt | date:'medium' }}</span>\n </div>\n </div>\n }\n @if (execution.TotalTokensUsed) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-microchip\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Direct Tokens</span>\n <span class=\"metric-data\">{{ formatTokenCount(execution.TotalTokensUsed) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalTokensUsedRollup && execution.TotalTokensUsedRollup !== execution.TotalTokensUsed) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Total + Sub-agents</span>\n <span class=\"metric-data\">{{ formatTokenCount(execution.TotalTokensUsedRollup) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalCost) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Direct Cost</span>\n <span class=\"metric-data\">${{ formatCost(execution.TotalCost) }}</span>\n </div>\n </div>\n }\n @if (execution.TotalCostRollup && execution.TotalCostRollup !== execution.TotalCost) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-calculator\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Total + Sub-agents</span>\n <span class=\"metric-data\">${{ formatCost(execution.TotalCostRollup) }}</span>\n </div>\n </div>\n }\n @if (execution.ConversationID) {\n <div class=\"metric-detail\">\n <i class=\"fa-solid fa-comments\"></i>\n <div class=\"metric-info\">\n <span class=\"metric-title\">Conversation</span>\n <span class=\"metric-data\">{{ execution.ConversationID.substring(0, 8) }}...</span>\n </div>\n </div>\n }\n </div>\n </div>\n @if (execution.Result) {\n <div class=\"result-section\">\n <h5><i class=\"fa-solid fa-file-text\"></i> Result</h5>\n <mj-code-editor\n [value]=\"getExecutionResultPreview(execution, false)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"max-height: 200px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n @if (execution.ErrorMessage) {\n <div class=\"error-section\">\n <h5><i class=\"fa-solid fa-exclamation-triangle\"></i> Error</h5>\n <div class=\"error-content\">{{ execution.ErrorMessage }}</div>\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Pagination Controls -->\n @if (totalPages > 1) {\n <div class=\"pagination-controls\">\n <button mjButton\n variant=\"outline\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"!hasPreviousPage || isLoadingPage\"\n class=\"page-nav-btn\">\n <i class=\"fa-solid fa-chevron-left\"></i>\n Previous\n </button>\n <div class=\"page-info\">\n @if (isLoadingPage) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Loading...\n } @else {\n Page {{ executionHistoryCurrentPage }} of {{ totalPages }}\n <span class=\"record-count\">({{ totalExecutionHistoryCount }} total)</span>\n }\n </div>\n <button mjButton\n variant=\"outline\"\n (click)=\"goToNextPage()\"\n [disabled]=\"!hasNextPage || isLoadingPage\"\n class=\"page-nav-btn\">\n Next\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"navigateToEntity('MJ: AI Agent Runs', '')\"\n class=\"view-all-btn\">\n <i class=\"fa-solid fa-external-link\"></i>\n View All in Grid\n </button>\n </div>\n }\n </div>\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Actions -->\n @if (record.ID) {\n <mj-accordion-panel id=\"actions\"\n [Expanded]=\"GetSectionExpanded('actions', false)\"\n [Disabled]=\"loadingStates.actions\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-bolt\"></i> Actions\n @if (loadingStates.actions) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (actionCount > 0) {\n <span> ({{ actionCount }})</span>\n }\n </ng-template>\n <div class=\"panel-content\">\n @if (loadingStates.actions) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <p>Loading actions...</p>\n </div>\n } @else {\n <div class=\"section-header\">\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateActions) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"configureActions()\">\n <i class=\"fa-solid fa-plus\"></i> Add Action\n </button>\n }\n </div>\n </div>\n @if (actionCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-bolt\"></i>\n <h4>No Actions Configured</h4>\n <p>Add actions to enable this agent to perform specific tasks and operations.</p>\n @if (EditMode && UserCanCreateActions) {\n <button mjButton variant=\"primary\" (click)=\"configureActions()\">\n <i class=\"fa-solid fa-plus\"></i> Configure First Action\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (action of agentActions; track action.ID) {\n <div class=\"entity-item action-item\" (click)=\"navigateToEntity('MJ: Actions', action.ID)\">\n <div class=\"item-icon\">\n <i [class]=\"getActionIcon(action)\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ action.Name || 'Untitled Action' }}</div>\n @if (action.Description) {\n <div class=\"item-preview\">{{ action.Description }}</div>\n }\n <div class=\"item-meta\">\n @if (action.Type) {\n <span class=\"meta-tag\">{{ action.Type }}</span>\n }\n <span class=\"status-tag\" [class.active]=\"action.Status==='Active'\" [class.inactive]=\"action.Status!=='Active'\">\n <i class=\"fa-solid\" [class.fa-check-circle]=\"action.Status==='Active'\" [class.fa-times-circle]=\"action.Status!=='Active'\"></i>\n {{ action.Status }}\n </span>\n </div>\n </div>\n <div class=\"item-actions\">\n @if (EditMode && UserCanDeleteActions) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"removeAction(action, $event)\"\n title=\"Remove action\"\n class=\"error-action\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (actionCount > agentActions.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Actions', '')\">\n <span>View all {{ actionCount }} actions...</span>\n </div>\n }\n </div>\n }\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Sub-Agents (Unified View with Filter) -->\n @if (record.ID) {\n <mj-accordion-panel id=\"subagents\"\n [Expanded]=\"GetSectionExpanded('subagents', false)\"\n [Disabled]=\"loadingStates.subAgents\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-sitemap\"></i> Sub-Agents\n @if (loadingStates.subAgents) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (totalSubAgentCount > 0) {\n <span> ({{ totalSubAgentCount }})</span>\n }\n </ng-template>\n <div class=\"panel-content\">\n <!-- Filter Controls -->\n <div class=\"section-header sub-agent-filter-header\">\n <div class=\"filter-controls\">\n <div class=\"mj-button-group\">\n <button mjButton\n size=\"sm\"\n [class.active]=\"subAgentFilter === 'all'\"\n (click)=\"setSubAgentFilter('all')\">\n <i class=\"fa-solid fa-layer-group\"></i>\n All ({{ totalSubAgentCount }})\n </button>\n <button mjButton\n size=\"sm\"\n [class.active]=\"subAgentFilter === 'child'\"\n (click)=\"setSubAgentFilter('child')\">\n <i class=\"fa-solid fa-link\"></i>\n Child ({{ childSubAgentCount }})\n </button>\n <button mjButton\n size=\"sm\"\n [class.active]=\"subAgentFilter === 'related'\"\n (click)=\"setSubAgentFilter('related')\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n Related ({{ relatedSubAgentCount }})\n </button>\n </div>\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateSubAgents) {\n <button mjButton\n variant=\"primary\"\n size=\"sm\"\n (click)=\"createChildSubAgent()\"\n title=\"Create a new child sub-agent that shares this agent's payload\">\n <i class=\"fa-solid fa-link\"></i>\n Create Child\n </button>\n <button mjButton\n size=\"sm\"\n (click)=\"linkRelatedSubAgent()\"\n title=\"Link an existing agent as a related sub-agent with payload mapping\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n Link Related\n </button>\n }\n </div>\n </div>\n <!-- Empty State -->\n @if (totalSubAgentCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <h4>No Sub-Agents</h4>\n <p>Sub-agents help build complex workflows through hierarchical orchestration.</p>\n <div class=\"empty-state-info\">\n <div class=\"info-card\">\n <i class=\"fa-solid fa-link\" style=\"color: var(--mj-status-info);\"></i>\n <strong>Child Sub-Agents</strong>\n <p>Share payload structure, dedicated to parent</p>\n </div>\n <div class=\"info-card\">\n <i class=\"fa-solid fa-share-nodes\" style=\"color: var(--mj-brand-primary);\"></i>\n <strong>Related Sub-Agents</strong>\n <p>Reusable agents with payload mapping</p>\n </div>\n </div>\n </div>\n } @else {\n <!-- Unified Sub-Agent List -->\n <div class=\"entity-list\">\n @for (item of filteredSubAgents; track item.agent.ID) {\n <div class=\"entity-item sub-agent-item\"\n [class.child-sub-agent]=\"item.type === 'child'\"\n [class.related-sub-agent]=\"item.type === 'related'\"\n (click)=\"navigateToEntity('MJ: AI Agents', item.agent.ID)\">\n <!-- Type Badge -->\n <div class=\"sub-agent-type-badge\"\n [style.background-color]=\"getSubAgentBadgeColor(item)\">\n <i [class]=\"getSubAgentBadgeIcon(item)\"></i>\n {{ getSubAgentBadgeText(item) }}\n </div>\n <!-- Agent Icon -->\n <div class=\"item-icon\">\n @if (hasSubAgentLogoURL(item.agent)) {\n <img [src]=\"item.agent.LogoURL\"\n [alt]=\"item.agent.Name + ' logo'\"\n class=\"sub-agent-logo\">\n } @else {\n <i [class]=\"getSubAgentIcon(item.agent)\"></i>\n }\n </div>\n <!-- Agent Content -->\n <div class=\"item-content\">\n <div class=\"item-title\">{{ item.agent.Name || 'Untitled Sub-Agent' }}</div>\n @if (item.agent.Description) {\n <div class=\"item-preview\">{{ item.agent.Description }}</div>\n }\n <div class=\"item-meta\">\n <!-- Payload Info -->\n <span class=\"meta-tag payload-info\">\n <i class=\"fa-solid fa-database\"></i>\n {{ getSubAgentPayloadInfo(item) }}\n </span>\n <!-- Status -->\n @if (item.agent.Status) {\n <span class=\"status-tag\"\n [style.background-color]=\"getStatusBadgeColor()\">\n {{ item.agent.Status }}\n </span>\n }\n <!-- Agent Type -->\n @if (item.agent.Type) {\n <span class=\"meta-tag\">{{ item.agent.Type }}</span>\n }\n </div>\n </div>\n <!-- Actions -->\n <div class=\"item-actions\">\n @if (EditMode) {\n <!-- Output Mapping Config (Related only) -->\n @if (item.type === 'related') {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"configureOutputMapping(item, $event)\"\n title=\"Configure output mapping\">\n <i class=\"fa-solid fa-exchange-alt\"></i>\n </button>\n }\n <!-- Advanced Settings (Child only) -->\n @if (item.type === 'child' && UserCanCreateSubAgents) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"openSubAgentAdvancedSettings(item.agent, $event)\"\n title=\"Advanced settings\">\n <i class=\"fa-solid fa-cog\"></i>\n </button>\n }\n <!-- Remove/Unlink -->\n @if (UserCanDeleteSubAgents) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"item.type === 'child' ? removeChildSubAgent(item, $event) : unlinkRelatedSubAgent(item, $event)\"\n [title]=\"item.type === 'child' ? 'Delete child sub-agent' : 'Unlink related sub-agent'\"\n class=\"error-action\">\n <i [class]=\"item.type === 'child' ? 'fa-solid fa-trash' : 'fa-solid fa-unlink'\"></i>\n </button>\n }\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Prompts (With Model Selection) -->\n @if (record.ID) {\n <mj-accordion-panel id=\"prompts\"\n [Expanded]=\"GetSectionExpanded('prompts', false)\"\n [Disabled]=\"loadingStates.prompts\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-comments\"></i> Prompts\n @if (loadingStates.prompts) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (promptCount > 0) {\n <span> ({{ promptCount }})</span>\n }\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"prompt-controls\">\n <!-- Model Selection Mode Control -->\n <div class=\"model-selection-mode\">\n <label class=\"model-selection-label\">\n <i class=\"fa-solid fa-sliders\"></i>\n Model Selection:\n </label>\n @if (EditMode) {\n <mj-dropdown\n [(ngModel)]=\"record.ModelSelectionMode\"\n name=\"modelSelectionMode\"\n [Data]=\"modelSelectionModes\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"model-selection-dropdown\">\n </mj-dropdown>\n } @else {\n <span class=\"model-selection-value\">{{ record.ModelSelectionMode || 'Agent Type' }}</span>\n }\n </div>\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateNewPrompts) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i> Add Prompt\n </button>\n }\n </div>\n </div>\n @if (promptCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-comments\"></i>\n <h4>No Prompts Configured</h4>\n <p>Add prompts to define how this agent processes requests and generates responses.</p>\n @if (EditMode && UserCanCreateNewPrompts) {\n <button mjButton variant=\"primary\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i> Create First Prompt\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (prompt of agentPrompts; track prompt.ID) {\n <div class=\"entity-item prompt-item\" (click)=\"navigateToEntity('MJ: AI Prompts', prompt.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ prompt.Name }}</div>\n @if (prompt.TemplateText) {\n <div class=\"item-preview\">{{ prompt.TemplateText.substring(0, 120) }}{{ prompt.TemplateText.length > 120 ? '...' : '' }}</div>\n }\n <div class=\"item-meta\">\n @if (prompt.PromptRole) {\n <span class=\"meta-tag\">{{ prompt.PromptRole }}</span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n @if (EditMode && UserCanCreatePrompts) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"openPromptAdvancedSettings(prompt, $event)\"\n title=\"Advanced settings\">\n <i class=\"fa-solid fa-cog\"></i>\n </button>\n }\n @if (EditMode && UserCanDeletePrompts) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"removePrompt(prompt, $event)\"\n title=\"Remove prompt\"\n class=\"error-action\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (promptCount > agentPrompts.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Prompts', '')\">\n <span>View all {{ promptCount }} prompts...</span>\n </div>\n }\n </div>\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Learning & Analytics -->\n @if (record.ID) {\n <mj-accordion-panel id=\"learning\"\n [Expanded]=\"GetSectionExpanded('learning', false)\"\n [Disabled]=\"loadingStates.learningCycles\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-brain\"></i> Learning Cycles\n @if (loadingStates.learningCycles) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (learningCycleCount > 0) {\n <span> ({{ learningCycleCount }})</span>\n }\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Monitor and manage learning cycles, training sessions, and performance analytics.\n </div>\n </div>\n @if (learningCycleCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-brain\"></i>\n <h4>No Learning Cycles</h4>\n <p>Learning cycles will appear here as the agent processes requests and improves over time.</p>\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (cycle of learningCycles; track cycle.ID) {\n <div class=\"entity-item learning-item\" (click)=\"navigateToEntity('MJ: AI Agent Learning Cycles', cycle.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-brain\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">Learning Cycle {{ cycle.ID.substring(0, 8) }}</div>\n <div class=\"item-meta\">\n @if (cycle.StartedAt) {\n <span class=\"meta-tag\">\n <i class=\"fa-solid fa-calendar\"></i>\n {{ cycle.StartedAt | date:'short' }}\n </span>\n }\n @if (cycle.Status) {\n <span class=\"status-tag\">{{ cycle.Status }}</span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (learningCycleCount > learningCycles.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Learning Cycles', '')\">\n <span>View all {{ learningCycleCount }} cycles...</span>\n </div>\n }\n </div>\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Notes & Documentation -->\n @if (record.ID) {\n <mj-accordion-panel id=\"notes\"\n [Expanded]=\"GetSectionExpanded('notes', false)\"\n [Disabled]=\"loadingStates.notes\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-sticky-note\"></i> Notes\n @if (loadingStates.notes) {\n <span style=\"margin-left: 8px;\"><i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 12px;\"></i></span>\n } @else if (noteCount > 0) {\n <span> ({{ noteCount }})</span>\n }\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Manage notes, documentation, and annotations for this agent.\n </div>\n <div class=\"header-actions\">\n @if (EditMode && UserCanCreateNotes) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"addNote()\">\n <i class=\"fa-solid fa-plus\"></i> Add Note\n </button>\n }\n </div>\n </div>\n @if (noteCount === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sticky-note\"></i>\n <h4>No Notes</h4>\n <p>Add notes to document important information, observations, or instructions for this agent.</p>\n @if (EditMode && UserCanCreateNotes) {\n <button mjButton variant=\"primary\" (click)=\"addNote()\">\n <i class=\"fa-solid fa-plus\"></i> Create First Note\n </button>\n }\n </div>\n } @else {\n <div class=\"entity-list\">\n @for (note of agentNotes; track note.ID) {\n <div class=\"entity-item note-item\" (click)=\"navigateToEntity('MJ: AI Agent Notes', note.ID)\">\n <div class=\"item-icon\">\n <i class=\"fa-solid fa-sticky-note\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ note.Type || 'Note' }}</div>\n @if (note.Note) {\n <div class=\"item-preview\">{{ note.Note.substring(0, 100) }}{{ note.Note.length > 100 ? '...' : '' }}</div>\n }\n <div class=\"item-meta\">\n @if (note.__mj_CreatedAt) {\n <span class=\"meta-tag\">\n <i class=\"fa-solid fa-calendar\"></i>\n {{ note.__mj_CreatedAt | date:'short' }}\n </span>\n }\n </div>\n </div>\n <div class=\"item-actions\">\n <i class=\"fa-solid fa-external-link\"></i>\n </div>\n </div>\n }\n @if (noteCount > agentNotes.length) {\n <div class=\"view-more-item\" (click)=\"navigateToEntity('MJ: AI Agent Notes', '')\">\n <span>View all {{ noteCount }} notes...</span>\n </div>\n }\n </div>\n }\n </div>\n </mj-accordion-panel>\n }\n <!-- Payload -->\n <mj-accordion-panel id=\"payload\"\n [Expanded]=\"GetSectionExpanded('payload', false)\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-exchange-alt\"></i> Payload Management\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Configure how this agent handles data payloads, path routing, and validation between parent and child agents.\n </div>\n </div>\n <!-- Payload Scope Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-target\"></i>\n Payload Scope\n </h3>\n <div class=\"payload-field-container\">\n <div class=\"payload-field-info\">\n <label class=\"payload-field-label\">Payload Scope Path</label>\n <p class=\"payload-field-description\">\n Specify a path within the parent payload that this sub-agent should operate on.\n Leave empty to receive the entire payload.\n </p>\n </div>\n <div class=\"payload-field-input\">\n <mj-form-field\n FieldName=\"PayloadScope\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n <div class=\"payload-field-example\">\n <i class=\"fa-solid fa-lightbulb\"></i>\n <span>Example: <code>/customer/profile</code> or <code>/analysis/results</code></span>\n </div>\n </div>\n </div>\n </div>\n <!-- Path Configuration Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-route\"></i>\n Path Configuration\n </h3>\n <div class=\"payload-paths-grid\">\n <!-- Downstream Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon downstream\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Downstream Paths</h4>\n <p>JSON array of paths to pass to sub-agents</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadDownstreamPaths || '[&quot;*&quot;]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadDownstreamPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Use <code>[\"*\"]</code> to pass entire payload or specify paths like <code>[\"user.id\", \"order.*\"]</code>\n </div>\n </div>\n </div>\n <!-- Upstream Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon upstream\">\n <i class=\"fa-solid fa-arrow-up\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Upstream Paths</h4>\n <p>JSON array of paths sub-agents can write back</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadUpstreamPaths || '[&quot;*&quot;]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadUpstreamPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Use <code>[\"*\"]</code> to allow all writes or limit to specific paths\n </div>\n </div>\n </div>\n <!-- Self Read Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon self-read\">\n <i class=\"fa-solid fa-eye\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Self Read Paths</h4>\n <p>JSON array of paths this agent can read</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadSelfReadPaths || '[]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadSelfReadPaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Paths this agent's prompts can read from the payload\n </div>\n </div>\n </div>\n <!-- Self Write Paths -->\n <div class=\"payload-path-card\">\n <div class=\"payload-path-header\">\n <div class=\"payload-path-icon self-write\">\n <i class=\"fa-solid fa-pen\"></i>\n </div>\n <div class=\"payload-path-info\">\n <h4>Self Write Paths</h4>\n <p>JSON array of paths this agent can write to</p>\n </div>\n </div>\n <div class=\"payload-path-content\">\n <div class=\"json-editor-container\">\n <mj-code-editor\n [value]=\"record.PayloadSelfWritePaths || '[]'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 100px; width: 100%;\"\n (valueChange)=\"updatePayloadField('PayloadSelfWritePaths', $event)\">\n </mj-code-editor>\n </div>\n <div class=\"payload-path-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Paths this agent's prompts can write back to the payload\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Validation Section -->\n <div class=\"payload-section\">\n <h3 class=\"payload-section-title\">\n <i class=\"fa-solid fa-shield-check\"></i>\n Final Payload Validation\n </h3>\n <div class=\"payload-validation-container\">\n <div class=\"payload-validation-settings\">\n <div class=\"validation-field-group\">\n <label class=\"validation-field-label\">Validation Mode</label>\n <p class=\"validation-field-description\">How to handle validation failures</p>\n <mj-form-field\n FieldName=\"FinalPayloadValidationMode\"\n Type=\"dropdownlist\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n <div class=\"validation-field-group\">\n <label class=\"validation-field-label\">Max Retries</label>\n <p class=\"validation-field-description\">Maximum validation retry attempts</p>\n <mj-form-field\n FieldName=\"FinalPayloadValidationMaxRetries\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"payload-validation-schema\">\n <label class=\"validation-schema-label\">\n <i class=\"fa-solid fa-code\"></i>\n Validation Schema\n </label>\n <p class=\"validation-schema-description\">\n JSON schema or validation rules for the final payload structure\n </p>\n <div class=\"validation-schema-editor\">\n <mj-code-editor\n [value]=\"record.FinalPayloadValidation || '{}'\"\n [readonly]=\"!EditMode\"\n language=\"json\"\n [lineWrapping]=\"true\"\n style=\"height: 200px; width: 100%;\"\n (valueChange)=\"updatePayloadField('FinalPayloadValidation', $event)\">\n </mj-code-editor>\n </div>\n </div>\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n <!-- Execution Guardrails (New Separate Panel) -->\n <mj-accordion-panel id=\"guardrails\"\n [Expanded]=\"GetSectionExpanded('guardrails', false)\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-shield-halved\"></i> Execution Guardrails\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Set limits to prevent runaway agent executions and control resource usage.\n </div>\n </div>\n <div class=\"form-fields-grid\">\n <mj-form-field\n FieldName=\"MaxCostPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Cost ($)\"\n Description=\"Maximum cost per run\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxTokensPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Tokens\"\n Description=\"Maximum tokens per run\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxIterationsPerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Iterations\"\n Description=\"Maximum prompt iterations\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <mj-form-field\n FieldName=\"MaxTimePerRun\"\n Type=\"numerictextbox\"\n Caption=\"Max Time (seconds)\"\n Description=\"Maximum execution time\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n </mj-accordion-panel>\n <!-- Configuration (Settings Panel) -->\n <mj-accordion-panel id=\"config\"\n [Expanded]=\"GetSectionExpanded('config', false)\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-cogs\"></i> Configuration\n </ng-template>\n <div class=\"panel-content\">\n <div class=\"section-header\">\n <div class=\"section-description\">\n Configure agent behavior, execution settings, and advanced features.\n </div>\n </div>\n <!-- Identity & Behavior Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-id-card\"></i>\n Identity & Behavior\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-toggle-on\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Agent Status</h4>\n <p>Current availability and operational status</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <mj-dropdown\n [(ngModel)]=\"record.Status\"\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n name=\"agentStatus\"\n class=\"config-field-input\">\n </mj-dropdown>\n } @else {\n <span class=\"config-field-display\">{{ record.Status || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-sitemap\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Agent Type</h4>\n <p>Category and system-level behavior</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <mj-dropdown\n [(ngModel)]=\"record.TypeID\"\n [Data]=\"agentTypes\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n name=\"agentTypeID\"\n class=\"config-field-input\">\n </mj-dropdown>\n } @else {\n <span class=\"config-field-display\">{{ record.Type || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Category</h4>\n <p>Organizational category for this agent</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <mj-tree-dropdown\n [BranchConfig]=\"CategoryBranchConfig\"\n [Value]=\"SelectedCategoryKey\"\n SelectionMode=\"single\"\n SelectableTypes=\"branch\"\n Placeholder=\"Select a category...\"\n [Clearable]=\"true\"\n [EnableSearch]=\"true\"\n (ValueChange)=\"OnCategoryChange($event)\">\n </mj-tree-dropdown>\n } @else {\n <span class=\"config-field-display\">{{ record.Category || 'Not Set' }}</span>\n }\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-bolt\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Expose as Action</h4>\n <p>Make available as an action for other agents</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExposeAsAction\"\n Type=\"checkbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card full-width\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-align-left\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Description</h4>\n <p>Detailed agent description and purpose</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"Description\"\n Type=\"textarea\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n style=\"width: 100%;\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </div>\n <!-- Execution Settings Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-play\"></i>\n Execution Settings\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Execution Mode</h4>\n <p>How sub-agents are executed</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExecutionMode\"\n Type=\"dropdownlist\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-sort-numeric-down\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Execution Order</h4>\n <p>Order when run with siblings</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ExecutionOrder\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-tachometer-alt\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Default Effort Level</h4>\n <p>Default effort level for all prompts (1-100)</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"DefaultPromptEffortLevel\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Higher values request more thorough reasoning (1=minimal, 100=maximum)\n </div>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-code\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Driver Class</h4>\n <p>Custom implementation class</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"DriverClass\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </div>\n <!-- Visual Identity Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-palette\"></i>\n Visual Identity\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-icons\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Icon Class</h4>\n <p>Font Awesome icon class</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"IconClass\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Example: <code>fa-solid fa-robot</code>\n </div>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-image\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Logo URL</h4>\n <p>URL for agent logo image</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"LogoURL\"\n Type=\"textbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n <div class=\"config-card-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Takes precedence over Icon Class\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Context Compression Section -->\n <div class=\"config-section\">\n <h3 class=\"config-section-title\">\n <i class=\"fa-solid fa-compress\"></i>\n Context Compression\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-card full-width\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-toggle-on\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Enable Context Compression</h4>\n <p>Automatically compress conversation context when message threshold is reached</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"EnableContextCompression\"\n Type=\"checkbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\"\n (valueChange)=\"onContextCompressionToggle($event)\">\n </mj-form-field>\n </div>\n </div>\n @if (record.EnableContextCompression) {\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-hashtag\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Message Threshold</h4>\n <p>Messages before compression triggers</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ContextCompressionMessageThreshold\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-save\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Messages to Keep</h4>\n <p>Recent messages to retain uncompressed</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n <mj-form-field\n FieldName=\"ContextCompressionMessageRetentionCount\"\n Type=\"numerictextbox\"\n Caption=\"\"\n [EditMode]=\"EditMode\"\n [Record]=\"record\">\n </mj-form-field>\n </div>\n </div>\n <div class=\"config-card\">\n <div class=\"config-card-header\">\n <div class=\"config-card-icon\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n </div>\n <div class=\"config-card-info\">\n <h4>Compression Prompt</h4>\n <p>Prompt used for summarization</p>\n </div>\n </div>\n <div class=\"config-card-content\">\n @if (EditMode) {\n <div class=\"prompt-selector-container\">\n <div class=\"prompt-display\">\n @if (selectedContextCompressionPrompt) {\n <span class=\"prompt-name\">{{ selectedContextCompressionPrompt.Name }}</span>\n } @else {\n <span class=\"no-prompt\">No prompt selected</span>\n }\n </div>\n <div class=\"prompt-actions\">\n <button type=\"button\"\n mjButton\n variant=\"outline\"\n size=\"sm\"\n (click)=\"openContextCompressionPromptSelector()\"\n class=\"prompt-select-btn\">\n <i class=\"fa-solid fa-search\"></i>\n {{ selectedContextCompressionPrompt ? 'Change' : 'Select' }} Prompt\n </button>\n @if (selectedContextCompressionPrompt) {\n <button type=\"button\"\n mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"clearContextCompressionPrompt()\"\n class=\"prompt-clear-btn\"\n title=\"Clear selection\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n } @else {\n <span class=\"config-field-display\">{{ selectedContextCompressionPrompt?.Name || record.ContextCompressionPrompt || 'Not Set' }}</span>\n }\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n </div>\n </form>\n }\n\n <!-- Permissions Dialog (from @memberjunction/ng-agents) -->\n @if (ShowPermissionsDialog) {\n <mj-agent-permissions-dialog\n [Agent]=\"record\"\n (Closed)=\"onPermissionsDialogClosed()\"\n (PermissionsChanged)=\"refreshRelatedData()\">\n </mj-agent-permissions-dialog>\n }\n</div>", styles: ["/* AI Agent Form - Modern Redesign */\n.record-form-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n\n.record-form {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n/* Agent Header Section - Compact Design */\n.agent-header {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);\n transition: padding 0.2s ease;\n}\n\n.agent-header-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n/* Header collapse toggle button */\n.agent-header-toggle {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n padding: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-toggle i {\n font-size: 10px;\n}\n\n.agent-overview {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.agent-icon-wrapper {\n width: 36px;\n height: 36px;\n background: var(--mj-brand-primary);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n flex-shrink: 0;\n transition: all 0.2s ease;\n}\n\n.agent-icon-wrapper i {\n color: var(--mj-text-inverse);\n font-size: 18px;\n}\n\n/* \u2500\u2500 Minimized Floating Header Bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.agent-header-mini {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 12px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n height: 32px;\n}\n\n.agent-header-mini-expand {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-disabled);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-expand:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-expand i {\n font-size: 9px;\n}\n\n.agent-header-mini-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 300px;\n}\n\n.agent-header-mini-status {\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n color: var(--mj-text-inverse);\n flex-shrink: 0;\n}\n\n.agent-header-mini-spacer {\n flex: 1;\n}\n\n.agent-header-mini-btn {\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n flex-shrink: 0;\n transition: all 0.15s ease;\n}\n\n.agent-header-mini-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border-color: var(--mj-border-strong);\n}\n\n.agent-header-mini-btn:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.agent-header-mini-btn--primary {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 40%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface));\n}\n\n.agent-header-mini-btn--primary:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 50%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.agent-header-mini-btn i {\n font-size: 11px;\n}\n\n.agent-icon-wrapper img.agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n}\n\n.agent-info {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.2;\n}\n\n.agent-name-input {\n font-size: 16px !important;\n font-weight: 500 !important;\n height: 30px !important;\n width: 100% !important;\n max-width: 350px !important;\n}\n\n.agent-meta {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge {\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.status-badge.active {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge.pending {\n background: var(--mj-status-warning);\n color: var(--mj-text-primary);\n}\n\n.status-badge.disabled {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.execution-mode,\n.parent-agent {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 10px;\n border-radius: 12px;\n}\n\n.execution-mode i,\n.parent-agent i {\n font-size: 12px;\n opacity: 0.8;\n}\n\n.parent-agent.clickable {\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.parent-agent.clickable:hover {\n background: var(--mj-border-default);\n color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.parent-agent.clickable:active {\n transform: translateY(0);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n/* Prompt Controls Section */\n.prompt-controls {\n flex: 1;\n margin-right: 16px;\n}\n\n.agent-meta-info {\n display: flex;\n gap: 24px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.meta-value {\n font-size: 14px;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.agent-description {\n margin-top: 16px;\n color: var(--mj-text-muted);\n line-height: 1.6;\n font-size: 15px;\n}\n\n.agent-description-input {\n width: 100%;\n max-width: 600px;\n min-height: 80px;\n resize: vertical;\n}\n\n/* Action Buttons Section */\n.agent-actions {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: center;\n}\n\n.action-buttons-row {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.action-button {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n border-radius: 8px;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);\n}\n\n.action-button:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);\n}\n\n.action-button.primary {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.action-button.primary:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.action-button.secondary {\n background: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.action-button.secondary:hover {\n background: var(--mj-text-secondary);\n}\n\n.action-warnings {\n margin-top: 8px;\n font-size: 13px;\n color: var(--mj-status-error);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Panel-Based Form Content */\n.form-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n background: var(--mj-bg-page);\n padding: 8px 12px;\n}\n\n/* Kendo PanelBar Styling */\n::ng-deep .k-panelbar {\n border: none;\n background: transparent;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item {\n border: none;\n border-radius: 10px;\n margin-bottom: 8px;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header {\n background: var(--mj-bg-surface);\n border: none;\n padding: 10px 16px;\n border-radius: 12px 12px 0 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 14px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header:hover {\n background: var(--mj-bg-surface-card);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 12px 12px 0 0;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle {\n position: absolute;\n right: 24px;\n color: inherit;\n font-size: 14px;\n transition: transform 0.2s ease;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item.k-panelbar-expanded > .k-header .k-panelbar-toggle {\n transform: rotate(180deg);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-header .k-panelbar-toggle::before {\n content: '\\f107';\n font-family: 'Font Awesome 6 Free';\n font-weight: 900;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-item > .k-content {\n padding: 0;\n border: none;\n background: var(--mj-bg-surface);\n border-radius: 0 0 12px 12px;\n}\n\n::ng-deep .k-panelbar .k-header .k-panelbar-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n margin-right: 8px;\n}\n\n::ng-deep .k-panelbar .k-panelbar-expanded .k-header .k-panelbar-icon {\n color: var(--mj-text-inverse);\n}\n\n/* Panel Content */\n.panel-content {\n padding: 16px;\n background: var(--mj-bg-surface);\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.section-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-bottom: 16px;\n}\n\n.header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n\n.tab-section {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n border: 1px solid var(--mj-border-default);\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-bg-surface-sunken);\n}\n\n.section-title {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0;\n color: var(--mj-text-primary);\n font-size: 18px;\n font-weight: 600;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n font-size: 20px;\n}\n\n.section-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.6;\n margin-top: 8px;\n}\n\n/* Form Fields Grid */\n.form-fields-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 20px;\n margin-top: 20px;\n}\n\n.form-field-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.form-field-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Sub-grids styling (legacy) */\n.sub-grid-container {\n height: 500px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n display: none; /* Hidden as we now use cards */\n}\n\n/* Empty States */\n/* Loading State */\n.loading-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i {\n font-size: 36px;\n color: var(--mj-brand-primary);\n margin-bottom: 16px;\n display: block;\n}\n\n.loading-state p {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-disabled);\n}\n\n.empty-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n}\n\n.empty-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state h4 {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n}\n\n.empty-state p {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto;\n}\n\n/* Loading State */\n.loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.loading-spinner {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.spinner-icon {\n width: 48px;\n height: 48px;\n border: 4px solid var(--mj-bg-surface-sunken);\n border-top: 4px solid var(--mj-brand-primary);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* Quick Actions */\n.quick-actions {\n display: flex;\n gap: 16px;\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.quick-action-card {\n flex: 1;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: center;\n}\n\n.quick-action-card:hover {\n background: var(--mj-bg-surface);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-2px);\n}\n\n.quick-action-icon {\n font-size: 32px;\n color: var(--mj-brand-primary);\n margin-bottom: 8px;\n}\n\n.quick-action-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n}\n\n.quick-action-description {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* Header Actions */\n.header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n/* Entity List Interface */\n.entity-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 16px;\n}\n\n.entity-item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.entity-item:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n transform: translateY(-1px);\n}\n\n.item-icon {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.prompt-item .item-icon {\n background: var(--mj-status-success);\n}\n\n.action-item .item-icon {\n background: var(--mj-status-warning);\n}\n\n.sub-agent-item .item-icon {\n background: var(--mj-brand-primary);\n}\n\n.model-item .item-icon {\n background: var(--mj-brand-primary);\n}\n\n.learning-item .item-icon {\n background: var(--mj-status-error);\n}\n\n.note-item .item-icon {\n background: var(--mj-status-warning);\n}\n\n.item-icon i {\n color: var(--mj-text-muted);\n font-size: 18px;\n}\n\n.prompt-item .item-icon i,\n.action-item .item-icon i,\n.sub-agent-item .item-icon i,\n.model-item .item-icon i,\n.learning-item .item-icon i,\n.note-item .item-icon i {\n color: var(--mj-text-inverse);\n}\n\n.item-icon img.sub-agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.item-content {\n flex: 1;\n min-width: 0;\n}\n\n.item-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n}\n\n.item-preview {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n margin: 4px 0 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.item-meta {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.meta-tag,\n.priority-tag,\n.status-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n font-weight: 500;\n}\n\n.meta-tag {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.priority-tag {\n color: var(--mj-text-inverse);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.status-tag {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.status-tag.active {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n}\n\n.status-tag.inactive {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.item-actions {\n opacity: 0;\n transition: opacity 0.2s ease;\n color: var(--mj-text-muted);\n font-size: 16px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.entity-item:hover .item-actions {\n opacity: 1;\n}\n\n.entity-item:hover .item-actions > i {\n color: var(--mj-brand-primary);\n}\n\n.view-more-item {\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 10px;\n text-align: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-more-item:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n/* Pagination Controls */\n.pagination-controls {\n display: flex;\n gap: 12px;\n align-items: center;\n justify-content: center;\n padding: 16px;\n margin-top: 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.page-nav-btn {\n min-width: 120px;\n font-weight: 500;\n}\n\n.page-nav-btn i {\n font-size: 12px;\n}\n\n.page-nav-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.page-info {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 0 16px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n min-width: 200px;\n text-align: center;\n}\n\n.page-info .record-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: normal;\n}\n\n.page-info .fa-spinner {\n margin-right: 8px;\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn {\n color: var(--mj-text-muted);\n white-space: nowrap;\n margin-left: auto;\n}\n\n.view-all-btn:hover {\n color: var(--mj-brand-primary);\n}\n\n.view-all-btn i {\n margin-right: 4px;\n}\n\n/* Payload Section Styles */\n.payload-config-section,\n.payload-paths-section,\n.payload-validation-section {\n margin-bottom: 32px;\n}\n\n.subsection-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 16px 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.subsection-title i {\n color: var(--mj-brand-primary);\n}\n\n.subsection-divider {\n margin-top: 32px;\n margin-bottom: 16px;\n padding-top: 24px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.payload-config-grid {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.payload-field-group {\n margin-bottom: 20px;\n}\n\n.payload-field-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n}\n\n.payload-field-label i {\n color: var(--mj-text-muted);\n font-size: 16px;\n}\n\n.field-description {\n font-size: 12px;\n font-weight: normal;\n color: var(--mj-text-muted);\n margin-left: auto;\n}\n\n/* Code editor styling */\n.payload-field-group mj-code-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.payload-field-group mj-code-editor:hover {\n border-color: var(--mj-brand-primary);\n}\n\n/* Payload textarea styling */\n.payload-field-group mj-form-field ::ng-deep textarea {\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 13px;\n line-height: 1.5;\n min-height: 120px;\n resize: vertical;\n}\n\n/* Execution History Panel */\n.execution-history-panel {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Timeline List for Execution History */\n.timeline-list {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 16px;\n}\n\n.timeline-item {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.timeline-item:hover {\n background: var(--mj-bg-surface);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n.timeline-marker {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker i {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.timeline-content {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n}\n\n.timeline-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 6px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.timeline-meta {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.timeline-preview {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Modern Card-Based Interface (Legacy - Keep for backward compatibility) */\n.cards-container {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.entity-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 20px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n overflow: hidden;\n}\n\n.entity-card:hover {\n transform: translateY(-4px);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);\n border-color: var(--mj-brand-primary);\n}\n\n.entity-card::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: var(--mj-brand-primary);\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.entity-card:hover::before {\n opacity: 1;\n}\n\n.card-header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.card-icon {\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sub-agent-card .card-icon {\n background: var(--mj-brand-primary);\n}\n\n.prompt-card .card-icon {\n background: var(--mj-status-success);\n}\n\n.action-card .card-icon {\n background: var(--mj-status-warning);\n}\n\n.card-icon i {\n font-size: 18px;\n color: var(--mj-text-muted);\n}\n\n.sub-agent-card .card-icon i,\n.prompt-card .card-icon i,\n.action-card .card-icon i {\n color: var(--mj-text-inverse);\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n line-height: 1.3;\n word-wrap: break-word;\n}\n\n.card-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.card-meta {\n display: flex;\n gap: 16px;\n margin-top: 12px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n padding: 4px 8px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n}\n\n.meta-item i {\n font-size: 11px;\n opacity: 0.8;\n}\n\n.meta-item.active {\n color: var(--mj-status-success);\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n}\n\n.meta-item.inactive {\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.card-actions {\n opacity: 0;\n transition: opacity 0.3s ease;\n color: var(--mj-text-muted);\n}\n\n.entity-card:hover .card-actions {\n opacity: 1;\n color: var(--mj-brand-primary);\n}\n\n/* Badge Styles */\n.priority-badge {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.type-badge {\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n/* View All Card */\n.view-all-card {\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.view-all-card:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n transform: translateY(-2px);\n}\n\n.view-all-content {\n text-align: center;\n color: var(--mj-text-muted);\n font-weight: 500;\n}\n\n.view-all-content i {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n/* Timeline Interface for History */\n.timeline-container {\n position: relative;\n margin-top: 16px;\n}\n\n.timeline-item {\n display: flex;\n flex-direction: column;\n margin-bottom: 24px;\n transition: all 0.3s ease;\n border-radius: 12px;\n padding: 16px;\n background: transparent;\n border: 1px solid transparent;\n}\n\n.timeline-item:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-default);\n}\n\n.timeline-item.expanded {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.timeline-item.view-all {\n cursor: pointer;\n background: var(--mj-bg-surface-card);\n border: 2px dashed var(--mj-border-default);\n}\n\n.timeline-item.view-all:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-brand-primary);\n}\n\n.timeline-item > div:first-child {\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-marker {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.timeline-marker::after {\n content: '';\n position: absolute;\n top: 50px;\n left: 50%;\n transform: translateX(-50%);\n width: 2px;\n height: 24px;\n background: var(--mj-border-default);\n}\n\n.timeline-item:last-child .timeline-marker::after {\n display: none;\n}\n\n.timeline-marker i {\n color: var(--mj-text-inverse);\n font-size: 16px;\n}\n\n.timeline-marker.view-all-marker {\n background: var(--mj-text-muted);\n}\n\n.timeline-content {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: flex-start;\n}\n\n.timeline-header {\n flex: 1;\n cursor: pointer;\n}\n\n.timeline-header > div:first-child {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 8px;\n gap: 16px;\n}\n\n.expand-icon {\n transition: transform 0.3s ease;\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n.expand-icon.expanded {\n transform: rotate(90deg);\n}\n\n.timeline-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n line-height: 1.3;\n}\n\n.timeline-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n margin-left: auto;\n}\n\n.timeline-preview {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-top: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n}\n\n.timeline-status {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.execution-time {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 4px 8px;\n border-radius: 6px;\n}\n\n.timeline-description {\n color: var(--mj-text-muted);\n font-size: 14px;\n line-height: 1.5;\n margin: 8px 0;\n}\n\n.timeline-error {\n color: var(--mj-status-error);\n font-size: 13px;\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n padding: 8px 12px;\n border-radius: 6px;\n margin-top: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.timeline-error i {\n flex-shrink: 0;\n}\n\n/* Expanded Content Styles */\n.timeline-expanded-content {\n margin-top: 20px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.result-section,\n.error-section {\n margin-bottom: 20px;\n}\n\n.result-section h5,\n.error-section h5 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section h5 {\n color: var(--mj-status-error);\n}\n\n.result-content,\n.error-content {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-text-secondary);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* Code editor styling within result section */\n.result-section mj-code-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-content {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n}\n\n.execution-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.detail-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n min-width: 80px;\n}\n\n.detail-value {\n font-size: 14px;\n color: var(--mj-text-secondary);\n word-break: break-all;\n}\n\n.timeline-actions {\n display: flex;\n gap: 12px;\n justify-content: flex-end;\n}\n\n.btn-primary {\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n transition: all 0.2s ease;\n}\n\n.btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.btn-primary i {\n font-size: 12px;\n}\n\n/* Enhanced Empty States */\n.empty-state {\n text-align: center;\n padding: 60px 20px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n border: 2px dashed var(--mj-border-default);\n margin-top: 16px;\n}\n\n.empty-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n margin-bottom: 16px;\n}\n\n.empty-state h4 {\n color: var(--mj-text-secondary);\n font-weight: 600;\n margin-bottom: 8px;\n font-size: 18px;\n}\n\n.empty-state p {\n font-size: 15px;\n line-height: 1.6;\n max-width: 400px;\n margin: 0 auto 20px auto;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n /* Header Responsiveness */\n .agent-header {\n padding: 16px;\n }\n\n .agent-header-content {\n flex-direction: column;\n gap: 16px;\n }\n\n .agent-overview {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .agent-meta {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .agent-actions {\n width: 100%;\n align-self: stretch;\n }\n\n .action-button {\n flex: 1;\n justify-content: center;\n }\n\n /* Panel Responsiveness */\n .form-content {\n padding: 12px;\n }\n\n ::ng-deep .k-panelbar > .k-panelbar-item > .k-header {\n padding: 16px 20px;\n font-size: 15px;\n }\n\n .panel-content {\n padding: 20px 16px;\n }\n\n .section-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .header-actions {\n flex-wrap: wrap;\n align-self: stretch;\n }\n\n /* Entity List Responsiveness */\n .entity-item {\n padding: 12px;\n gap: 12px;\n }\n\n .item-icon {\n width: 36px;\n height: 36px;\n }\n\n .item-icon i {\n font-size: 16px;\n }\n\n .item-title {\n font-size: 15px;\n }\n\n .item-preview {\n font-size: 13px;\n }\n\n .item-meta {\n gap: 8px;\n }\n\n /* Timeline Responsiveness */\n .timeline-item {\n padding: 12px;\n gap: 12px;\n }\n\n .timeline-marker {\n width: 28px;\n height: 28px;\n }\n\n .timeline-marker i {\n font-size: 12px;\n }\n\n .timeline-title {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .timeline-date {\n align-self: flex-start;\n }\n\n /* Form Field Responsiveness */\n .form-fields-grid {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n /* Legacy card support */\n .cards-container {\n grid-template-columns: 1fr;\n }\n}\n\n/* Execution History Panel - Max Height and Scroll */\n.execution-history-panel {\n max-height: 500px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Custom scrollbar for execution history */\n.execution-history-panel::-webkit-scrollbar {\n width: 8px;\n}\n\n.execution-history-panel::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.execution-history-panel::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.execution-history-panel::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Execution History Search Bar */\n.execution-search-bar {\n margin-bottom: 16px;\n padding: 0 4px;\n}\n\n.execution-search-bar .fa-search {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n font-size: 14px;\n}\n\n/* New Execution History Card Design */\n.execution-history-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 8px;\n}\n\n.execution-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n\n.execution-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n.execution-card.expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 6px 20px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.execution-header {\n padding: 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n\n.execution-left-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.execution-status {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n.status-indicator {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.status-indicator i {\n color: var(--mj-text-inverse);\n font-size: 14px;\n}\n\n.execution-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.execution-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.execution-date {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.execution-metrics {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n flex-wrap: wrap;\n margin-left: 44px; /* Align with execution title text, accounting for status indicator + gap */\n}\n\n.metric-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-card);\n padding: 6px 10px;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.metric-item i {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n.metric-label {\n font-weight: 500;\n}\n\n.metric-value {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.execution-actions {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.action-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--mj-bg-surface-card);\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-muted);\n}\n\n.action-btn:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n transform: translateY(-1px);\n}\n\n.action-btn i {\n font-size: 12px;\n}\n\n.expand-icon {\n transition: transform 0.2s ease;\n color: var(--mj-text-muted);\n margin-right: 4px;\n}\n\n.expand-icon.expanded {\n transform: rotate(90deg);\n}\n\n/* Execution Expanded Content */\n.execution-expanded-content {\n padding: 16px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n background: var(--mj-bg-surface-card);\n animation: slideDown 0.2s ease;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n }\n to {\n opacity: 1;\n max-height: 500px;\n padding-top: 16px;\n padding-bottom: 16px;\n }\n}\n\n.detailed-metrics {\n margin-bottom: 20px;\n}\n\n.metrics-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.metric-detail {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n}\n\n.metric-detail i {\n color: var(--mj-brand-primary);\n font-size: 16px;\n width: 20px;\n text-align: center;\n}\n\n.metric-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n flex: 1;\n}\n\n.metric-title {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.metric-data {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.result-section {\n margin-top: 16px;\n}\n\n.result-section h5 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error-section h5 {\n color: var(--mj-status-error);\n}\n\n.error-content {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 8px;\n padding: 12px 16px;\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-status-error);\n white-space: pre-wrap;\n word-break: break-word;\n max-height: 150px;\n overflow-y: auto;\n}\n\n/* Responsive adjustments for execution history */\n@media (max-width: 768px) {\n .execution-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .execution-left-section {\n width: 100%;\n }\n\n .execution-metrics {\n margin-left: 0; /* Remove left margin on mobile */\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n }\n\n .metric-item {\n font-size: 11px;\n padding: 4px 8px;\n }\n\n .metrics-grid {\n grid-template-columns: 1fr;\n }\n}\n\n/* === PAYLOAD MANAGEMENT SECTION === */\n.payload-section {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.payload-section-title {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.payload-section-title i {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n/* Payload Scope Styling */\n.payload-field-container {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-field-info {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.payload-field-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.5;\n margin: 0;\n}\n\n.payload-field-input {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.payload-field-example {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-card);\n padding: 0.5rem 0.75rem;\n border-radius: 6px;\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.payload-field-example i {\n color: var(--mj-status-warning);\n font-size: 0.9rem;\n}\n\n.payload-field-example code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.2rem 0.4rem;\n border-radius: 4px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8rem;\n color: var(--mj-text-secondary);\n}\n\n/* Path Configuration Grid */\n.payload-paths-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n}\n\n.payload-path-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.payload-path-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.payload-path-header {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.payload-path-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.payload-path-icon.downstream {\n background: var(--mj-status-success);\n}\n\n.payload-path-icon.upstream {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-read {\n background: var(--mj-brand-primary);\n}\n\n.payload-path-icon.self-write {\n background: var(--mj-status-warning);\n}\n\n.payload-path-icon i {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.payload-path-info h4 {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.payload-path-info p {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-content {\n padding: 1rem;\n}\n\n.json-editor-container {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 0.75rem;\n}\n\n.json-editor-container:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.payload-path-hint {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.payload-path-hint i {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.payload-path-hint code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n/* Payload Validation Container */\n.payload-validation-container {\n padding: 1.5rem;\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 2rem;\n align-items: start;\n}\n\n.payload-validation-settings {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n.validation-field-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.validation-field-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n}\n\n.validation-field-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0 0 0.5rem 0;\n}\n\n.payload-validation-schema {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.validation-schema-label {\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.95rem;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.validation-schema-label i {\n color: var(--mj-brand-primary);\n}\n\n.validation-schema-description {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n margin: 0;\n}\n\n.validation-schema-editor {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n}\n\n.validation-schema-editor:hover {\n border-color: var(--mj-brand-primary);\n}\n\n/* === CONFIGURATION SECTION === */\n.config-section {\n margin-bottom: 2rem;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n border: 1px solid var(--mj-border-default);\n overflow: hidden;\n}\n\n.config-section-title {\n margin: 0;\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n font-size: 1.1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.config-section-title i {\n color: var(--mj-brand-primary);\n font-size: 1.2rem;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 1.5rem;\n padding: 1.5rem;\n width: 100%;\n}\n\n.config-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.config-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.config-card.full-width {\n grid-column: 1 / -1;\n}\n\n.config-card-header {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.config-card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background: var(--mj-brand-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.config-card-icon i {\n color: var(--mj-text-inverse);\n font-size: 1.2rem;\n}\n\n.config-card-info h4 {\n margin: 0 0 0.25rem 0;\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.config-card-info p {\n margin: 0;\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.config-card-content {\n padding: 1rem;\n}\n\n/* Custom field styling for config cards */\n.config-field-input {\n width: 100%;\n min-width: 250px;\n}\n\n.config-card-content ::ng-deep mj-form-field {\n width: 100% !important;\n}\n\n.config-field-display {\n color: var(--mj-text-secondary);\n font-size: 14px;\n font-weight: 500;\n padding: 8px 0;\n display: block;\n min-height: 20px;\n}\n\n/* Prompt selector styling */\n.prompt-selector-container {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n}\n\n.prompt-display {\n flex: 1;\n min-width: 0;\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.prompt-name {\n color: var(--mj-text-secondary);\n font-weight: 500;\n font-size: 14px;\n}\n\n.no-prompt {\n color: var(--mj-text-muted);\n font-style: italic;\n font-size: 14px;\n}\n\n.prompt-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.prompt-select-btn {\n white-space: nowrap;\n}\n\n.prompt-clear-btn {\n min-width: 32px;\n}\n\n.config-card-hint {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n font-size: 0.8rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-top: 0.5rem;\n}\n\n.config-card-hint i {\n color: var(--mj-brand-primary);\n margin-top: 0.1rem;\n flex-shrink: 0;\n}\n\n.config-card-hint code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 3px;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n}\n\n\n/* === RESPONSIVE DESIGN === */\n@media (max-width: 768px) {\n .payload-field-container,\n .payload-validation-container {\n grid-template-columns: 1fr;\n gap: 1rem;\n }\n\n .payload-paths-grid {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .config-grid {\n grid-template-columns: 1fr;\n gap: 1rem;\n padding: 1rem;\n }\n\n .payload-section-title,\n .config-section-title {\n padding: 0.75rem 1rem;\n font-size: 1rem;\n }\n\n .payload-path-header,\n .config-card-header {\n padding: 0.75rem;\n }\n\n .payload-path-content,\n .config-card-content {\n padding: 0.75rem;\n }\n\n .payload-field-container,\n .payload-validation-container {\n padding: 1rem;\n }\n}\n\n/* ===================================\n Unified Sub-Agents with Filtering\n =================================== */\n\n/* Filter Controls */\n.sub-agent-filter-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.filter-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n/* Sub-Agent Type Badge */\n.sub-agent-type-badge {\n position: absolute;\n top: 8px;\n right: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 1;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n/* Sub-Agent Item Styling */\n.sub-agent-item {\n position: relative;\n padding-left: 8px;\n transition: all 0.2s ease;\n}\n\n.sub-agent-item.child-sub-agent {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item.related-sub-agent {\n border-left: 4px solid var(--mj-brand-primary);\n}\n\n.sub-agent-item:hover {\n transform: translateX(4px);\n}\n\n/* Payload Info Tag */\n.payload-info {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n font-family: 'Roboto Mono', monospace;\n font-size: 11px;\n}\n\n/* Empty State Info Cards */\n.empty-state-info {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin: 24px 0;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n}\n\n.info-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n padding: 16px;\n text-align: left;\n}\n\n.info-card i {\n font-size: 24px;\n margin-bottom: 8px;\n display: block;\n}\n\n.info-card strong {\n display: block;\n margin-bottom: 4px;\n font-size: 14px;\n}\n\n.info-card p {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state-actions {\n display: flex;\n gap: 12px;\n justify-content: center;\n margin-top: 16px;\n}\n\n/* Responsive adjustments for sub-agent filters */\n@media (max-width: 768px) {\n .sub-agent-filter-header {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls,\n .header-actions {\n width: 100%;\n justify-content: center;\n }\n\n .empty-state-info {\n grid-template-columns: 1fr;\n }\n}\n"] }]
4555
4512
  }], null, { customSectionContainer: [{
4556
4513
  type: ViewChild,
4557
4514
  args: ['customSectionContainer', { read: ViewContainerRef }]