@memberjunction/ng-dashboards 5.10.1 → 5.12.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 (231) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +34 -2
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +586 -223
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-editor.component.js +2 -2
  6. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +8 -0
  7. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  8. package/dist/AI/components/agents/agent-filter-panel.component.js +85 -52
  9. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  10. package/dist/AI/components/charts/performance-heatmap.component.d.ts +1 -0
  11. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  12. package/dist/AI/components/charts/performance-heatmap.component.js +27 -5
  13. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  14. package/dist/AI/components/charts/time-series-chart.component.d.ts +5 -0
  15. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  16. package/dist/AI/components/charts/time-series-chart.component.js +23 -8
  17. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  18. package/dist/AI/components/execution-monitoring.component.js +2 -2
  19. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  20. package/dist/AI/components/models/model-management.component.js +2 -2
  21. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
  22. package/dist/AI/components/prompts/prompt-filter-panel.component.js +2 -2
  23. package/dist/AI/components/prompts/prompt-management.component.js +3 -3
  24. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  25. package/dist/AI/components/prompts/prompt-version-control.component.js +2 -2
  26. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +83 -0
  27. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -0
  28. package/dist/AI/components/requests/agent-requests-resource.component.js +547 -0
  29. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -0
  30. package/dist/AI/components/system/system-config-filter-panel.component.js +2 -2
  31. package/dist/AI/components/system/system-configuration.component.js +2 -2
  32. package/dist/AI/components/widgets/kpi-card.component.js +7 -7
  33. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  34. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  35. package/dist/AI/components/widgets/live-execution-widget.component.js +6 -6
  36. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  37. package/dist/AI/index.d.ts +1 -0
  38. package/dist/AI/index.d.ts.map +1 -1
  39. package/dist/AI/index.js +2 -0
  40. package/dist/AI/index.js.map +1 -1
  41. package/dist/APIKeys/api-applications-panel.component.js +3 -3
  42. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  43. package/dist/APIKeys/api-key-create-dialog.component.js +3 -3
  44. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  45. package/dist/APIKeys/api-key-edit-panel.component.js +1 -1
  46. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  47. package/dist/APIKeys/api-key-list.component.js +3 -3
  48. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  49. package/dist/APIKeys/api-keys-resource.component.js +1 -1
  50. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  51. package/dist/APIKeys/api-scopes-panel.component.js +2 -2
  52. package/dist/APIKeys/api-usage-panel.component.js +2 -2
  53. package/dist/Actions/components/actions-overview.component.js +2 -2
  54. package/dist/Actions/components/execution-monitoring.component.js +2 -2
  55. package/dist/Actions/components/explorer/action-breadcrumb.component.js +2 -2
  56. package/dist/Actions/components/explorer/action-card.component.js +2 -2
  57. package/dist/Actions/components/explorer/action-explorer.component.js +2 -2
  58. package/dist/Actions/components/explorer/action-list-item.component.js +2 -2
  59. package/dist/Actions/components/explorer/action-toolbar.component.js +2 -2
  60. package/dist/Actions/components/explorer/action-tree-panel.component.js +2 -2
  61. package/dist/Actions/components/explorer/new-action-panel.component.js +2 -2
  62. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  63. package/dist/Actions/components/explorer/new-category-panel.component.js +2 -2
  64. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  65. package/dist/Communication/communication-dashboard.component.js +2 -2
  66. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  67. package/dist/Communication/communication-logs-resource.component.js +3 -3
  68. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  69. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  70. package/dist/Communication/communication-monitor-resource.component.js +5 -5
  71. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  72. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  73. package/dist/Communication/communication-providers-resource.component.js +3 -3
  74. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  75. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  76. package/dist/Communication/communication-runs-resource.component.js +3 -3
  77. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  78. package/dist/Communication/communication-templates-resource.component.js +2 -2
  79. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  80. package/dist/ComponentStudio/component-studio-dashboard.component.js +2 -2
  81. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +2 -2
  82. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +2 -2
  83. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -2
  84. package/dist/ComponentStudio/components/browser/component-browser.component.js +2 -2
  85. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +2 -2
  86. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  87. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +2 -2
  88. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  89. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +2 -2
  90. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  91. package/dist/ComponentStudio/components/editors/spec-editor.component.js +2 -2
  92. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  93. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +2 -2
  94. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +2 -2
  95. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  96. package/dist/ComponentStudio/components/text-import-dialog.component.js +2 -2
  97. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  98. package/dist/ComponentStudio/components/workspace/component-preview.component.js +2 -2
  99. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +2 -2
  100. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  101. package/dist/Credentials/components/credentials-audit-resource.component.js +9 -9
  102. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  103. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  104. package/dist/Credentials/components/credentials-categories-resource.component.js +11 -3
  105. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  106. package/dist/Credentials/components/credentials-list-resource.component.js +2 -2
  107. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  108. package/dist/Credentials/components/credentials-overview-resource.component.js +12 -11
  109. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  110. package/dist/Credentials/components/credentials-types-resource.component.js +9 -9
  111. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  112. package/dist/Credentials/credentials-dashboard.component.js +2 -2
  113. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +2 -2
  114. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +2 -2
  115. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +2 -2
  116. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +2 -2
  117. package/dist/DataExplorer/components/view-selector/view-selector.component.js +2 -2
  118. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +6 -2
  119. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  120. package/dist/DataExplorer/data-explorer-dashboard.component.js +26 -8
  121. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  122. package/dist/Home/home-dashboard.component.js +2 -2
  123. package/dist/Integration/components/activity/activity.component.d.ts +1 -1
  124. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  125. package/dist/Integration/components/activity/activity.component.js +5 -5
  126. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  127. package/dist/Integration/components/connections/connections.component.d.ts +31 -2
  128. package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
  129. package/dist/Integration/components/connections/connections.component.js +753 -412
  130. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  131. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +3 -3
  132. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  133. package/dist/Integration/components/overview/overview.component.d.ts +0 -1
  134. package/dist/Integration/components/overview/overview.component.d.ts.map +1 -1
  135. package/dist/Integration/components/overview/overview.component.js +3 -6
  136. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  137. package/dist/Integration/components/pipelines/pipelines.component.js +3 -3
  138. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  139. package/dist/Integration/components/schedules/schedules.component.d.ts +20 -0
  140. package/dist/Integration/components/schedules/schedules.component.d.ts.map +1 -1
  141. package/dist/Integration/components/schedules/schedules.component.js +97 -5
  142. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  143. package/dist/Integration/components/visual-editor/visual-editor.component.js +2 -2
  144. package/dist/Integration/components/widgets/integration-card.component.d.ts.map +1 -1
  145. package/dist/Integration/components/widgets/integration-card.component.js +5 -1
  146. package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
  147. package/dist/Integration/components/widgets/run-history-panel.component.js +2 -2
  148. package/dist/Integration/components/widgets/run-history-panel.component.js.map +1 -1
  149. package/dist/Integration/integration.module.d.ts +2 -1
  150. package/dist/Integration/integration.module.d.ts.map +1 -1
  151. package/dist/Integration/integration.module.js +7 -3
  152. package/dist/Integration/integration.module.js.map +1 -1
  153. package/dist/Integration/services/integration-data.service.d.ts +27 -2
  154. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  155. package/dist/Integration/services/integration-data.service.js +107 -4
  156. package/dist/Integration/services/integration-data.service.js.map +1 -1
  157. package/dist/Lists/components/lists-browse-resource.component.js +2 -2
  158. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  159. package/dist/Lists/components/lists-categories-resource.component.js +2 -2
  160. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  161. package/dist/Lists/components/lists-my-lists-resource.component.js +2 -2
  162. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  163. package/dist/Lists/components/lists-operations-resource.component.js +2 -2
  164. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  165. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +3 -3
  166. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  167. package/dist/MCP/components/mcp-connection-dialog.component.js +2 -2
  168. package/dist/MCP/components/mcp-log-detail-panel.component.js +2 -2
  169. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  170. package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
  171. package/dist/MCP/components/mcp-test-tool-dialog.component.js +2 -2
  172. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  173. package/dist/MCP/mcp-dashboard.component.js +2 -2
  174. package/dist/MCP/mcp-filter-panel.component.js +2 -2
  175. package/dist/QueryBrowser/query-browser-resource.component.d.ts +55 -1
  176. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  177. package/dist/QueryBrowser/query-browser-resource.component.js +664 -199
  178. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  179. package/dist/Scheduling/components/index.d.ts +0 -1
  180. package/dist/Scheduling/components/index.d.ts.map +1 -1
  181. package/dist/Scheduling/components/index.js +0 -1
  182. package/dist/Scheduling/components/index.js.map +1 -1
  183. package/dist/Scheduling/components/scheduling-activity.component.js +2 -2
  184. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +6 -9
  185. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  186. package/dist/Scheduling/components/scheduling-jobs.component.js +118 -110
  187. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  188. package/dist/Scheduling/components/scheduling-overview.component.js +3 -3
  189. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  190. package/dist/Scheduling/scheduling-dashboard.component.js +2 -2
  191. package/dist/SystemDiagnostics/system-diagnostics.component.js +4 -4
  192. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  193. package/dist/Testing/components/testing-analytics.component.js +2 -2
  194. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  195. package/dist/Testing/components/testing-dashboard-tab.component.js +4 -4
  196. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  197. package/dist/Testing/components/testing-explorer.component.js +2 -2
  198. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  199. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  200. package/dist/Testing/components/testing-review.component.js +5 -5
  201. package/dist/Testing/components/testing-review.component.js.map +1 -1
  202. package/dist/Testing/components/testing-runs.component.js +2 -2
  203. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  204. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +2 -2
  205. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  206. package/dist/Testing/components/widgets/suite-tree.component.js +4 -4
  207. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  208. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +2 -2
  209. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  210. package/dist/Testing/testing-dashboard.component.js +2 -2
  211. package/dist/VersionHistory/components/diff-resource.component.js +2 -2
  212. package/dist/VersionHistory/components/graph-resource.component.js +2 -2
  213. package/dist/VersionHistory/components/labels-resource.component.js +3 -3
  214. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  215. package/dist/VersionHistory/components/restore-resource.component.js +3 -3
  216. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  217. package/dist/__tests__/integration-data-service.test.js +1 -0
  218. package/dist/__tests__/integration-data-service.test.js.map +1 -1
  219. package/dist/module.d.ts +52 -49
  220. package/dist/module.d.ts.map +1 -1
  221. package/dist/module.js +25 -6
  222. package/dist/module.js.map +1 -1
  223. package/dist/public-api.d.ts +1 -1
  224. package/dist/public-api.d.ts.map +1 -1
  225. package/dist/public-api.js +1 -1
  226. package/dist/public-api.js.map +1 -1
  227. package/package.json +42 -40
  228. package/dist/Scheduling/components/job-slideout.component.d.ts +0 -45
  229. package/dist/Scheduling/components/job-slideout.component.d.ts.map +0 -1
  230. package/dist/Scheduling/components/job-slideout.component.js +0 -459
  231. package/dist/Scheduling/components/job-slideout.component.js.map +0 -1
@@ -780,11 +780,11 @@ export class AgentEditorComponent {
780
780
  i0.ɵɵconditional(ctx.error ? 11 : -1);
781
781
  i0.ɵɵadvance();
782
782
  i0.ɵɵconditional(!ctx.isLoading && !ctx.error && ctx.currentAgent ? 12 : -1);
783
- } }, dependencies: [i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i4.LoadingComponent], styles: [".agent-editor-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f8f9fa;\n}\n\n.editor-header[_ngcontent-%COMP%] {\n background: white;\n border-bottom: 1px solid #e0e0e0;\n padding: 16px 20px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%], .editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n text-decoration: none;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]:hover, .editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover {\n border-color: #ccc;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%] {\n background: #f8f9fa;\n color: #666;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n color: #333;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%] {\n background: #007bff;\n color: white;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover {\n background: #0056b3;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .agent-breadcrumb[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #333;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .agent-breadcrumb[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n border-color: #2196f3;\n color: #2196f3;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn.active[_ngcontent-%COMP%] {\n background: #2196f3;\n border-color: #2196f3;\n color: white;\n}\n\n.tab-navigation[_ngcontent-%COMP%] {\n background: white;\n border-bottom: 1px solid #e0e0e0;\n padding: 0 20px;\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 3px solid transparent;\n color: #666;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%]:hover {\n color: #2196f3;\n background: #f8f9fa;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn.active[_ngcontent-%COMP%] {\n color: #2196f3;\n border-bottom-color: #2196f3;\n background: #f8f9fa;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n\n.loading-container[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 60px;\n height: 60px;\n margin: 0 auto 20px;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s linear infinite;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #666;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: #dc3545;\n margin-bottom: 16px;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n color: #333;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n color: #666;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #dc3545;\n border: none;\n border-radius: 4px;\n color: white;\n cursor: pointer;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover {\n background: #c82333;\n}\n\n.editor-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n\n.main-splitter[_ngcontent-%COMP%], .bottom-splitter[_ngcontent-%COMP%] {\n height: 100%;\n}\n.main-splitter[_ngcontent-%COMP%] .k-pane[_ngcontent-%COMP%], .bottom-splitter[_ngcontent-%COMP%] .k-pane[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.hierarchy-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n border-color: #2196f3;\n color: #2196f3;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #666;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect[_ngcontent-%COMP%] {\n width: 20px;\n height: 12px;\n border-radius: 2px;\n border: 1px solid;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-0[_ngcontent-%COMP%] {\n background: #1976d2;\n border-color: #1565c0;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-1[_ngcontent-%COMP%] {\n background: #388e3c;\n border-color: #2e7d32;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-2[_ngcontent-%COMP%] {\n background: #f57c00;\n border-color: #ef6c00;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 300px;\n overflow: hidden;\n position: relative;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 10px;\n left: 10px;\n background: rgba(255, 255, 255, 0.9);\n padding: 6px 10px;\n border-radius: 4px;\n border: 1px solid #e0e0e0;\n z-index: 10;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] small[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #2196f3;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: #666;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 64px;\n margin-bottom: 20px;\n opacity: 0.5;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 12px 0;\n font-size: 18px;\n color: #333;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] .create-subagent-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 20px;\n background: #2196f3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] .create-subagent-btn[_ngcontent-%COMP%]:hover {\n background: #1976d2;\n}\n\n.prompts-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n border-right: 1px solid #f0f0f0;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .add-prompt-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #2196f3;\n border: none;\n border-radius: 4px;\n color: white;\n font-size: 12px;\n cursor: pointer;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .add-prompt-btn[_ngcontent-%COMP%]:hover {\n background: #1976d2;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px 20px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px 20px;\n color: #666;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 20px 0;\n font-size: 14px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] .add-first-prompt-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196f3;\n border: none;\n border-radius: 4px;\n color: white;\n cursor: pointer;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] .add-first-prompt-btn[_ngcontent-%COMP%]:hover {\n background: #1976d2;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n margin-bottom: 12px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n border-bottom: 1px solid #e9ecef;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-info[_ngcontent-%COMP%] .prompt-type[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 2px 6px;\n background: #007bff;\n color: white;\n border-radius: 3px;\n text-transform: uppercase;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] {\n padding: 4px 8px;\n background: none;\n border: 1px solid #e0e0e0;\n border-radius: 3px;\n color: #666;\n cursor: pointer;\n font-size: 12px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover {\n background: #f0f0f0;\n border-color: #ccc;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn.danger[_ngcontent-%COMP%]:hover {\n background: #dc3545;\n border-color: #dc3545;\n color: white;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-content[_ngcontent-%COMP%] {\n padding: 12px 16px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: #666;\n line-height: 1.4;\n}\n\n.properties-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .save-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #28a745;\n border: none;\n border-radius: 4px;\n color: white;\n font-size: 12px;\n cursor: pointer;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .save-btn[_ngcontent-%COMP%]:hover {\n background: #218838;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%], .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%], .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 13px;\n background: white;\n box-sizing: border-box;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]:focus, .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%]:focus, .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #2196f3;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 60px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n width: auto;\n margin: 0;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: #666;\n margin-top: 4px;\n margin-left: 24px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.modal-overlay[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.create-subagent-modal[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n width: 100%;\n max-width: 500px;\n max-height: calc(100vh - 40px);\n min-height: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n position: relative;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n padding: 20px 24px;\n border-bottom: 1px solid #e9ecef;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: #666;\n border-radius: 4px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n color: #333;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] {\n padding: 24px;\n flex: 1;\n overflow-y: auto;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] {\n background: #f8d7da;\n border: 1px solid #f5c6cb;\n border-radius: 6px;\n padding: 12px;\n margin-bottom: 20px;\n color: #721c24;\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #dc3545;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%], .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]:focus, .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #2196f3;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]::placeholder, .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: #999;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n font-family: inherit;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .parent-info[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border: 1px solid #e9ecef;\n border-radius: 6px;\n padding: 12px;\n font-size: 14px;\n color: #666;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .parent-info[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: #333;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] {\n padding: 20px 24px;\n border-top: 1px solid #e9ecef;\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%], .create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] {\n padding: 10px 20px;\n border: 1px solid;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%]:disabled, .create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%] {\n background: white;\n border-color: #ddd;\n color: #666;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #ccc;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] {\n background: #2196f3;\n border-color: #2196f3;\n color: white;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #1976d2;\n border-color: #1976d2;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] .loading-spinner-sm[_ngcontent-%COMP%] {\n width: 14px;\n height: 14px;\n border: 2px solid transparent;\n border-top-color: currentColor;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\n}"] });
783
+ } }, dependencies: [i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i4.LoadingComponent], styles: [".agent-editor-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n}\n\n.editor-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 16px 20px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%], .editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n text-decoration: none;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]:hover, .editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .agent-breadcrumb[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.editor-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] .agent-breadcrumb[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n color: var(--mj-text-muted);\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.editor-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.tab-navigation[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 0 20px;\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 3px solid transparent;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-card);\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn.active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-card);\n}\n.tab-navigation[_ngcontent-%COMP%] .tab-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n\n.loading-container[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] {\n text-align: center;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 60px;\n height: 60px;\n margin: 0 auto 20px;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s linear infinite;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(1) {\n border-top-color: var(--mj-brand-primary);\n animation-delay: 0s;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(2) {\n border-top-color: var(--mj-brand-primary);\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3), .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]:nth-child(3) {\n border-top-color: var(--mj-status-warning);\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-status-error);\n margin-bottom: 16px;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n color: var(--mj-text-primary);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n color: var(--mj-text-muted);\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n cursor: pointer;\n}\n.loading-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .loading-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .error-container[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover, .error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-status-error);\n}\n\n.editor-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n}\n\n.main-splitter[_ngcontent-%COMP%], .bottom-splitter[_ngcontent-%COMP%] {\n height: 100%;\n}\n.main-splitter[_ngcontent-%COMP%] .k-pane[_ngcontent-%COMP%], .bottom-splitter[_ngcontent-%COMP%] .k-pane[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.hierarchy-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\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.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.2s;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .zoom-controls[_ngcontent-%COMP%] .zoom-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect[_ngcontent-%COMP%] {\n width: 20px;\n height: 12px;\n border-radius: 2px;\n border: 1px solid;\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-0[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary-hover);\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-1[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-color-success-700);\n}\n.hierarchy-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .hierarchy-controls[_ngcontent-%COMP%] .hierarchy-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-rect.level-2[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 300px;\n overflow: hidden;\n position: relative;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 10px;\n left: 10px;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n padding: 6px 10px;\n border-radius: 4px;\n border: 1px solid var(--mj-border-default);\n z-index: 10;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .chart-help[_ngcontent-%COMP%] small[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 64px;\n margin-bottom: 20px;\n opacity: 0.5;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 12px 0;\n font-size: 18px;\n color: var(--mj-text-primary);\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] .create-subagent-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 20px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n}\n.hierarchy-section[_ngcontent-%COMP%] .hierarchy-chart[_ngcontent-%COMP%] .empty-hierarchy[_ngcontent-%COMP%] .create-subagent-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n}\n\n.prompts-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-bg-surface-sunken);\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\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.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .add-prompt-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n font-size: 12px;\n cursor: pointer;\n}\n.prompts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .add-prompt-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px 20px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px 20px;\n color: var(--mj-text-muted);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 20px 0;\n font-size: 14px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] .add-first-prompt-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n cursor: pointer;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .empty-prompts[_ngcontent-%COMP%] .add-first-prompt-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n margin-bottom: 12px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-info[_ngcontent-%COMP%] .prompt-type[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 2px 6px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 3px;\n text-transform: uppercase;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] {\n padding: 4px 8px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 3px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 12px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%] .prompt-actions[_ngcontent-%COMP%] .action-btn.danger[_ngcontent-%COMP%]:hover {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-content[_ngcontent-%COMP%] {\n padding: 12px 16px;\n}\n.prompts-section[_ngcontent-%COMP%] .prompts-list[_ngcontent-%COMP%] .prompt-card[_ngcontent-%COMP%] .prompt-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.properties-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\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.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .save-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-status-success);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n font-size: 12px;\n cursor: pointer;\n}\n.properties-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .save-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-color-success-700);\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%], .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%], .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n box-sizing: border-box;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]:focus, .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%]:focus, .properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 60px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n width: auto;\n margin: 0;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n margin-left: 24px;\n}\n.properties-section[_ngcontent-%COMP%] .properties-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.modal-overlay[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.create-subagent-modal[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n width: 100%;\n max-width: 500px;\n max-height: calc(100vh - 40px);\n min-height: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n position: relative;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-muted);\n border-radius: 4px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-primary);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] {\n padding: 24px;\n flex: 1;\n overflow-y: auto;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .error-message[_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: 6px;\n padding: 12px;\n margin-bottom: 20px;\n color: var(--mj-status-error);\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%], .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]:focus, .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-input[_ngcontent-%COMP%]::placeholder, .create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n font-family: inherit;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .parent-info[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n font-size: 14px;\n color: var(--mj-text-muted);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .parent-info[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] {\n padding: 20px 24px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%], .create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] {\n padding: 10px 20px;\n border: 1px solid;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%]:disabled, .create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .cancel-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-strong);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n}\n.create-subagent-modal[_ngcontent-%COMP%] .modal-footer[_ngcontent-%COMP%] .create-btn[_ngcontent-%COMP%] .loading-spinner-sm[_ngcontent-%COMP%] {\n width: 14px;\n height: 14px;\n border: 2px solid transparent;\n border-top-color: currentColor;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\n}"] });
784
784
  }
785
785
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AgentEditorComponent, [{
786
786
  type: Component,
787
- args: [{ standalone: false, selector: 'mj-agent-editor', template: "<div class=\"agent-editor-container\">\n <!-- Header -->\n <div class=\"editor-header\">\n <div class=\"header-info\">\n <div class=\"header-actions\">\n <button \n type=\"button\" \n class=\"back-btn\"\n (click)=\"closeEditor()\"\n title=\"Back to Agent List\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Back to Agents\n </button>\n \n @if (currentAgent) {\n <button \n type=\"button\" \n class=\"open-btn\"\n (click)=\"openCurrentAgentRecord()\"\n title=\"Open Agent Record\">\n <i class=\"fa-solid fa-external-link\"></i>\n Open Record\n </button>\n }\n </div>\n \n @if (currentAgent) {\n <div class=\"agent-breadcrumb\">\n <h2>{{ currentAgent.Name }}</h2>\n @if (currentAgent.Parent) {\n <span class=\"breadcrumb-item\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n Child of {{ currentAgent.Parent }}\n </span>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Tab Navigation -->\n @if (!isLoading && !error && currentAgent) {\n <div class=\"tab-navigation\">\n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'hierarchy'\"\n (click)=\"setActiveTab('hierarchy')\">\n <i class=\"fa-solid fa-sitemap\"></i>\n Hierarchy\n </button>\n \n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'prompts'\"\n (click)=\"setActiveTab('prompts')\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n Prompts\n </button>\n \n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'properties'\"\n (click)=\"setActiveTab('properties')\">\n <i class=\"fa-solid fa-cog\"></i>\n Properties\n </button>\n </div>\n }\n\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading agent data...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Error State -->\n @if (error) {\n <div class=\"error-container\">\n <div class=\"error-content\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <h3>Error Loading Agent</h3>\n <p>{{ error }}</p>\n <button class=\"retry-btn\" (click)=\"loadAgentData()\">\n <i class=\"fa-solid fa-retry\"></i>\n Retry\n </button>\n </div>\n </div>\n }\n\n <!-- Tab Content -->\n @if (!isLoading && !error && currentAgent) {\n <div class=\"tab-content\" >\n \n <!-- Hierarchy Tab -->\n @if (activeTab === 'hierarchy') {\n <div class=\"hierarchy-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-sitemap\"></i>\n Agent Hierarchy\n </h3>\n \n <div class=\"hierarchy-controls\">\n <div class=\"zoom-controls\">\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"zoomIn()\"\n title=\"Zoom In\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"zoomOut()\"\n title=\"Zoom Out\">\n <i class=\"fa-solid fa-minus\"></i>\n </button>\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"resetZoom()\"\n title=\"Reset Zoom\">\n <i class=\"fa-solid fa-expand\"></i>\n </button>\n </div>\n \n <div class=\"hierarchy-legend\">\n <div class=\"legend-item\">\n <div class=\"legend-rect level-0\"></div>\n <span>Root</span>\n </div>\n <div class=\"legend-item\">\n <div class=\"legend-rect level-1\"></div>\n <span>Level 1</span>\n </div>\n <div class=\"legend-item\">\n <div class=\"legend-rect level-2\"></div>\n <span>Level 2+</span>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"hierarchy-chart\" #hierarchyChart >\n <!-- Help text overlay -->\n @if (hierarchyData && (hasChildren() || hasParent())) {\n <div class=\"chart-help\">\n <small>\n <i class=\"fa-solid fa-hand-pointer\"></i>\n Drag to pan \u2022 Use zoom controls or scroll to zoom \u2022 Click nodes to navigate\n </small>\n </div>\n }\n \n <!-- Empty state for hierarchy -->\n @if (!hierarchyData || (!hasChildren() && !hasParent())) {\n <div class=\"empty-hierarchy\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <h4>No Agent Hierarchy</h4>\n <p>This agent doesn't have any parent or child agents yet.</p>\n <button class=\"create-subagent-btn\" (click)=\"openCreateSubAgent()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Sub-Agent\n </button>\n </div>\n }\n </div>\n </div>\n }\n \n <!-- Prompts Tab -->\n @if (activeTab === 'prompts') {\n <div class=\"prompts-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-comment-dots\"></i>\n Agent Prompts\n </h3>\n <button class=\"add-prompt-btn\" title=\"Add New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Prompt\n </button>\n </div>\n \n <div class=\"prompts-list\">\n @if (agentPrompts.length === 0) {\n <div class=\"empty-prompts\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n <p>No prompts configured for this agent</p>\n <button class=\"add-first-prompt-btn\">\n <i class=\"fa-solid fa-plus\"></i>\n Add First Prompt\n </button>\n </div>\n } @else {\n @for (prompt of agentPrompts; track prompt.id) {\n <div class=\"prompt-card\">\n <div class=\"prompt-header\">\n <div class=\"prompt-info\">\n <h4>{{ prompt.name }}</h4>\n <span class=\"prompt-type\">{{ prompt.type }}</span>\n </div>\n <div class=\"prompt-actions\">\n <button class=\"action-btn\" title=\"Edit Prompt\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n <button class=\"action-btn danger\" title=\"Delete Prompt\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"prompt-content\">\n <p>{{ prompt.content }}</p>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n \n <!-- Properties Tab -->\n @if (activeTab === 'properties') {\n <div class=\"properties-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-cog\"></i>\n Agent Properties\n </h3>\n <button class=\"save-btn\" title=\"Save Changes\">\n <i class=\"fa-solid fa-save\"></i>\n Save\n </button>\n </div>\n \n <div class=\"properties-form\">\n <div class=\"form-group\">\n <label>Name</label>\n <input \n type=\"text\" \n class=\"form-input\"\n [value]=\"currentAgent.Name\"\n placeholder=\"Agent name\">\n </div>\n \n <div class=\"form-group\">\n <label>Description</label>\n <textarea \n class=\"form-textarea\"\n [value]=\"currentAgent.Description\"\n placeholder=\"Agent description\"\n rows=\"3\"></textarea>\n </div>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Execution Mode</label>\n <select class=\"form-select\" [value]=\"currentAgent.ExecutionMode\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label>Execution Order</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ExecutionOrder\"\n min=\"0\">\n </div>\n </div>\n \n <div class=\"form-group checkbox-group\">\n <label class=\"checkbox-label\">\n <input \n type=\"checkbox\" \n [checked]=\"currentAgent.ExposeAsAction\">\n <span class=\"checkmark\"></span>\n Expose as Action\n </label>\n <small>Allow this agent to be used as an action by other agents</small>\n </div>\n \n <div class=\"form-group checkbox-group\">\n <label class=\"checkbox-label\">\n <input \n type=\"checkbox\" \n [checked]=\"currentAgent.EnableContextCompression\">\n <span class=\"checkmark\"></span>\n Enable Context Compression\n </label>\n <small>Automatically compress conversation context when threshold is reached</small>\n </div>\n \n @if (currentAgent.EnableContextCompression) {\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Message Threshold</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ContextCompressionMessageThreshold\"\n min=\"1\"\n placeholder=\"Number of messages\">\n </div>\n \n <div class=\"form-group\">\n <label>Retention Count</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ContextCompressionMessageRetentionCount\"\n min=\"0\"\n placeholder=\"Messages to keep\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Sub-Agent creation now uses CreateAgentService slide-in panel -->\n</div>", styles: [".agent-editor-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f8f9fa;\n}\n\n.editor-header {\n background: white;\n border-bottom: 1px solid #e0e0e0;\n padding: 16px 20px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.editor-header .header-info {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.editor-header .header-info .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.editor-header .header-info .back-btn, .editor-header .header-info .open-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n text-decoration: none;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header .header-info .back-btn:hover, .editor-header .header-info .open-btn:hover {\n border-color: #ccc;\n}\n.editor-header .header-info .back-btn {\n background: #f8f9fa;\n color: #666;\n}\n.editor-header .header-info .back-btn:hover {\n background: #e9ecef;\n color: #333;\n}\n.editor-header .header-info .open-btn {\n background: #007bff;\n color: white;\n}\n.editor-header .header-info .open-btn:hover {\n background: #0056b3;\n}\n.editor-header .header-info .agent-breadcrumb h2 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #333;\n}\n.editor-header .header-info .agent-breadcrumb .breadcrumb-item {\n font-size: 14px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n}\n.editor-header .header-controls {\n display: flex;\n gap: 8px;\n}\n.editor-header .header-controls .control-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header .header-controls .control-btn:hover {\n background: #f8f9fa;\n border-color: #2196f3;\n color: #2196f3;\n}\n.editor-header .header-controls .control-btn.active {\n background: #2196f3;\n border-color: #2196f3;\n color: white;\n}\n\n.tab-navigation {\n background: white;\n border-bottom: 1px solid #e0e0e0;\n padding: 0 20px;\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n.tab-navigation .tab-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 3px solid transparent;\n color: #666;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.tab-navigation .tab-btn:hover {\n color: #2196f3;\n background: #f8f9fa;\n}\n.tab-navigation .tab-btn.active {\n color: #2196f3;\n border-bottom-color: #2196f3;\n background: #f8f9fa;\n}\n.tab-navigation .tab-btn i {\n font-size: 16px;\n}\n\n.tab-content {\n flex: 1;\n overflow: hidden;\n}\n\n.loading-container, .error-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n.loading-container .loading-content, .loading-container .error-content, .error-container .loading-content, .error-container .error-content {\n text-align: center;\n}\n.loading-container .loading-content .loading-spinner, .loading-container .error-content .loading-spinner, .error-container .loading-content .loading-spinner, .error-container .error-content .loading-spinner {\n position: relative;\n width: 60px;\n height: 60px;\n margin: 0 auto 20px;\n}\n.loading-container .loading-content .spinner-ring, .loading-container .error-content .spinner-ring, .error-container .loading-content .spinner-ring, .error-container .error-content .spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: spin 1.5s linear infinite;\n}\n.loading-container .loading-content .spinner-ring:nth-child(1), .loading-container .error-content .spinner-ring:nth-child(1), .error-container .loading-content .spinner-ring:nth-child(1), .error-container .error-content .spinner-ring:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.loading-container .loading-content .spinner-ring:nth-child(2), .loading-container .error-content .spinner-ring:nth-child(2), .error-container .loading-content .spinner-ring:nth-child(2), .error-container .error-content .spinner-ring:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.loading-container .loading-content .spinner-ring:nth-child(3), .loading-container .error-content .spinner-ring:nth-child(3), .error-container .loading-content .spinner-ring:nth-child(3), .error-container .error-content .spinner-ring:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n.loading-container .loading-content .loading-text, .loading-container .error-content .loading-text, .error-container .loading-content .loading-text, .error-container .error-content .loading-text {\n font-size: 16px;\n color: #666;\n}\n.loading-container .loading-content i, .loading-container .error-content i, .error-container .loading-content i, .error-container .error-content i {\n font-size: 48px;\n color: #dc3545;\n margin-bottom: 16px;\n}\n.loading-container .loading-content h3, .loading-container .error-content h3, .error-container .loading-content h3, .error-container .error-content h3 {\n margin: 0 0 8px 0;\n color: #333;\n}\n.loading-container .loading-content p, .loading-container .error-content p, .error-container .loading-content p, .error-container .error-content p {\n margin: 0 0 16px 0;\n color: #666;\n}\n.loading-container .loading-content .retry-btn, .loading-container .error-content .retry-btn, .error-container .loading-content .retry-btn, .error-container .error-content .retry-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #dc3545;\n border: none;\n border-radius: 4px;\n color: white;\n cursor: pointer;\n}\n.loading-container .loading-content .retry-btn:hover, .loading-container .error-content .retry-btn:hover, .error-container .loading-content .retry-btn:hover, .error-container .error-content .retry-btn:hover {\n background: #c82333;\n}\n\n.editor-content {\n flex: 1;\n overflow: hidden;\n}\n\n.main-splitter, .bottom-splitter {\n height: 100%;\n}\n.main-splitter .k-pane, .bottom-splitter .k-pane {\n overflow: hidden;\n}\n\n.hierarchy-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n}\n.hierarchy-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.hierarchy-section .section-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.hierarchy-section .section-header .hierarchy-controls {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls {\n display: flex;\n gap: 4px;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn:hover {\n background: #f8f9fa;\n border-color: #2196f3;\n color: #2196f3;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn i {\n font-size: 12px;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend {\n display: flex;\n gap: 16px;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #666;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect {\n width: 20px;\n height: 12px;\n border-radius: 2px;\n border: 1px solid;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-0 {\n background: #1976d2;\n border-color: #1565c0;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-1 {\n background: #388e3c;\n border-color: #2e7d32;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-2 {\n background: #f57c00;\n border-color: #ef6c00;\n}\n.hierarchy-section .hierarchy-chart {\n flex: 1;\n min-height: 300px;\n overflow: hidden;\n position: relative;\n}\n.hierarchy-section .hierarchy-chart .chart-help {\n position: absolute;\n bottom: 10px;\n left: 10px;\n background: rgba(255, 255, 255, 0.9);\n padding: 6px 10px;\n border-radius: 4px;\n border: 1px solid #e0e0e0;\n z-index: 10;\n}\n.hierarchy-section .hierarchy-chart .chart-help small {\n font-size: 11px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.hierarchy-section .hierarchy-chart .chart-help small i {\n color: #2196f3;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: #666;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy i {\n font-size: 64px;\n margin-bottom: 20px;\n opacity: 0.5;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy h4 {\n margin: 0 0 12px 0;\n font-size: 18px;\n color: #333;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy .create-subagent-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 20px;\n background: #2196f3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy .create-subagent-btn:hover {\n background: #1976d2;\n}\n\n.prompts-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n border-right: 1px solid #f0f0f0;\n}\n.prompts-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.prompts-section .section-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.prompts-section .section-header .add-prompt-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #2196f3;\n border: none;\n border-radius: 4px;\n color: white;\n font-size: 12px;\n cursor: pointer;\n}\n.prompts-section .section-header .add-prompt-btn:hover {\n background: #1976d2;\n}\n.prompts-section .prompts-list {\n flex: 1;\n overflow-y: auto;\n padding: 16px 20px;\n}\n.prompts-section .prompts-list .empty-prompts {\n text-align: center;\n padding: 40px 20px;\n color: #666;\n}\n.prompts-section .prompts-list .empty-prompts i {\n font-size: 48px;\n margin-bottom: 16px;\n}\n.prompts-section .prompts-list .empty-prompts p {\n margin: 0 0 20px 0;\n font-size: 14px;\n}\n.prompts-section .prompts-list .empty-prompts .add-first-prompt-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196f3;\n border: none;\n border-radius: 4px;\n color: white;\n cursor: pointer;\n}\n.prompts-section .prompts-list .empty-prompts .add-first-prompt-btn:hover {\n background: #1976d2;\n}\n.prompts-section .prompts-list .prompt-card {\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n margin-bottom: 12px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header {\n padding: 12px 16px;\n border-bottom: 1px solid #e9ecef;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-info h4 {\n margin: 0 0 4px 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-info .prompt-type {\n font-size: 11px;\n padding: 2px 6px;\n background: #007bff;\n color: white;\n border-radius: 3px;\n text-transform: uppercase;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions {\n display: flex;\n gap: 4px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn {\n padding: 4px 8px;\n background: none;\n border: 1px solid #e0e0e0;\n border-radius: 3px;\n color: #666;\n cursor: pointer;\n font-size: 12px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn:hover {\n background: #f0f0f0;\n border-color: #ccc;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn.danger:hover {\n background: #dc3545;\n border-color: #dc3545;\n color: white;\n}\n.prompts-section .prompts-list .prompt-card .prompt-content {\n padding: 12px 16px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-content p {\n margin: 0;\n font-size: 12px;\n color: #666;\n line-height: 1.4;\n}\n\n.properties-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n}\n.properties-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.properties-section .section-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.properties-section .section-header .save-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #28a745;\n border: none;\n border-radius: 4px;\n color: white;\n font-size: 12px;\n cursor: pointer;\n}\n.properties-section .section-header .save-btn:hover {\n background: #218838;\n}\n.properties-section .properties-form {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n.properties-section .properties-form .form-group {\n margin-bottom: 16px;\n}\n.properties-section .properties-form .form-group label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n}\n.properties-section .properties-form .form-group .form-input, .properties-section .properties-form .form-group .form-select, .properties-section .properties-form .form-group .form-textarea {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 13px;\n background: white;\n box-sizing: border-box;\n}\n.properties-section .properties-form .form-group .form-input:focus, .properties-section .properties-form .form-group .form-select:focus, .properties-section .properties-form .form-group .form-textarea:focus {\n outline: none;\n border-color: #2196f3;\n}\n.properties-section .properties-form .form-group .form-textarea {\n resize: vertical;\n min-height: 60px;\n}\n.properties-section .properties-form .form-group.checkbox-group .checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n}\n.properties-section .properties-form .form-group.checkbox-group .checkbox-label input[type=checkbox] {\n width: auto;\n margin: 0;\n}\n.properties-section .properties-form .form-group.checkbox-group small {\n display: block;\n font-size: 11px;\n color: #666;\n margin-top: 4px;\n margin-left: 24px;\n}\n.properties-section .properties-form .form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.create-subagent-modal {\n background: white;\n border-radius: 8px;\n width: 100%;\n max-width: 500px;\n max-height: calc(100vh - 40px);\n min-height: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n position: relative;\n}\n.create-subagent-modal .modal-header {\n padding: 20px 24px;\n border-bottom: 1px solid #e9ecef;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.create-subagent-modal .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.create-subagent-modal .modal-header .close-btn {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: #666;\n border-radius: 4px;\n}\n.create-subagent-modal .modal-header .close-btn:hover {\n background: #f8f9fa;\n color: #333;\n}\n.create-subagent-modal .modal-body {\n padding: 24px;\n flex: 1;\n overflow-y: auto;\n}\n.create-subagent-modal .modal-body .error-message {\n background: #f8d7da;\n border: 1px solid #f5c6cb;\n border-radius: 6px;\n padding: 12px;\n margin-bottom: 20px;\n color: #721c24;\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal .modal-body .error-message i {\n color: #dc3545;\n}\n.create-subagent-modal .modal-body .form-group {\n margin-bottom: 20px;\n}\n.create-subagent-modal .modal-body .form-group label {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 8px;\n}\n.create-subagent-modal .modal-body .form-group .form-input, .create-subagent-modal .modal-body .form-group .form-textarea {\n width: 100%;\n padding: 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.create-subagent-modal .modal-body .form-group .form-input:focus, .create-subagent-modal .modal-body .form-group .form-textarea:focus {\n outline: none;\n border-color: #2196f3;\n}\n.create-subagent-modal .modal-body .form-group .form-input::placeholder, .create-subagent-modal .modal-body .form-group .form-textarea::placeholder {\n color: #999;\n}\n.create-subagent-modal .modal-body .form-group .form-textarea {\n resize: vertical;\n min-height: 80px;\n font-family: inherit;\n}\n.create-subagent-modal .modal-body .parent-info {\n background: #f8f9fa;\n border: 1px solid #e9ecef;\n border-radius: 6px;\n padding: 12px;\n font-size: 14px;\n color: #666;\n}\n.create-subagent-modal .modal-body .parent-info strong {\n color: #333;\n}\n.create-subagent-modal .modal-footer {\n padding: 20px 24px;\n border-top: 1px solid #e9ecef;\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n}\n.create-subagent-modal .modal-footer .cancel-btn, .create-subagent-modal .modal-footer .create-btn {\n padding: 10px 20px;\n border: 1px solid;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.create-subagent-modal .modal-footer .cancel-btn:disabled, .create-subagent-modal .modal-footer .create-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.create-subagent-modal .modal-footer .cancel-btn {\n background: white;\n border-color: #ddd;\n color: #666;\n}\n.create-subagent-modal .modal-footer .cancel-btn:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #ccc;\n}\n.create-subagent-modal .modal-footer .create-btn {\n background: #2196f3;\n border-color: #2196f3;\n color: white;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal .modal-footer .create-btn:hover:not(:disabled) {\n background: #1976d2;\n border-color: #1976d2;\n}\n.create-subagent-modal .modal-footer .create-btn .loading-spinner-sm {\n width: 14px;\n height: 14px;\n border: 2px solid transparent;\n border-top-color: currentColor;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n"] }]
787
+ args: [{ standalone: false, selector: 'mj-agent-editor', template: "<div class=\"agent-editor-container\">\n <!-- Header -->\n <div class=\"editor-header\">\n <div class=\"header-info\">\n <div class=\"header-actions\">\n <button \n type=\"button\" \n class=\"back-btn\"\n (click)=\"closeEditor()\"\n title=\"Back to Agent List\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Back to Agents\n </button>\n \n @if (currentAgent) {\n <button \n type=\"button\" \n class=\"open-btn\"\n (click)=\"openCurrentAgentRecord()\"\n title=\"Open Agent Record\">\n <i class=\"fa-solid fa-external-link\"></i>\n Open Record\n </button>\n }\n </div>\n \n @if (currentAgent) {\n <div class=\"agent-breadcrumb\">\n <h2>{{ currentAgent.Name }}</h2>\n @if (currentAgent.Parent) {\n <span class=\"breadcrumb-item\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n Child of {{ currentAgent.Parent }}\n </span>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Tab Navigation -->\n @if (!isLoading && !error && currentAgent) {\n <div class=\"tab-navigation\">\n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'hierarchy'\"\n (click)=\"setActiveTab('hierarchy')\">\n <i class=\"fa-solid fa-sitemap\"></i>\n Hierarchy\n </button>\n \n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'prompts'\"\n (click)=\"setActiveTab('prompts')\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n Prompts\n </button>\n \n <button \n type=\"button\" \n class=\"tab-btn\"\n [class.active]=\"activeTab === 'properties'\"\n (click)=\"setActiveTab('properties')\">\n <i class=\"fa-solid fa-cog\"></i>\n Properties\n </button>\n </div>\n }\n\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading agent data...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Error State -->\n @if (error) {\n <div class=\"error-container\">\n <div class=\"error-content\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <h3>Error Loading Agent</h3>\n <p>{{ error }}</p>\n <button class=\"retry-btn\" (click)=\"loadAgentData()\">\n <i class=\"fa-solid fa-retry\"></i>\n Retry\n </button>\n </div>\n </div>\n }\n\n <!-- Tab Content -->\n @if (!isLoading && !error && currentAgent) {\n <div class=\"tab-content\" >\n \n <!-- Hierarchy Tab -->\n @if (activeTab === 'hierarchy') {\n <div class=\"hierarchy-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-sitemap\"></i>\n Agent Hierarchy\n </h3>\n \n <div class=\"hierarchy-controls\">\n <div class=\"zoom-controls\">\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"zoomIn()\"\n title=\"Zoom In\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"zoomOut()\"\n title=\"Zoom Out\">\n <i class=\"fa-solid fa-minus\"></i>\n </button>\n <button \n type=\"button\" \n class=\"zoom-btn\"\n (click)=\"resetZoom()\"\n title=\"Reset Zoom\">\n <i class=\"fa-solid fa-expand\"></i>\n </button>\n </div>\n \n <div class=\"hierarchy-legend\">\n <div class=\"legend-item\">\n <div class=\"legend-rect level-0\"></div>\n <span>Root</span>\n </div>\n <div class=\"legend-item\">\n <div class=\"legend-rect level-1\"></div>\n <span>Level 1</span>\n </div>\n <div class=\"legend-item\">\n <div class=\"legend-rect level-2\"></div>\n <span>Level 2+</span>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"hierarchy-chart\" #hierarchyChart >\n <!-- Help text overlay -->\n @if (hierarchyData && (hasChildren() || hasParent())) {\n <div class=\"chart-help\">\n <small>\n <i class=\"fa-solid fa-hand-pointer\"></i>\n Drag to pan \u2022 Use zoom controls or scroll to zoom \u2022 Click nodes to navigate\n </small>\n </div>\n }\n \n <!-- Empty state for hierarchy -->\n @if (!hierarchyData || (!hasChildren() && !hasParent())) {\n <div class=\"empty-hierarchy\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <h4>No Agent Hierarchy</h4>\n <p>This agent doesn't have any parent or child agents yet.</p>\n <button class=\"create-subagent-btn\" (click)=\"openCreateSubAgent()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Sub-Agent\n </button>\n </div>\n }\n </div>\n </div>\n }\n \n <!-- Prompts Tab -->\n @if (activeTab === 'prompts') {\n <div class=\"prompts-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-comment-dots\"></i>\n Agent Prompts\n </h3>\n <button class=\"add-prompt-btn\" title=\"Add New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Prompt\n </button>\n </div>\n \n <div class=\"prompts-list\">\n @if (agentPrompts.length === 0) {\n <div class=\"empty-prompts\">\n <i class=\"fa-solid fa-comment-dots\"></i>\n <p>No prompts configured for this agent</p>\n <button class=\"add-first-prompt-btn\">\n <i class=\"fa-solid fa-plus\"></i>\n Add First Prompt\n </button>\n </div>\n } @else {\n @for (prompt of agentPrompts; track prompt.id) {\n <div class=\"prompt-card\">\n <div class=\"prompt-header\">\n <div class=\"prompt-info\">\n <h4>{{ prompt.name }}</h4>\n <span class=\"prompt-type\">{{ prompt.type }}</span>\n </div>\n <div class=\"prompt-actions\">\n <button class=\"action-btn\" title=\"Edit Prompt\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n <button class=\"action-btn danger\" title=\"Delete Prompt\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"prompt-content\">\n <p>{{ prompt.content }}</p>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n \n <!-- Properties Tab -->\n @if (activeTab === 'properties') {\n <div class=\"properties-section\" >\n <div class=\"section-header\">\n <h3>\n <i class=\"fa-solid fa-cog\"></i>\n Agent Properties\n </h3>\n <button class=\"save-btn\" title=\"Save Changes\">\n <i class=\"fa-solid fa-save\"></i>\n Save\n </button>\n </div>\n \n <div class=\"properties-form\">\n <div class=\"form-group\">\n <label>Name</label>\n <input \n type=\"text\" \n class=\"form-input\"\n [value]=\"currentAgent.Name\"\n placeholder=\"Agent name\">\n </div>\n \n <div class=\"form-group\">\n <label>Description</label>\n <textarea \n class=\"form-textarea\"\n [value]=\"currentAgent.Description\"\n placeholder=\"Agent description\"\n rows=\"3\"></textarea>\n </div>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Execution Mode</label>\n <select class=\"form-select\" [value]=\"currentAgent.ExecutionMode\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label>Execution Order</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ExecutionOrder\"\n min=\"0\">\n </div>\n </div>\n \n <div class=\"form-group checkbox-group\">\n <label class=\"checkbox-label\">\n <input \n type=\"checkbox\" \n [checked]=\"currentAgent.ExposeAsAction\">\n <span class=\"checkmark\"></span>\n Expose as Action\n </label>\n <small>Allow this agent to be used as an action by other agents</small>\n </div>\n \n <div class=\"form-group checkbox-group\">\n <label class=\"checkbox-label\">\n <input \n type=\"checkbox\" \n [checked]=\"currentAgent.EnableContextCompression\">\n <span class=\"checkmark\"></span>\n Enable Context Compression\n </label>\n <small>Automatically compress conversation context when threshold is reached</small>\n </div>\n \n @if (currentAgent.EnableContextCompression) {\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Message Threshold</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ContextCompressionMessageThreshold\"\n min=\"1\"\n placeholder=\"Number of messages\">\n </div>\n \n <div class=\"form-group\">\n <label>Retention Count</label>\n <input \n type=\"number\" \n class=\"form-input\"\n [value]=\"currentAgent.ContextCompressionMessageRetentionCount\"\n min=\"0\"\n placeholder=\"Messages to keep\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Sub-Agent creation now uses CreateAgentService slide-in panel -->\n</div>", styles: [".agent-editor-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n}\n\n.editor-header {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 16px 20px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.editor-header .header-info {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.editor-header .header-info .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.editor-header .header-info .back-btn, .editor-header .header-info .open-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n text-decoration: none;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header .header-info .back-btn:hover, .editor-header .header-info .open-btn:hover {\n border-color: var(--mj-border-strong);\n}\n.editor-header .header-info .back-btn {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n}\n.editor-header .header-info .back-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n.editor-header .header-info .open-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n.editor-header .header-info .open-btn:hover {\n background: var(--mj-brand-primary-hover);\n}\n.editor-header .header-info .agent-breadcrumb h2 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.editor-header .header-info .agent-breadcrumb .breadcrumb-item {\n font-size: 14px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n}\n.editor-header .header-controls {\n display: flex;\n gap: 8px;\n}\n.editor-header .header-controls .control-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n color: var(--mj-text-muted);\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.editor-header .header-controls .control-btn:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.editor-header .header-controls .control-btn.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.tab-navigation {\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 0 20px;\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n.tab-navigation .tab-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 3px solid transparent;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.tab-navigation .tab-btn:hover {\n color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-card);\n}\n.tab-navigation .tab-btn.active {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-card);\n}\n.tab-navigation .tab-btn i {\n font-size: 16px;\n}\n\n.tab-content {\n flex: 1;\n overflow: hidden;\n}\n\n.loading-container, .error-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n.loading-container .loading-content, .loading-container .error-content, .error-container .loading-content, .error-container .error-content {\n text-align: center;\n}\n.loading-container .loading-content .loading-spinner, .loading-container .error-content .loading-spinner, .error-container .loading-content .loading-spinner, .error-container .error-content .loading-spinner {\n position: relative;\n width: 60px;\n height: 60px;\n margin: 0 auto 20px;\n}\n.loading-container .loading-content .spinner-ring, .loading-container .error-content .spinner-ring, .error-container .loading-content .spinner-ring, .error-container .error-content .spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: spin 1.5s linear infinite;\n}\n.loading-container .loading-content .spinner-ring:nth-child(1), .loading-container .error-content .spinner-ring:nth-child(1), .error-container .loading-content .spinner-ring:nth-child(1), .error-container .error-content .spinner-ring:nth-child(1) {\n border-top-color: var(--mj-brand-primary);\n animation-delay: 0s;\n}\n.loading-container .loading-content .spinner-ring:nth-child(2), .loading-container .error-content .spinner-ring:nth-child(2), .error-container .loading-content .spinner-ring:nth-child(2), .error-container .error-content .spinner-ring:nth-child(2) {\n border-top-color: var(--mj-brand-primary);\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.loading-container .loading-content .spinner-ring:nth-child(3), .loading-container .error-content .spinner-ring:nth-child(3), .error-container .loading-content .spinner-ring:nth-child(3), .error-container .error-content .spinner-ring:nth-child(3) {\n border-top-color: var(--mj-status-warning);\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n.loading-container .loading-content .loading-text, .loading-container .error-content .loading-text, .error-container .loading-content .loading-text, .error-container .error-content .loading-text {\n font-size: 16px;\n color: var(--mj-text-muted);\n}\n.loading-container .loading-content i, .loading-container .error-content i, .error-container .loading-content i, .error-container .error-content i {\n font-size: 48px;\n color: var(--mj-status-error);\n margin-bottom: 16px;\n}\n.loading-container .loading-content h3, .loading-container .error-content h3, .error-container .loading-content h3, .error-container .error-content h3 {\n margin: 0 0 8px 0;\n color: var(--mj-text-primary);\n}\n.loading-container .loading-content p, .loading-container .error-content p, .error-container .loading-content p, .error-container .error-content p {\n margin: 0 0 16px 0;\n color: var(--mj-text-muted);\n}\n.loading-container .loading-content .retry-btn, .loading-container .error-content .retry-btn, .error-container .loading-content .retry-btn, .error-container .error-content .retry-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n cursor: pointer;\n}\n.loading-container .loading-content .retry-btn:hover, .loading-container .error-content .retry-btn:hover, .error-container .loading-content .retry-btn:hover, .error-container .error-content .retry-btn:hover {\n background: var(--mj-status-error);\n}\n\n.editor-content {\n flex: 1;\n overflow: hidden;\n}\n\n.main-splitter, .bottom-splitter {\n height: 100%;\n}\n.main-splitter .k-pane, .bottom-splitter .k-pane {\n overflow: hidden;\n}\n\n.hierarchy-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n}\n.hierarchy-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.hierarchy-section .section-header h3 {\n margin: 0;\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.hierarchy-section .section-header .hierarchy-controls {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls {\n display: flex;\n gap: 4px;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.2s;\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.hierarchy-section .section-header .hierarchy-controls .zoom-controls .zoom-btn i {\n font-size: 12px;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend {\n display: flex;\n gap: 16px;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect {\n width: 20px;\n height: 12px;\n border-radius: 2px;\n border: 1px solid;\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-0 {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary-hover);\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-1 {\n background: var(--mj-status-success);\n border-color: var(--mj-color-success-700);\n}\n.hierarchy-section .section-header .hierarchy-controls .hierarchy-legend .legend-item .legend-rect.level-2 {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n.hierarchy-section .hierarchy-chart {\n flex: 1;\n min-height: 300px;\n overflow: hidden;\n position: relative;\n}\n.hierarchy-section .hierarchy-chart .chart-help {\n position: absolute;\n bottom: 10px;\n left: 10px;\n background: color-mix(in srgb, var(--mj-bg-surface) 90%, transparent);\n padding: 6px 10px;\n border-radius: 4px;\n border: 1px solid var(--mj-border-default);\n z-index: 10;\n}\n.hierarchy-section .hierarchy-chart .chart-help small {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.hierarchy-section .hierarchy-chart .chart-help small i {\n color: var(--mj-brand-primary);\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy i {\n font-size: 64px;\n margin-bottom: 20px;\n opacity: 0.5;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy h4 {\n margin: 0 0 12px 0;\n font-size: 18px;\n color: var(--mj-text-primary);\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy .create-subagent-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 20px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n}\n.hierarchy-section .hierarchy-chart .empty-hierarchy .create-subagent-btn:hover {\n background: var(--mj-brand-primary);\n}\n\n.prompts-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-bg-surface-sunken);\n}\n.prompts-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.prompts-section .section-header h3 {\n margin: 0;\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.prompts-section .section-header .add-prompt-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n font-size: 12px;\n cursor: pointer;\n}\n.prompts-section .section-header .add-prompt-btn:hover {\n background: var(--mj-brand-primary);\n}\n.prompts-section .prompts-list {\n flex: 1;\n overflow-y: auto;\n padding: 16px 20px;\n}\n.prompts-section .prompts-list .empty-prompts {\n text-align: center;\n padding: 40px 20px;\n color: var(--mj-text-muted);\n}\n.prompts-section .prompts-list .empty-prompts i {\n font-size: 48px;\n margin-bottom: 16px;\n}\n.prompts-section .prompts-list .empty-prompts p {\n margin: 0 0 20px 0;\n font-size: 14px;\n}\n.prompts-section .prompts-list .empty-prompts .add-first-prompt-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n cursor: pointer;\n}\n.prompts-section .prompts-list .empty-prompts .add-first-prompt-btn:hover {\n background: var(--mj-brand-primary);\n}\n.prompts-section .prompts-list .prompt-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n margin-bottom: 12px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-info h4 {\n margin: 0 0 4px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-info .prompt-type {\n font-size: 11px;\n padding: 2px 6px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 3px;\n text-transform: uppercase;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions {\n display: flex;\n gap: 4px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn {\n padding: 4px 8px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 3px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 12px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n.prompts-section .prompts-list .prompt-card .prompt-header .prompt-actions .action-btn.danger:hover {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n.prompts-section .prompts-list .prompt-card .prompt-content {\n padding: 12px 16px;\n}\n.prompts-section .prompts-list .prompt-card .prompt-content p {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n}\n\n.properties-section {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n}\n.properties-section .section-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n}\n.properties-section .section-header h3 {\n margin: 0;\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.properties-section .section-header .save-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-status-success);\n border: none;\n border-radius: 4px;\n color: var(--mj-text-inverse);\n font-size: 12px;\n cursor: pointer;\n}\n.properties-section .section-header .save-btn:hover {\n background: var(--mj-color-success-700);\n}\n.properties-section .properties-form {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n.properties-section .properties-form .form-group {\n margin-bottom: 16px;\n}\n.properties-section .properties-form .form-group label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n}\n.properties-section .properties-form .form-group .form-input, .properties-section .properties-form .form-group .form-select, .properties-section .properties-form .form-group .form-textarea {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n box-sizing: border-box;\n}\n.properties-section .properties-form .form-group .form-input:focus, .properties-section .properties-form .form-group .form-select:focus, .properties-section .properties-form .form-group .form-textarea:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n.properties-section .properties-form .form-group .form-textarea {\n resize: vertical;\n min-height: 60px;\n}\n.properties-section .properties-form .form-group.checkbox-group .checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n}\n.properties-section .properties-form .form-group.checkbox-group .checkbox-label input[type=checkbox] {\n width: auto;\n margin: 0;\n}\n.properties-section .properties-form .form-group.checkbox-group small {\n display: block;\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n margin-left: 24px;\n}\n.properties-section .properties-form .form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.create-subagent-modal {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n width: 100%;\n max-width: 500px;\n max-height: calc(100vh - 40px);\n min-height: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n position: relative;\n}\n.create-subagent-modal .modal-header {\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.create-subagent-modal .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.create-subagent-modal .modal-header .close-btn {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-muted);\n border-radius: 4px;\n}\n.create-subagent-modal .modal-header .close-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-primary);\n}\n.create-subagent-modal .modal-body {\n padding: 24px;\n flex: 1;\n overflow-y: auto;\n}\n.create-subagent-modal .modal-body .error-message {\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: 6px;\n padding: 12px;\n margin-bottom: 20px;\n color: var(--mj-status-error);\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal .modal-body .error-message i {\n color: var(--mj-status-error);\n}\n.create-subagent-modal .modal-body .form-group {\n margin-bottom: 20px;\n}\n.create-subagent-modal .modal-body .form-group label {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 8px;\n}\n.create-subagent-modal .modal-body .form-group .form-input, .create-subagent-modal .modal-body .form-group .form-textarea {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.create-subagent-modal .modal-body .form-group .form-input:focus, .create-subagent-modal .modal-body .form-group .form-textarea:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n.create-subagent-modal .modal-body .form-group .form-input::placeholder, .create-subagent-modal .modal-body .form-group .form-textarea::placeholder {\n color: var(--mj-text-disabled);\n}\n.create-subagent-modal .modal-body .form-group .form-textarea {\n resize: vertical;\n min-height: 80px;\n font-family: inherit;\n}\n.create-subagent-modal .modal-body .parent-info {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 12px;\n font-size: 14px;\n color: var(--mj-text-muted);\n}\n.create-subagent-modal .modal-body .parent-info strong {\n color: var(--mj-text-primary);\n}\n.create-subagent-modal .modal-footer {\n padding: 20px 24px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n}\n.create-subagent-modal .modal-footer .cancel-btn, .create-subagent-modal .modal-footer .create-btn {\n padding: 10px 20px;\n border: 1px solid;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n}\n.create-subagent-modal .modal-footer .cancel-btn:disabled, .create-subagent-modal .modal-footer .create-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.create-subagent-modal .modal-footer .cancel-btn {\n background: var(--mj-bg-surface);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n}\n.create-subagent-modal .modal-footer .cancel-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-border-strong);\n}\n.create-subagent-modal .modal-footer .create-btn {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.create-subagent-modal .modal-footer .create-btn:hover:not(:disabled) {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n}\n.create-subagent-modal .modal-footer .create-btn .loading-spinner-sm {\n width: 14px;\n height: 14px;\n border: 2px solid transparent;\n border-top-color: currentColor;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n"] }]
788
788
  }], () => [{ type: i1.CreateAgentService }, { type: i2.NavigationService }], { agentId: [{
789
789
  type: Input
790
790
  }], close: [{
@@ -1,5 +1,7 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
+ import { CompositeKey } from '@memberjunction/core';
2
3
  import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
4
+ import { TreeBranchConfig } from '@memberjunction/ng-trees';
3
5
  import * as i0 from "@angular/core";
4
6
  interface AgentFilter {
5
7
  searchTerm: string;
@@ -8,6 +10,7 @@ interface AgentFilter {
8
10
  status: string;
9
11
  executionMode: string;
10
12
  exposeAsAction: string;
13
+ categoryId: string;
11
14
  }
12
15
  export declare class AgentFilterPanelComponent implements OnInit {
13
16
  agents: MJAIAgentEntityExtended[];
@@ -37,8 +40,13 @@ export declare class AgentFilterPanelComponent implements OnInit {
37
40
  text: string;
38
41
  value: string;
39
42
  }[];
43
+ /** TreeDropdown configuration for agent categories */
44
+ CategoryBranchConfig: TreeBranchConfig;
45
+ /** Current category selection for the tree dropdown */
46
+ SelectedCategoryKey: CompositeKey | null;
40
47
  ngOnInit(): Promise<void>;
41
48
  onFilterChange(): void;
49
+ onCategoryChange(value: CompositeKey | CompositeKey[] | null): void;
42
50
  resetAllFilters(): void;
43
51
  toggleFilterPanel(): void;
44
52
  static ɵfac: i0.ɵɵFactoryDeclaration<AgentFilterPanelComponent, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-filter-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-filter-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;;AAEvE,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAMa,yBAA0B,YAAW,MAAM;IAC7C,MAAM,EAAE,uBAAuB,EAAE,CAAM;IACvC,cAAc,EAAE,uBAAuB,EAAE,CAAM;IAC/C,OAAO,EAAE,WAAW,CAO3B;IAEQ,aAAa,4BAAmC;IAChD,YAAY,qBAA4B;IACxC,YAAY,qBAA4B;IACxC,UAAU,qBAA4B;IAEzC,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAExD;IAEK,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAG1D;IAEK,aAAa;;;QAIlB;IAEK,oBAAoB;;;QAIzB;IAEK,qBAAqB;;;QAI1B;IAEI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BxB,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,IAAI;yCAnFrB,yBAAyB;2CAAzB,yBAAyB;CAsFrC"}
1
+ {"version":3,"file":"agent-filter-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-filter-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;;AAE5D,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAMa,yBAA0B,YAAW,MAAM;IAC7C,MAAM,EAAE,uBAAuB,EAAE,CAAM;IACvC,cAAc,EAAE,uBAAuB,EAAE,CAAM;IAC/C,OAAO,EAAE,WAAW,CAQ3B;IAEQ,aAAa,4BAAmC;IAChD,YAAY,qBAA4B;IACxC,YAAY,qBAA4B;IACxC,UAAU,qBAA4B;IAEzC,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAExD;IAEK,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAG1D;IAEK,aAAa;;;QAIlB;IAEK,oBAAoB;;;QAIzB;IAEK,qBAAqB;;;QAI1B;IAEF,sDAAsD;IAC/C,oBAAoB,EAAE,gBAAgB,CAO3C;IAEF,uDAAuD;IAChD,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEjD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BxB,cAAc,IAAI,IAAI;IAKtB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,GAAG,IAAI;IAWnE,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,IAAI;yCA5GrB,yBAAyB;2CAAzB,yBAAyB;CA+GrC"}