@memberjunction/ng-dashboards 5.3.0 → 5.4.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 (173) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  2. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  3. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  4. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  5. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  6. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  7. package/dist/AI/components/models/model-management.component.js.map +1 -1
  8. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  10. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  11. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  12. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  13. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  14. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  15. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  16. package/dist/AI/index.js.map +1 -1
  17. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  18. package/dist/APIKeys/api-applications-panel.component.js +2 -2
  19. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  20. package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
  21. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  22. package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
  23. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  24. package/dist/APIKeys/api-key-list.component.js +2 -2
  25. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  26. package/dist/APIKeys/api-keys-resource.component.js +2 -2
  27. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  28. package/dist/APIKeys/api-scopes-panel.component.js +2 -2
  29. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  30. package/dist/APIKeys/api-usage-panel.component.js +2 -2
  31. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  32. package/dist/APIKeys/index.js.map +1 -1
  33. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  34. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  35. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  36. package/dist/Actions/components/code-management.component.js.map +1 -1
  37. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  38. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  39. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  40. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
  41. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  42. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  43. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  44. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  45. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  46. package/dist/Actions/components/explorer/index.js.map +1 -1
  47. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  48. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  49. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  50. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  51. package/dist/Actions/index.js.map +1 -1
  52. package/dist/Actions/services/action-explorer-state.service.js.map +1 -1
  53. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  54. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  55. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  56. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  57. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  58. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  59. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  60. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  61. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  62. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  63. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  64. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  65. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  66. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  67. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  68. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  69. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  70. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  71. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  72. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  73. package/dist/ComponentStudio/index.js.map +1 -1
  74. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
  75. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  76. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  77. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  78. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  79. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  80. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  81. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  82. package/dist/Credentials/index.js.map +1 -1
  83. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  84. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  85. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  86. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  87. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +25 -3
  88. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  89. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +158 -34
  90. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  91. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  92. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +57 -23
  93. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  94. package/dist/DataExplorer/data-explorer-dashboard.component.js +600 -445
  95. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  96. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  97. package/dist/DataExplorer/index.js.map +1 -1
  98. package/dist/DataExplorer/models/explorer-state.interface.d.ts +25 -0
  99. package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -1
  100. package/dist/DataExplorer/models/explorer-state.interface.js +6 -1
  101. package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -1
  102. package/dist/DataExplorer/services/explorer-state.service.d.ts +21 -3
  103. package/dist/DataExplorer/services/explorer-state.service.d.ts.map +1 -1
  104. package/dist/DataExplorer/services/explorer-state.service.js +70 -36
  105. package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
  106. package/dist/EntityAdmin/entity-admin-dashboard.component.js +2 -2
  107. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  108. package/dist/Home/home-application.js.map +1 -1
  109. package/dist/Home/home-dashboard.component.d.ts +20 -5
  110. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  111. package/dist/Home/home-dashboard.component.js +128 -79
  112. package/dist/Home/home-dashboard.component.js.map +1 -1
  113. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  114. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  115. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  116. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  117. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  118. package/dist/Lists/index.js.map +1 -1
  119. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  120. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  121. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  122. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  123. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  124. package/dist/MCP/index.js.map +1 -1
  125. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  126. package/dist/MCP/mcp-filter-panel.component.js.map +1 -1
  127. package/dist/MCP/mcp-resource.component.js.map +1 -1
  128. package/dist/MCP/mcp.module.js.map +1 -1
  129. package/dist/MCP/services/mcp-tools.service.js.map +1 -1
  130. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  131. package/dist/Scheduling/components/index.js.map +1 -1
  132. package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
  133. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  134. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  135. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  136. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  137. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  138. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  139. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  140. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  141. package/dist/SystemDiagnostics/index.js.map +1 -1
  142. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  143. package/dist/SystemDiagnostics/system-diagnostics.component.js +3 -3
  144. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  145. package/dist/Testing/components/index.js.map +1 -1
  146. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  147. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  148. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  149. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  150. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  151. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  152. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  153. package/dist/Testing/components/testing-review.component.js.map +1 -1
  154. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  155. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  156. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  157. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  158. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  159. package/dist/Testing/services/testing-instrumentation.service.js.map +1 -1
  160. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  161. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  162. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  163. package/dist/VersionHistory/components/index.js.map +1 -1
  164. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  165. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  166. package/dist/VersionHistory/index.js.map +1 -1
  167. package/dist/__tests__/dashboards.test.js.map +1 -1
  168. package/dist/module.js.map +1 -1
  169. package/dist/public-api.js.map +1 -1
  170. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
  171. package/dist/shared/pipes/index.js.map +1 -1
  172. package/dist/shared/shared-pipes.module.js.map +1 -1
  173. package/package.json +38 -38
@@ -1 +1 @@
1
- {"version":3,"file":"agent-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-configuration.component.ts","../../../../src/AI/components/agents/agent-configuration.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-configuration.component.ts","../../../../src/AI/components/agents/agent-configuration.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { Metadata, CompositeKey } from '@memberjunction/core';\nimport { ResourceData, UserInfoEngine } from '@memberjunction/core-entities';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { AITestHarnessDialogService } from '@memberjunction/ng-ai-test-harness';\nimport { CreateAgentService, CreateAgentDialogResult, CreateAgentResult } from '@memberjunction/ng-agents';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';\n\ninterface AgentFilter {\n searchTerm: string;\n agentType: string;\n parentAgent: string;\n status: string;\n executionMode: string;\n exposeAsAction: string;\n}\n\n/**\n * User preferences for the Agent Configuration dashboard\n */\ninterface AgentConfigurationUserPreferences {\n filterPanelVisible: boolean;\n viewMode: 'grid' | 'list';\n sortColumn: string;\n sortDirection: 'asc' | 'desc';\n filters: AgentFilter;\n}\n/**\n * AI Agents Resource - displays AI agent configuration and management\n * Extends BaseResourceComponent to work with the resource type system\n */\n@RegisterClass(BaseResourceComponent, 'AIAgentsResource')\n@Component({\n standalone: false,\n selector: 'app-agent-configuration',\n templateUrl: './agent-configuration.component.html',\n styleUrls: ['./agent-configuration.component.css']\n})\nexport class AgentConfigurationComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {\n // Settings persistence\n private readonly USER_SETTINGS_KEY = 'AI.Agents.UserPreferences';\n private settingsPersistSubject = new Subject<void>();\n private destroy$ = new Subject<void>();\n private settingsLoaded = false;\n\n public isLoading = false;\n public filterPanelVisible = true;\n public viewMode: 'grid' | 'list' = 'grid';\n public expandedAgentId: string | null = null;\n\n public agents: MJAIAgentEntityExtended[] = [];\n public filteredAgents: MJAIAgentEntityExtended[] = [];\n\n // Detail panel\n public selectedAgent: MJAIAgentEntityExtended | null = null;\n public detailPanelVisible = false;\n\n // Sorting state\n public sortColumn: string = 'Name';\n public sortDirection: 'asc' | 'desc' = 'asc';\n\n public currentFilters: AgentFilter = {\n searchTerm: '',\n agentType: 'all',\n parentAgent: 'all',\n status: 'all',\n executionMode: 'all',\n exposeAsAction: 'all'\n };\n\n public selectedAgentForTest: MJAIAgentEntityExtended | null = null;\n\n // === Permission Checks ===\n /** Cache for permission checks to avoid repeated calculations */\n private _permissionCache = new Map<string, boolean>();\n private _metadata = new Metadata();\n\n /** Check if user can create AI Agents */\n public get UserCanCreateAgents(): boolean {\n return this.checkEntityPermission('MJ: AI Agents', 'Create');\n }\n\n /** Check if user can read AI Agents */\n public get UserCanReadAgents(): boolean {\n return this.checkEntityPermission('MJ: AI Agents', 'Read');\n }\n\n /** Check if user can update AI Agents */\n public get UserCanUpdateAgents(): boolean {\n return this.checkEntityPermission('MJ: AI Agents', 'Update');\n }\n\n /** Check if user can delete AI Agents */\n public get UserCanDeleteAgents(): boolean {\n return this.checkEntityPermission('MJ: AI Agents', 'Delete');\n }\n\n /**\n * Helper method to check entity permissions with caching\n * @param entityName - The name of the entity to check permissions for\n * @param permissionType - The type of permission to check (Create, Read, Update, Delete)\n * @returns boolean indicating if user has the permission\n */\n private checkEntityPermission(entityName: string, permissionType: 'Create' | 'Read' | 'Update' | 'Delete'): boolean {\n const cacheKey = `${entityName}_${permissionType}`;\n \n if (this._permissionCache.has(cacheKey)) {\n return this._permissionCache.get(cacheKey)!;\n }\n\n try {\n const entityInfo = this._metadata.Entities.find(e => e.Name === entityName);\n \n if (!entityInfo) {\n console.warn(`Entity '${entityName}' not found for permission check`);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n\n const userPermissions = entityInfo.GetUserPermisions(this._metadata.CurrentUser);\n let hasPermission = false;\n\n switch (permissionType) {\n case 'Create':\n hasPermission = userPermissions.CanCreate;\n break;\n case 'Read':\n hasPermission = userPermissions.CanRead;\n break;\n case 'Update':\n hasPermission = userPermissions.CanUpdate;\n break;\n case 'Delete':\n hasPermission = userPermissions.CanDelete;\n break;\n }\n\n this._permissionCache.set(cacheKey, hasPermission);\n return hasPermission;\n } catch (error) {\n console.error(`Error checking ${permissionType} permission for ${entityName}:`, error);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n }\n\n /**\n * Clears the permission cache. Call this when user context changes or permissions are updated.\n */\n public clearPermissionCache(): void {\n this._permissionCache.clear();\n }\n\n constructor(\n private testHarnessService: AITestHarnessDialogService,\n private createAgentService: CreateAgentService,\n private navigationService: NavigationService,\n private cdr: ChangeDetectorRef\n ) {\n super();\n\n // Set up debounced settings persistence\n this.settingsPersistSubject.pipe(\n debounceTime(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.persistUserPreferences();\n });\n }\n\n async ngAfterViewInit() {\n // Load saved user preferences first\n this.loadUserPreferences();\n\n // Apply initial state from resource configuration if provided (overrides saved prefs)\n if (this.Data?.Configuration) {\n this.applyInitialState(this.Data.Configuration);\n }\n await this.loadAgents();\n\n // Apply filters after data is loaded (uses saved preferences)\n this.applyFilters();\n\n // Notify that the resource has finished loading\n this.NotifyLoadComplete();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n // ========================================\n // User Settings Persistence\n // ========================================\n\n /**\n * Load saved user preferences from the UserInfoEngine\n */\n private loadUserPreferences(): void {\n try {\n const savedPrefs = UserInfoEngine.Instance.GetSetting(this.USER_SETTINGS_KEY);\n if (savedPrefs) {\n const prefs = JSON.parse(savedPrefs) as AgentConfigurationUserPreferences;\n this.applyUserPreferences(prefs);\n }\n } catch (error) {\n console.warn('[AgentConfiguration] Failed to load user preferences:', error);\n } finally {\n this.settingsLoaded = true;\n }\n }\n\n /**\n * Apply loaded preferences to component state\n */\n private applyUserPreferences(prefs: AgentConfigurationUserPreferences): void {\n if (prefs.filterPanelVisible !== undefined) {\n this.filterPanelVisible = prefs.filterPanelVisible;\n }\n if (prefs.viewMode) {\n this.viewMode = prefs.viewMode;\n }\n if (prefs.sortColumn) {\n this.sortColumn = prefs.sortColumn;\n }\n if (prefs.sortDirection) {\n this.sortDirection = prefs.sortDirection;\n }\n if (prefs.filters) {\n this.currentFilters = {\n searchTerm: prefs.filters.searchTerm || '',\n agentType: prefs.filters.agentType || 'all',\n parentAgent: prefs.filters.parentAgent || 'all',\n status: prefs.filters.status || 'all',\n executionMode: prefs.filters.executionMode || 'all',\n exposeAsAction: prefs.filters.exposeAsAction || 'all'\n };\n }\n }\n\n /**\n * Get current preferences as an object for saving\n */\n private getCurrentPreferences(): AgentConfigurationUserPreferences {\n return {\n filterPanelVisible: this.filterPanelVisible,\n viewMode: this.viewMode,\n sortColumn: this.sortColumn,\n sortDirection: this.sortDirection,\n filters: {\n ...this.currentFilters\n }\n };\n }\n\n /**\n * Persist user preferences to storage (debounced)\n */\n private saveUserPreferencesDebounced(): void {\n if (!this.settingsLoaded) return; // Don't save during initial load\n this.settingsPersistSubject.next();\n }\n\n /**\n * Actually persist user preferences to the UserInfoEngine\n */\n private async persistUserPreferences(): Promise<void> {\n try {\n const prefs = this.getCurrentPreferences();\n await UserInfoEngine.Instance.SetSetting(this.USER_SETTINGS_KEY, JSON.stringify(prefs));\n } catch (error) {\n console.warn('[AgentConfiguration] Failed to persist user preferences:', error);\n }\n }\n\n private applyInitialState(state: any): void {\n if (state.filterPanelVisible !== undefined) {\n this.filterPanelVisible = state.filterPanelVisible;\n }\n if (state.viewMode) {\n this.viewMode = state.viewMode;\n }\n if (state.expandedAgentId) {\n this.expandedAgentId = state.expandedAgentId;\n }\n if (state.currentFilters) {\n this.currentFilters = { ...this.currentFilters, ...state.currentFilters };\n }\n }\n\n private async loadAgents(): Promise<void> {\n try {\n this.isLoading = true;\n\n // Ensure AIEngineBase is configured (no-op if already loaded)\n await AIEngineBase.Instance.Config(false);\n\n // Get cached agents from AIEngineBase\n this.agents = AIEngineBase.Instance.Agents;\n this.filteredAgents = [...this.agents];\n } catch (error) {\n console.error('Error loading AI agents:', error);\n } finally {\n this.isLoading = false;\n // force change detection to update the view\n this.cdr.detectChanges();\n }\n }\n\n public toggleFilterPanel(): void {\n this.filterPanelVisible = !this.filterPanelVisible;\n this.emitStateChange();\n this.saveUserPreferencesDebounced();\n }\n\n public onMainSplitterChange(_event: any): void {\n this.emitStateChange();\n }\n\n public onFiltersChange(filters: AgentFilter): void {\n this.currentFilters = { ...filters };\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public onFilterChange(): void {\n this.applyFilters();\n }\n\n public onResetFilters(): void {\n this.currentFilters = {\n searchTerm: '',\n agentType: 'all',\n parentAgent: 'all',\n status: 'all',\n executionMode: 'all',\n exposeAsAction: 'all'\n };\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n private applyFilters(): void {\n let filtered = [...this.agents];\n\n // Apply search filter (name contains)\n if (this.currentFilters.searchTerm) {\n const searchTerm = this.currentFilters.searchTerm.toLowerCase();\n filtered = filtered.filter(agent =>\n (agent.Name || '').toLowerCase().includes(searchTerm) ||\n (agent.Description || '').toLowerCase().includes(searchTerm)\n );\n }\n\n // Apply agent type filter\n if (this.currentFilters.agentType !== 'all') {\n filtered = filtered.filter(agent => agent.TypeID === this.currentFilters.agentType);\n }\n\n // Apply parent agent filter\n if (this.currentFilters.parentAgent !== 'all') {\n if (this.currentFilters.parentAgent === 'none') {\n filtered = filtered.filter(agent => !agent.ParentID);\n } else {\n filtered = filtered.filter(agent => agent.ParentID === this.currentFilters.parentAgent);\n }\n }\n\n // Apply status filter\n if (this.currentFilters.status !== 'all') {\n const wantActive = this.currentFilters.status === 'active';\n if (wantActive) {\n filtered = filtered.filter(agent => agent.Status === 'Active');\n } else {\n filtered = filtered.filter(agent => agent.Status !== 'Active');\n }\n }\n\n // Apply execution mode filter\n if (this.currentFilters.executionMode !== 'all') {\n filtered = filtered.filter(agent => agent.ExecutionMode === this.currentFilters.executionMode);\n }\n\n // Apply expose as action filter\n if (this.currentFilters.exposeAsAction !== 'all') {\n const isExposed = this.currentFilters.exposeAsAction === 'true';\n filtered = filtered.filter(agent => agent.ExposeAsAction === isExposed);\n }\n\n // Apply sorting\n filtered = this.applySorting(filtered);\n\n this.filteredAgents = filtered;\n }\n\n /**\n * Sort the agents by the specified column\n */\n public sortBy(column: string): void {\n if (this.sortColumn === column) {\n // Toggle direction if same column\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n // New column, default to ascending\n this.sortColumn = column;\n this.sortDirection = 'asc';\n }\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n /**\n * Apply sorting to the filtered list\n */\n private applySorting(agents: MJAIAgentEntityExtended[]): MJAIAgentEntityExtended[] {\n return agents.sort((a, b) => {\n let valueA: string | boolean | null | undefined;\n let valueB: string | boolean | null | undefined;\n\n switch (this.sortColumn) {\n case 'Name':\n valueA = a.Name;\n valueB = b.Name;\n break;\n case 'Status':\n valueA = a.Status;\n valueB = b.Status;\n break;\n case 'ExecutionMode':\n valueA = a.ExecutionMode;\n valueB = b.ExecutionMode;\n break;\n default:\n valueA = a.Name;\n valueB = b.Name;\n }\n\n // Handle null/undefined values\n const strA = (valueA ?? '').toString().toLowerCase();\n const strB = (valueB ?? '').toString().toLowerCase();\n\n let comparison = strA.localeCompare(strB);\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n }\n\n private emitStateChange(): void {\n // State change handling - could be used for persisting user preferences in the future\n // For now, just a placeholder for tracking state changes\n }\n\n public setViewMode(mode: 'grid' | 'list'): void {\n this.viewMode = mode;\n this.emitStateChange();\n this.saveUserPreferencesDebounced();\n }\n\n public toggleAgentExpansion(agentId: string): void {\n this.expandedAgentId = this.expandedAgentId === agentId ? null : agentId;\n }\n\n /**\n * Show the detail panel for an agent\n */\n public showAgentDetails(agent: MJAIAgentEntityExtended, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n this.selectedAgent = agent;\n this.detailPanelVisible = true;\n }\n\n /**\n * Close the detail panel\n */\n public closeDetailPanel(): void {\n this.detailPanelVisible = false;\n // Delay clearing selectedAgent for smoother animation\n setTimeout(() => {\n if (!this.detailPanelVisible) {\n this.selectedAgent = null;\n }\n }, 300);\n }\n\n /**\n * Open the full entity record from the detail panel\n */\n public openAgentFromPanel(): void {\n if (this.selectedAgent) {\n this.openAgentRecord(this.selectedAgent.ID);\n }\n }\n\n /**\n * Get the parent agent name if it exists\n */\n public getParentAgentName(agent: MJAIAgentEntityExtended): string | null {\n if (!agent.ParentID) return null;\n const parent = this.agents.find(a => a.ID === agent.ParentID);\n return parent?.Name || 'Unknown Parent';\n }\n\n /**\n * Get agent type name\n */\n public getAgentTypeName(agent: MJAIAgentEntityExtended): string {\n return agent.Type || 'Standard Agent';\n }\n\n public openAgentRecord(agentId: string): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: agentId }]);\n this.navigationService.OpenEntityRecord('MJ: AI Agents', compositeKey);\n }\n\n /**\n * Opens the create agent slide-in panel. Upon successful creation,\n * saves the agent and navigates to the new record.\n */\n public createNewAgent(): void {\n this.createAgentService.OpenSlideIn({\n Title: 'Create New Agent'\n }).pipe(takeUntil(this.destroy$)).subscribe({\n next: async (dialogResult: CreateAgentDialogResult) => {\n if (!dialogResult.Cancelled && dialogResult.Result) {\n await this.handleAgentCreated(dialogResult.Result);\n }\n },\n error: (error) => {\n console.error('Error in create agent slide-in:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error opening agent creation panel. Please try again.',\n 'error',\n 3000\n );\n }\n });\n }\n\n /**\n * Handles the result from the create agent slide-in.\n * Saves the agent and navigates to the new record.\n */\n private async handleAgentCreated(result: CreateAgentResult): Promise<void> {\n try {\n const agent = result.Agent;\n\n // Save the agent\n const saveResult = await agent.Save();\n if (!saveResult) {\n throw new Error('Failed to save agent');\n }\n\n // Save linked prompts if any\n if (result.AgentPrompts && result.AgentPrompts.length > 0) {\n for (const agentPrompt of result.AgentPrompts) {\n // Update the AgentID to the saved agent's ID\n agentPrompt.AgentID = agent.ID;\n await agentPrompt.Save();\n }\n }\n\n // Save linked actions if any\n if (result.AgentActions && result.AgentActions.length > 0) {\n for (const agentAction of result.AgentActions) {\n // Update the AgentID to the saved agent's ID\n agentAction.AgentID = agent.ID;\n await agentAction.Save();\n }\n }\n\n // Refresh the agent list\n await AIEngineBase.Instance.Config(true); // Force refresh\n await this.loadAgents();\n this.applyFilters();\n\n // Navigate to the new agent record\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: agent.ID }]);\n this.navigationService.OpenEntityRecord('MJ: AI Agents', compositeKey);\n\n MJNotificationService.Instance.CreateSimpleNotification(\n `Agent \"${agent.Name}\" created successfully`,\n 'success',\n 3000\n );\n } catch (error) {\n console.error('Error saving created agent:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error saving agent. Please try again.',\n 'error',\n 3000\n );\n }\n }\n\n public runAgent(agent: MJAIAgentEntityExtended): void {\n // Use the test harness service for window management features\n this.testHarnessService.openForAgent(agent.ID);\n }\n\n public closeTestHarness(): void {\n // No longer needed - window manages its own closure\n this.selectedAgentForTest = null;\n }\n\n public getAgentIconColor(agent: MJAIAgentEntityExtended): string {\n // Generate a consistent color based on agent properties\n const colors = ['#17a2b8', '#28a745', '#ffc107', '#dc3545', '#6c757d', '#007bff'];\n const index = (agent.Name?.charCodeAt(0) || 0) % colors.length;\n return colors[index];\n }\n\n public onOpenRecord(entityName: string, recordId: string): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: recordId }]);\n this.navigationService.OpenEntityRecord(entityName, compositeKey);\n }\n\n public getExecutionModeColor(mode: string): string {\n switch (mode) {\n case 'Sequential': return 'info';\n case 'Parallel': return 'success';\n default: return 'info';\n }\n }\n\n public getExecutionModeIcon(mode: string): string {\n switch (mode) {\n case 'Sequential': return 'fa-solid fa-list-ol';\n case 'Parallel': return 'fa-solid fa-layer-group';\n default: return 'fa-solid fa-robot';\n }\n }\n\n /**\n * Gets the agent's display icon\n * Prioritizes LogoURL, falls back to IconClass, then default robot icon\n */\n public getAgentIcon(agent: MJAIAgentEntityExtended): string {\n if (agent?.LogoURL) {\n // LogoURL is used in img tag, not here\n return '';\n }\n return agent?.IconClass || 'fa-solid fa-robot';\n }\n\n /**\n * Checks if the agent has a logo URL (for image display)\n */\n public hasLogoURL(agent: MJAIAgentEntityExtended): boolean {\n return !!agent?.LogoURL;\n }\n\n // === BaseResourceComponent Required Methods ===\n\n /**\n * Get the display name for this resource\n */\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Agents';\n }\n\n /**\n * Get the icon class for this resource\n */\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-robot';\n }\n}","<div class=\"agent-configuration-container\">\n <!-- Header -->\n <div class=\"dashboard-header\">\n <div class=\"header-info\">\n <h2 class=\"dashboard-title\">\n <i class=\"fa-solid fa-robot\"></i>\n Agent Configuration\n </h2>\n <button \n type=\"button\" \n class=\"filter-toggle-btn\"\n (click)=\"toggleFilterPanel()\"\n title=\"Toggle Filters\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (filterPanelVisible) {\n Hide Filters\n } @else {\n Show Filters\n }\n </button>\n <span class=\"item-count\">{{ filteredAgents.length }} agents</span>\n </div>\n \n <div class=\"header-controls\">\n <div class=\"view-toggle\">\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"setViewMode('grid')\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button \n type=\"button\" \n class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"setViewMode('list')\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n \n <button \n type=\"button\" \n class=\"control-btn primary\"\n (click)=\"createNewAgent()\"\n title=\"Create New Agent\">\n <i class=\"fa-solid fa-plus\"></i>\n New Agent\n </button>\n </div>\n </div>\n\n <!-- Main Content with Splitter -->\n <div class=\"main-content\" >\n <kendo-splitter \n class=\"main-splitter\"\n orientation=\"horizontal\"\n (layoutChange)=\"onMainSplitterChange($event)\"\n >\n \n <!-- Filter Panel (Left) -->\n <kendo-splitter-pane \n [size]=\"filterPanelVisible ? '320px' : '0px'\"\n [collapsible]=\"false\"\n [resizable]=\"filterPanelVisible\"\n [scrollable]=\"false\"\n [hidden]=\"!filterPanelVisible\">\n <mj-agent-filter-panel\n [agents]=\"agents\"\n [filteredAgents]=\"filteredAgents\"\n [filters]=\"currentFilters\"\n (filtersChange)=\"onFiltersChange($event)\"\n (filterChange)=\"onFilterChange()\"\n (resetFilters)=\"onResetFilters()\"\n (closePanel)=\"toggleFilterPanel()\">\n </mj-agent-filter-panel>\n </kendo-splitter-pane>\n \n <!-- Agents List Panel -->\n <kendo-splitter-pane\n [resizable]=\"true\"\n [scrollable]=\"true\">\n <div class=\"agents-content\">\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading agents...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Agents Display -->\n @if (!isLoading) {\n @if (filteredAgents.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-robot\"></i>\n <h3>No agents found</h3>\n <p>No agents match your current filters. Try adjusting your search criteria or create a new agent.</p>\n <button \n type=\"button\" \n class=\"empty-state-btn\"\n (click)=\"createNewAgent()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Agent\n </button>\n </div>\n } @else {\n <!-- Grid View -->\n @if (viewMode === 'grid') {\n <div class=\"agents-grid\">\n @for (agent of filteredAgents; track agent.ID) {\n <div class=\"agent-card\" [class.expanded]=\"expandedAgentId === agent.ID\">\n <!-- Card Header -->\n <div class=\"card-header\" (click)=\"toggleAgentExpansion(agent.ID)\">\n <div class=\"agent-info\">\n <div class=\"agent-icon\" [style.background-color]=\"getAgentIconColor(agent)\">\n @if (hasLogoURL(agent)) {\n <img [src]=\"agent.LogoURL\" [alt]=\"agent.Name + ' logo'\" class=\"agent-logo\">\n } @else {\n <i [class]=\"getAgentIcon(agent)\"></i>\n }\n </div>\n <div class=\"agent-details\">\n <h4 class=\"agent-name\" [innerHTML]=\"agent.Name | highlightSearch:currentFilters.searchTerm\"></h4>\n <div class=\"agent-meta\">\n <span class=\"meta-item type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ getAgentTypeName(agent) }}\n </span>\n @if (agent.Status) {\n <span class=\"meta-item\" [class]=\"'status-' + agent.Status.toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ agent.Status }}\n </span>\n }\n </div>\n </div>\n </div>\n \n <i class=\"fa-solid fa-chevron-down expand-icon\" \n [class.rotated]=\"expandedAgentId === agent.ID\"></i>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (agent.Description) {\n <p class=\"agent-description\" [innerHTML]=\"agent.Description | highlightSearch:currentFilters.searchTerm\"></p>\n } @else {\n <p class=\"agent-description text-muted\">No description provided</p>\n }\n \n <!-- Expandable Content -->\n @if (expandedAgentId === agent.ID) {\n <div class=\"expanded-content\">\n <div class=\"agent-stats\">\n @if (agent.Parent) {\n <div class=\"stat-item\">\n <span class=\"stat-label\">Parent</span>\n <span class=\"stat-value\">{{ agent.Parent }}</span>\n </div>\n }\n <div class=\"stat-item\">\n <span class=\"stat-label\">Context Compression</span>\n <span class=\"stat-value\">\n @if (agent.EnableContextCompression) {\n <i class=\"fa-solid fa-check\" style=\"color: #28a745;\"></i> Enabled\n } @else {\n <i class=\"fa-solid fa-times\" style=\"color: #dc3545;\"></i> Disabled\n }\n </span>\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n @if (UserCanReadAgents) {\n <button\n type=\"button\"\n class=\"action-btn\"\n (click)=\"showAgentDetails(agent, $event)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n Details\n </button>\n }\n\n @if (agent.Status === 'Active' && UserCanReadAgents) {\n <button\n type=\"button\"\n class=\"action-btn action-btn-primary\"\n (click)=\"runAgent(agent); $event.stopPropagation()\"\n title=\"Run Agent\">\n <i class=\"fa-solid fa-play\"></i>\n Run\n </button>\n }\n </div>\n </div>\n }\n </div>\n }\n \n <!-- List View -->\n @if (viewMode === 'list') {\n <div class=\"agents-list\">\n <table class=\"agents-table\">\n <thead>\n <tr>\n <th (click)=\"sortBy('Name')\"\n [class.sorted]=\"sortColumn === 'Name'\"\n [class.desc]=\"sortColumn === 'Name' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Name\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th>Type</th>\n <th (click)=\"sortBy('Status')\"\n [class.sorted]=\"sortColumn === 'Status'\"\n [class.desc]=\"sortColumn === 'Status' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Status\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (agent of filteredAgents; track agent.ID) {\n <tr>\n <td>\n <div class=\"agent-name-cell\">\n <div class=\"agent-icon-small\" [style.background-color]=\"getAgentIconColor(agent)\">\n @if (hasLogoURL(agent)) {\n <img [src]=\"agent.LogoURL\" [alt]=\"agent.Name + ' logo'\" class=\"agent-logo-small\">\n } @else {\n <i [class]=\"getAgentIcon(agent)\"></i>\n }\n </div>\n <div>\n <div class=\"agent-name\" [innerHTML]=\"agent.Name | highlightSearch:currentFilters.searchTerm\"></div>\n @if (agent.Description) {\n <div class=\"agent-description-small\" [innerHTML]=\"agent.Description | highlightSearch:currentFilters.searchTerm\"></div>\n }\n </div>\n </div>\n </td>\n <td>\n <span class=\"type-badge\">\n {{ getAgentTypeName(agent) }}\n </span>\n </td>\n <td>\n <span class=\"status-badge\" [class]=\"'status-' + (agent.Status || 'unknown').toLowerCase()\">\n {{ agent.Status || 'Unknown' }}\n </span>\n </td>\n <td>\n <div class=\"table-actions\">\n @if (UserCanReadAgents) {\n <button\n type=\"button\"\n class=\"action-btn-small\"\n (click)=\"showAgentDetails(agent)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n </button>\n }\n @if (agent.Status === 'Active' && UserCanReadAgents) {\n <button\n type=\"button\"\n class=\"action-btn-small primary\"\n (click)=\"runAgent(agent)\"\n title=\"Run Agent\">\n <i class=\"fa-solid fa-play\"></i>\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n }\n }\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n\n <!-- Detail Panel Overlay -->\n @if (detailPanelVisible) {\n <div class=\"detail-panel-overlay\" (click)=\"closeDetailPanel()\"></div>\n }\n\n <!-- Detail Panel -->\n <div class=\"detail-panel\" [class.visible]=\"detailPanelVisible\">\n @if (selectedAgent) {\n <!-- Panel Header -->\n <div class=\"detail-panel-header\">\n <div class=\"detail-panel-title\">\n <div class=\"detail-icon\" [style.background-color]=\"getAgentIconColor(selectedAgent)\">\n @if (hasLogoURL(selectedAgent)) {\n <img [src]=\"selectedAgent.LogoURL\" [alt]=\"selectedAgent.Name + ' logo'\" class=\"detail-logo\">\n } @else {\n <i [class]=\"getAgentIcon(selectedAgent)\"></i>\n }\n </div>\n <div class=\"detail-title-info\">\n <h3>{{ selectedAgent.Name }}</h3>\n <span class=\"detail-subtitle\">{{ getAgentTypeName(selectedAgent) }}</span>\n </div>\n </div>\n <button class=\"detail-panel-close\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Panel Content -->\n <div class=\"detail-panel-content\">\n <!-- Status and Type Section -->\n <div class=\"detail-section\">\n <div class=\"detail-badges\">\n <span class=\"status-badge\" [class]=\"'status-' + (selectedAgent.Status || 'unknown').toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ selectedAgent.Status || 'Unknown' }}\n </span>\n @if (selectedAgent.ExposeAsAction) {\n <span class=\"feature-badge\">\n <i class=\"fa-solid fa-bolt\"></i>\n Exposed as Action\n </span>\n }\n </div>\n </div>\n\n <!-- Description -->\n @if (selectedAgent.Description) {\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-align-left\"></i>\n Description\n </h4>\n <p class=\"detail-description\">{{ selectedAgent.Description }}</p>\n </div>\n }\n\n <!-- Configuration Details -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-cog\"></i>\n Configuration\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Execution Mode</span>\n <span class=\"detail-value\">\n <i [class]=\"getExecutionModeIcon(selectedAgent.ExecutionMode)\"></i>\n {{ selectedAgent.ExecutionMode }}\n </span>\n </div>\n @if (getParentAgentName(selectedAgent)) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Parent Agent</span>\n <span class=\"detail-value\">{{ getParentAgentName(selectedAgent) }}</span>\n </div>\n }\n <div class=\"detail-item\">\n <span class=\"detail-label\">Context Compression</span>\n <span class=\"detail-value\">\n @if (selectedAgent.EnableContextCompression) {\n <i class=\"fa-solid fa-check\" style=\"color: #10b981;\"></i> Enabled\n } @else {\n <i class=\"fa-solid fa-times\" style=\"color: #ef4444;\"></i> Disabled\n }\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Exposed as Action</span>\n <span class=\"detail-value\">\n @if (selectedAgent.ExposeAsAction) {\n <i class=\"fa-solid fa-check\" style=\"color: #10b981;\"></i> Yes\n } @else {\n <i class=\"fa-solid fa-times\" style=\"color: #ef4444;\"></i> No\n }\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Model Selection</span>\n <span class=\"detail-value\">{{ selectedAgent.ModelSelectionMode }}</span>\n </div>\n </div>\n </div>\n\n <!-- Timestamps -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-clock\"></i>\n Timestamps\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Created</span>\n <span class=\"detail-value\">{{ selectedAgent.__mj_CreatedAt | date:'medium' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Updated</span>\n <span class=\"detail-value\">{{ selectedAgent.__mj_UpdatedAt | date:'medium' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Panel Actions -->\n <div class=\"detail-panel-actions\">\n @if (selectedAgent.Status === 'Active') {\n <button\n type=\"button\"\n class=\"detail-action-btn secondary\"\n (click)=\"runAgent(selectedAgent)\">\n <i class=\"fa-solid fa-play\"></i>\n Run Agent\n </button>\n }\n <button\n type=\"button\"\n class=\"detail-action-btn primary\"\n (click)=\"openAgentFromPanel()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n Open Full Record\n </button>\n </div>\n }\n </div>\n</div>\n\n<!-- AI Agent Test Harness - Now handled by service with minimize support -->"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-editor.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-editor.component.ts","../../../../src/AI/components/agents/agent-editor.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-editor.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-editor.component.ts","../../../../src/AI/components/agents/agent-editor.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { RunView, Metadata, LogError, LogStatus } from '@memberjunction/core';\nimport { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';\nimport { CreateAgentService, CreateAgentResult } from '@memberjunction/ng-agents';\nimport { NavigationService } from '@memberjunction/ng-shared';\nimport * as d3 from 'd3';\n\ninterface AgentHierarchyNode {\n id: string;\n name: string;\n agent: MJAIAgentEntityExtended;\n children?: AgentHierarchyNode[];\n parent?: AgentHierarchyNode;\n x?: number;\n y?: number;\n}\n\ninterface AgentPrompt {\n id: string;\n name: string;\n content: string;\n type: string;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-agent-editor',\n templateUrl: './agent-editor.component.html',\n styleUrls: ['./agent-editor.component.css']\n})\nexport class AgentEditorComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() agentId: string | null = null;\n @Output() close = new EventEmitter<void>();\n @Output() openAgent = new EventEmitter<string>();\n @Output() openEntityRecord = new EventEmitter<{entityName: string, recordId: string}>();\n\n @ViewChild('hierarchyChart', { static: false }) hierarchyChartRef!: ElementRef;\n\n public isLoading = false;\n public error: string | null = null;\n public currentAgent: MJAIAgentEntityExtended | null = null;\n public allAgents: MJAIAgentEntityExtended[] = [];\n public hierarchyData: AgentHierarchyNode | null = null;\n public selectedNode: AgentHierarchyNode | null = null;\n public agentPrompts: AgentPrompt[] = [];\n\n // Tab settings\n public activeTab: 'hierarchy' | 'prompts' | 'properties' = 'hierarchy';\n \n // Legacy layout settings (keeping for compatibility)\n public showHierarchy = true;\n public showPrompts = true;\n public showProperties = true;\n \n // D3 variables\n private svg: any;\n private g: any;\n private tree: any;\n private root: any;\n private zoom: any;\n\n constructor(\n private createAgentService: CreateAgentService,\n private navigationService: NavigationService\n ) {}\n\n ngOnInit(): void {\n if (this.agentId) {\n this.loadAgentData();\n }\n }\n\n ngAfterViewInit(): void {\n // Chart initialization now happens after data loading in loadAgentData()\n }\n\n ngOnDestroy(): void {\n // Cleanup D3\n if (this.svg) {\n this.svg.remove();\n }\n }\n\n public async loadAgentData(): Promise<void> {\n try {\n this.isLoading = true;\n this.error = null;\n\n // Load all agents to build hierarchy\n const rv = new RunView();\n const result = await rv.RunView({\n EntityName: 'MJ: AI Agents',\n ExtraFilter: '',\n OrderBy: 'Name',\n MaxRows: 1000\n });\n\n this.allAgents = result.Results as MJAIAgentEntityExtended[];\n this.currentAgent = this.allAgents.find(a => a.ID === this.agentId) || null;\n\n if (this.currentAgent) {\n this.buildHierarchy();\n this.loadAgentPrompts();\n \n // Initialize chart after data is loaded\n setTimeout(() => {\n if (this.hierarchyChartRef) {\n this.initializeChart();\n }\n }, 100);\n }\n } catch (error) {\n console.error('Error loading agent data:', error);\n this.error = 'Failed to load agent data';\n } finally {\n this.isLoading = false;\n }\n }\n\n private buildHierarchy(): void {\n if (!this.currentAgent) return;\n\n // Find the root of the hierarchy that contains our current agent\n const rootAgent = this.findRootAgent(this.currentAgent);\n \n this.hierarchyData = this.buildHierarchyTree(rootAgent);\n this.selectedNode = this.findNodeInHierarchy(this.hierarchyData, this.currentAgent.ID);\n }\n\n private findRootAgent(agent: MJAIAgentEntityExtended): MJAIAgentEntityExtended {\n let current = agent;\n while (current.ParentID) {\n const parent = this.allAgents.find(a => a.ID === current.ParentID);\n if (!parent) break;\n current = parent;\n }\n return current;\n }\n\n private buildHierarchyTree(agent: MJAIAgentEntityExtended): AgentHierarchyNode {\n const children = this.allAgents\n .filter(a => a.ParentID === agent.ID)\n .map(child => this.buildHierarchyTree(child));\n\n const node: AgentHierarchyNode = {\n id: agent.ID,\n name: agent.Name || 'Unnamed Agent',\n agent: agent,\n children: children\n };\n\n // Set parent references\n if (node.children) {\n node.children.forEach(child => child.parent = node);\n }\n\n return node;\n }\n\n private findNodeInHierarchy(node: AgentHierarchyNode, agentId: string): AgentHierarchyNode | null {\n if (node.id === agentId) return node;\n \n if (node.children) {\n for (const child of node.children) {\n const found = this.findNodeInHierarchy(child, agentId);\n if (found) return found;\n }\n }\n \n return null;\n }\n\n private async loadAgentPrompts(): Promise<void> {\n if (!this.currentAgent) return;\n \n try {\n // This would load prompts associated with the agent\n // For now, using mock data structure\n this.agentPrompts = [\n { id: '1', name: 'System Prompt', content: 'Default system instructions...', type: 'system' },\n { id: '2', name: 'User Prompt', content: 'User interaction template...', type: 'user' }\n ];\n } catch (error) {\n console.error('Error loading agent prompts:', error);\n }\n }\n\n private initializeChart(): void {\n if (!this.hierarchyChartRef?.nativeElement) {\n return;\n }\n\n const container = this.hierarchyChartRef.nativeElement;\n const width = container.clientWidth || 800;\n const height = container.clientHeight || 600;\n\n // Clear any existing SVG\n d3.select(container).selectAll('*').remove();\n\n // Create SVG with zoom/pan functionality\n this.svg = d3.select(container)\n .append('svg')\n .attr('width', width)\n .attr('height', height)\n .style('background', '#fafafa')\n .style('border', '1px solid #e0e0e0');\n\n // Create zoom behavior with wheel support\n this.zoom = d3.zoom()\n .scaleExtent([0.1, 3])\n .wheelDelta((event: any) => -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1))\n .on('zoom', (event) => {\n this.g.attr('transform', event.transform);\n });\n\n // Apply zoom to SVG\n this.svg.call(this.zoom);\n\n // Create main group for chart content\n this.g = this.svg.append('g');\n\n // Create tree layout with proper spacing - use nodeSize for fixed spacing\n this.tree = d3.tree()\n .nodeSize([150, 100]) // Fixed node spacing: 150px horizontal, 100px vertical\n .separation((a: any, b: any) => a.parent === b.parent ? 1 : 1.5);\n\n this.renderHierarchy();\n }\n\n private renderHierarchy(): void {\n if (!this.hierarchyData || !this.g || !this.tree) {\n return;\n }\n\n // Create hierarchy\n this.root = d3.hierarchy(this.hierarchyData);\n this.tree(this.root);\n\n // Clear previous render\n this.g.selectAll('*').remove();\n\n // Get container dimensions\n const container = this.hierarchyChartRef.nativeElement;\n const containerWidth = container.clientWidth || 800;\n \n // Calculate the tree bounds after layout\n const treeBounds = this.getTreeBounds(this.root);\n \n // Calculate centering offsets\n const offsetX = (containerWidth - treeBounds.width) / 2 - treeBounds.minX;\n const offsetY = 150; // Top margin for the tree\n \n // Apply transform to center the tree properly\n this.g.attr('transform', `translate(${offsetX}, ${offsetY})`);\n\n // Draw links\n this.g.selectAll('.link')\n .data(this.root.links())\n .enter().append('path')\n .attr('class', 'link')\n .attr('d', d3.linkVertical()\n .x((d: any) => d.x)\n .y((d: any) => d.y))\n .style('fill', 'none')\n .style('stroke', '#999')\n .style('stroke-width', '2px')\n .style('stroke-opacity', 0.6);\n\n // Draw nodes\n const nodes = this.g.selectAll('.node')\n .data(this.root.descendants())\n .enter().append('g')\n .attr('class', 'node')\n .attr('transform', (d: any) => `translate(${d.x}, ${d.y})`)\n .style('cursor', 'pointer')\n .on('click', (_event: any, d: any) => this.onNodeClick(d.data));\n\n // Add rectangles for nodes\n const nodeWidth = 120;\n const nodeHeight = 40;\n \n nodes.append('rect')\n .attr('x', -nodeWidth / 2)\n .attr('y', -nodeHeight / 2)\n .attr('width', nodeWidth)\n .attr('height', nodeHeight)\n .attr('rx', 6)\n .attr('ry', 6)\n .style('fill', (d: any) => this.getNodeColor(d))\n .style('stroke', (d: any) => this.getNodeStrokeColor(d))\n .style('stroke-width', (d: any) => d.data.id === this.currentAgent?.ID ? '3px' : '2px')\n .style('opacity', 0.9);\n\n // Add node labels (agent names)\n nodes.append('text')\n .attr('dy', -2)\n .attr('text-anchor', 'middle')\n .style('font-size', '11px')\n .style('font-weight', (d: any) => d.data.id === this.currentAgent?.ID ? 'bold' : '500')\n .style('fill', '#333')\n .style('pointer-events', 'none')\n .text((d: any) => {\n const name = d.data.name;\n return name.length > 14 ? name.substring(0, 11) + '...' : name;\n });\n\n // Add execution mode labels\n nodes.append('text')\n .attr('dy', 12)\n .attr('text-anchor', 'middle')\n .style('font-size', '9px')\n .style('fill', '#666')\n .style('pointer-events', 'none')\n .text((d: any) => d.data.agent.ExecutionMode);\n\n // Add level indicators\n nodes.append('text')\n .attr('x', nodeWidth / 2 - 8)\n .attr('y', -nodeHeight / 2 + 12)\n .attr('text-anchor', 'middle')\n .style('font-size', '8px')\n .style('font-weight', 'bold')\n .style('fill', '#fff')\n .style('pointer-events', 'none')\n .text((d: any) => `L${d.depth}`);\n }\n\n private getTreeBounds(root: any): { width: number, height: number, minX: number, maxX: number, minY: number, maxY: number } {\n let minX = Infinity, maxX = -Infinity;\n let minY = Infinity, maxY = -Infinity;\n \n root.descendants().forEach((d: any) => {\n minX = Math.min(minX, d.x);\n maxX = Math.max(maxX, d.x);\n minY = Math.min(minY, d.y);\n maxY = Math.max(maxY, d.y);\n });\n \n return {\n width: maxX - minX,\n height: maxY - minY,\n minX,\n maxX,\n minY,\n maxY\n };\n }\n\n private getNodeColor(d: any): string {\n const level = d.depth;\n const isCurrentAgent = d.data.id === this.currentAgent?.ID;\n \n // Level-based color scheme\n const levelColors = [\n '#1976d2', // Level 0 (root) - Blue\n '#388e3c', // Level 1 - Green \n '#f57c00', // Level 2 - Orange\n '#7b1fa2', // Level 3 - Purple\n '#c2185b', // Level 4 - Pink\n '#5d4037' // Level 5+ - Brown\n ];\n \n const baseColor = levelColors[Math.min(level, levelColors.length - 1)];\n \n // Highlight current agent with brighter color\n if (isCurrentAgent) {\n return baseColor;\n }\n \n // Make non-current agents slightly lighter\n return this.lightenColor(baseColor, 0.3);\n }\n\n private getNodeStrokeColor(d: any): string {\n const isCurrentAgent = d.data.id === this.currentAgent?.ID;\n if (isCurrentAgent) {\n return '#000';\n }\n return '#666';\n }\n\n private lightenColor(color: string, factor: number): string {\n // Simple color lightening function\n const hex = color.replace('#', '');\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n \n const newR = Math.min(255, Math.floor(r + (255 - r) * factor));\n const newG = Math.min(255, Math.floor(g + (255 - g) * factor));\n const newB = Math.min(255, Math.floor(b + (255 - b) * factor));\n \n return `rgb(${newR}, ${newG}, ${newB})`;\n }\n\n public onNodeClick(node: AgentHierarchyNode): void {\n if (node.id !== this.currentAgent?.ID) {\n this.openAgent.emit(node.id);\n }\n }\n\n public zoomIn(): void {\n if (this.svg && this.zoom) {\n this.svg.transition().call(\n this.zoom.scaleBy, 1.5\n );\n }\n }\n\n public zoomOut(): void {\n if (this.svg && this.zoom) {\n this.svg.transition().call(\n this.zoom.scaleBy, 1 / 1.5\n );\n }\n }\n\n public resetZoom(): void {\n if (this.svg && this.zoom) {\n // Reset to initial centered position\n this.svg.transition().call(\n this.zoom.transform,\n d3.zoomIdentity\n );\n }\n }\n\n public navigateToAgent(agentId: string): void {\n this.openAgent.emit(agentId);\n }\n\n public closeEditor(): void {\n this.close.emit();\n }\n\n public setActiveTab(tab: 'hierarchy' | 'prompts' | 'properties'): void {\n this.activeTab = tab;\n }\n\n public getExecutionModeColor(mode: string): string {\n return mode === 'Sequential' ? '#2196f3' : '#4caf50';\n }\n\n public getExecutionModeIcon(mode: string): string {\n return mode === 'Sequential' ? 'fa-solid fa-list-ol' : 'fa-solid fa-layer-group';\n }\n\n /**\n * Opens the create sub-agent slide-in panel using the new CreateAgentService.\n * After successful creation, saves the agent and navigates to it.\n */\n public openCreateSubAgent(): void {\n if (!this.currentAgent) return;\n\n this.error = null;\n\n this.createAgentService.OpenSubAgentSlideIn(\n this.currentAgent.ID,\n this.currentAgent.Name || 'Agent'\n ).subscribe({\n next: async (dialogResult) => {\n if (!dialogResult.Cancelled && dialogResult.Result) {\n await this.handleAgentCreated(dialogResult.Result);\n }\n },\n error: (err) => {\n console.error('Error in create sub-agent slide-in:', err);\n this.error = 'Failed to open create sub-agent panel';\n }\n });\n }\n\n /**\n * Handles the result from the create agent slide-in.\n * Saves the agent and navigates to the new record.\n */\n private async handleAgentCreated(result: CreateAgentResult): Promise<void> {\n try {\n this.isLoading = true;\n this.error = null;\n\n const agent = result.Agent;\n\n // Save the new agent\n const saveResult = await agent.Save();\n\n if (saveResult) {\n LogStatus('Sub-agent created successfully');\n\n // Save any linked prompts\n if (result.AgentPrompts && result.AgentPrompts.length > 0) {\n for (const agentPrompt of result.AgentPrompts) {\n // Update the AgentID now that the agent has been saved\n agentPrompt.AgentID = agent.ID;\n await agentPrompt.Save();\n }\n }\n\n // Save any linked actions\n if (result.AgentActions && result.AgentActions.length > 0) {\n for (const agentAction of result.AgentActions) {\n // Update the AgentID now that the agent has been saved\n agentAction.AgentID = agent.ID;\n await agentAction.Save();\n }\n }\n\n // Reload agent data to show the new hierarchy\n await this.loadAgentData();\n\n // Navigate to the newly created agent record\n this.navigationService.OpenEntityRecord('MJ: AI Agents', agent.PrimaryKey);\n } else {\n const errorMessage = agent.LatestResult?.Message || 'Unknown error occurred while creating sub-agent';\n this.error = `Failed to create sub-agent: ${errorMessage}`;\n LogError('Sub-agent creation failed', undefined, errorMessage);\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';\n this.error = `Failed to create sub-agent: ${errorMessage}`;\n LogError('Error creating sub-agent', undefined, error);\n } finally {\n this.isLoading = false;\n }\n }\n\n public hasChildren(): boolean {\n return this.selectedNode?.children && this.selectedNode.children.length > 0 || false;\n }\n\n public hasParent(): boolean {\n return this.selectedNode?.parent !== undefined;\n }\n\n public getChildCount(): number {\n return this.selectedNode?.children?.length || 0;\n }\n\n public openCurrentAgentRecord(): void {\n if (this.currentAgent) {\n this.openEntityRecord.emit({ entityName: 'MJ: AI Agents', recordId: this.currentAgent.ID });\n }\n }\n}","<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 • Use zoom controls or scroll to zoom • 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>"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-filter-panel.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-filter-panel.component.ts","../../../../src/AI/components/agents/agent-filter-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-filter-panel.component.js","sourceRoot":"","sources":["../../../../src/AI/components/agents/agent-filter-panel.component.ts","../../../../src/AI/components/agents/agent-filter-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { MJAIAgentTypeEntity } from '@memberjunction/core-entities';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';\n\ninterface AgentFilter {\n searchTerm: string;\n agentType: string;\n parentAgent: string;\n status: string;\n executionMode: string;\n exposeAsAction: string;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-agent-filter-panel',\n templateUrl: './agent-filter-panel.component.html',\n styleUrls: ['./agent-filter-panel.component.css']\n})\nexport class AgentFilterPanelComponent implements OnInit {\n @Input() agents: MJAIAgentEntityExtended[] = [];\n @Input() filteredAgents: MJAIAgentEntityExtended[] = [];\n @Input() filters: AgentFilter = {\n searchTerm: '',\n agentType: 'all',\n parentAgent: 'all',\n status: 'all',\n executionMode: 'all',\n exposeAsAction: 'all'\n };\n\n @Output() filtersChange = new EventEmitter<AgentFilter>();\n @Output() filterChange = new EventEmitter<void>();\n @Output() resetFilters = new EventEmitter<void>();\n @Output() closePanel = new EventEmitter<void>();\n\n public agentTypeOptions: { text: string; value: string }[] = [\n { text: 'All Types', value: 'all' }\n ];\n\n public parentAgentOptions: { text: string; value: string }[] = [\n { text: 'All Agents', value: 'all' },\n { text: 'No Parent', value: 'none' }\n ];\n\n public statusOptions = [\n { text: 'All Statuses', value: 'all' },\n { text: 'Active', value: 'active' },\n { text: 'Inactive', value: 'inactive' }\n ];\n\n public executionModeOptions = [\n { text: 'All Execution Modes', value: 'all' },\n { text: 'Sequential', value: 'Sequential' },\n { text: 'Parallel', value: 'Parallel' }\n ];\n\n public exposeAsActionOptions = [\n { text: 'All Agents', value: 'all' },\n { text: 'Exposed as Action', value: 'true' },\n { text: 'Not Exposed', value: 'false' }\n ];\n\n async ngOnInit(): Promise<void> {\n // Load agent types from AIEngineBase\n try {\n const aiEngine = AIEngineBase.Instance;\n if (!aiEngine.Loaded) {\n await aiEngine.Config();\n }\n \n // Add agent types to options\n const agentTypes = aiEngine.AgentTypes;\n agentTypes.forEach((type: MJAIAgentTypeEntity) => {\n this.agentTypeOptions.push({\n text: type.Name,\n value: type.ID\n });\n });\n\n // Add parent agents to options (only those without parents themselves)\n const parentAgents = this.agents.filter(agent => !agent.ParentID);\n parentAgents.forEach(agent => {\n this.parentAgentOptions.push({\n text: agent.Name || 'Unnamed Agent',\n value: agent.ID\n });\n });\n } catch (error) {\n console.error('Error loading agent metadata:', error);\n }\n }\n\n public onFilterChange(): void {\n this.filtersChange.emit(this.filters);\n this.filterChange.emit();\n }\n\n public resetAllFilters(): void {\n this.resetFilters.emit();\n }\n\n public toggleFilterPanel(): void {\n this.closePanel.emit();\n }\n}","<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Agent Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredAgents.length }}</span>\n <span class=\"summary-label\">of {{ agents.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Name\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.searchTerm\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search agents...\">\n </div>\n \n <!-- Agent Type Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-robot\"></span>\n Type\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.agentType\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of agentTypeOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Parent Agent Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-sitemap\"></span>\n Parent\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.parentAgent\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of parentAgentOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-toggle-on\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of statusOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Execution Mode Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-list-ol\"></span>\n Execution Mode\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.executionMode\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of executionModeOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Expose As Action Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-share\"></span>\n Action Exposure\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.exposeAsAction\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of exposeAsActionOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>"]}
@@ -1 +1 @@
1
- {"version":3,"file":"performance-heatmap.component.js","sourceRoot":"","sources":["../../../../src/AI/components/charts/performance-heatmap.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance-heatmap.component.js","sourceRoot":"","sources":["../../../../src/AI/components/charts/performance-heatmap.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnInit, AfterViewInit, ViewChild, ElementRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\nimport * as d3 from 'd3';\n\nexport interface HeatmapData {\n agent: string;\n model: string;\n avgTime: number;\n successRate: number;\n value?: number; // Computed performance score\n}\n\nexport interface HeatmapConfig {\n width?: number;\n height?: number;\n margin?: { top: number; right: number; bottom: number; left: number };\n colorScheme?: string[];\n showTooltip?: boolean;\n animationDuration?: number;\n}\n\n@Component({\n standalone: false,\n selector: 'app-performance-heatmap',\n template: `\n <div class=\"performance-heatmap\">\n <div class=\"chart-header\">\n <h4 class=\"chart-title\">{{ title || 'Agent vs Model Performance' }}</h4>\n <div class=\"chart-controls\">\n <div class=\"metric-selector\">\n <label>Metric:</label>\n <select [(ngModel)]=\"selectedMetric\" (change)=\"updateChart()\">\n <option value=\"performance\">Performance Score</option>\n <option value=\"avgTime\">Avg Execution Time</option>\n <option value=\"successRate\">Success Rate</option>\n </select>\n </div>\n </div>\n </div>\n \n <div class=\"chart-container\">\n <svg #chartSvg></svg>\n <div class=\"chart-tooltip\" #tooltip style=\"display: none;\"></div>\n </div>\n \n <div class=\"chart-legend\">\n <div class=\"legend-title\">{{ getLegendTitle() }}</div>\n <div class=\"legend-gradient\" #legendGradient></div>\n <div class=\"legend-labels\">\n <span class=\"legend-min\">{{ formatLegendValue(minValue) }}</span>\n <span class=\"legend-max\">{{ formatLegendValue(maxValue) }}</span>\n </div>\n </div>\n </div>\n `,\n styles: [`\n .performance-heatmap {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n padding: 20px;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .chart-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .chart-title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .chart-controls {\n display: flex;\n gap: 16px;\n align-items: center;\n }\n\n .metric-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n }\n\n .metric-selector label {\n color: #666;\n font-weight: 500;\n }\n\n .metric-selector select {\n padding: 4px 8px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 11px;\n background: white;\n }\n\n .chart-container {\n flex: 1;\n position: relative;\n overflow: hidden;\n min-height: 200px;\n }\n\n .chart-tooltip {\n position: absolute;\n background: rgba(0, 0, 0, 0.85);\n color: white;\n padding: 10px 12px;\n border-radius: 4px;\n font-size: 12px;\n pointer-events: none;\n z-index: 1000;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n max-width: 250px;\n }\n\n .chart-legend {\n margin-top: 16px;\n display: flex;\n align-items: center;\n gap: 12px;\n font-size: 11px;\n }\n\n .legend-title {\n color: #666;\n font-weight: 500;\n white-space: nowrap;\n }\n\n .legend-gradient {\n flex: 1;\n height: 16px;\n border-radius: 8px;\n position: relative;\n }\n\n .legend-labels {\n display: flex;\n justify-content: space-between;\n min-width: 80px;\n color: #666;\n font-weight: 500;\n }\n\n /* Chart styles */\n :host ::ng-deep .heatmap-cell {\n stroke: white;\n stroke-width: 1;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n :host ::ng-deep .heatmap-cell:hover {\n stroke: #333;\n stroke-width: 2;\n }\n\n :host ::ng-deep .axis {\n font-size: 10px;\n color: #666;\n }\n\n :host ::ng-deep .axis path {\n stroke: #ddd;\n }\n\n :host ::ng-deep .axis .tick line {\n stroke: #ddd;\n }\n\n :host ::ng-deep .axis .tick text {\n fill: #666;\n }\n\n :host ::ng-deep .axis-label {\n font-size: 11px;\n font-weight: 500;\n fill: #333;\n }\n\n .no-data {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #999;\n gap: 12px;\n }\n\n .no-data i {\n font-size: 32px;\n color: #ddd;\n }\n\n @media (max-width: 768px) {\n .chart-header {\n flex-direction: column;\n align-items: flex-start;\n }\n \n .chart-legend {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n \n .legend-gradient {\n width: 100%;\n max-width: 200px;\n }\n }\n `]\n})\nexport class PerformanceHeatmapComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n @Input() data: HeatmapData[] = [];\n @Input() title?: string;\n @Input() config: HeatmapConfig = {};\n\n @ViewChild('chartSvg', { static: true }) chartSvg!: ElementRef<SVGElement>;\n @ViewChild('tooltip', { static: true }) tooltip!: ElementRef<HTMLDivElement>;\n @ViewChild('legendGradient', { static: true }) legendGradient!: ElementRef<HTMLDivElement>;\n\n private svg!: d3.Selection<SVGElement, unknown, null, undefined>;\n private width = 0;\n private height = 0;\n private margin = { top: 40, right: 20, bottom: 60, left: 80 };\n\n // Chart configuration\n private defaultColorScheme = ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'];\n \n // Data processing\n selectedMetric = 'performance';\n processedData: HeatmapData[] = [];\n uniqueAgents: string[] = [];\n uniqueModels: string[] = [];\n minValue = 0;\n maxValue = 1;\n\n ngOnInit() {\n this.applyConfig();\n }\n\n ngAfterViewInit() {\n this.initChart();\n this.processData();\n this.updateChart();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data'] && !changes['data'].firstChange) {\n this.processData();\n this.updateChart();\n }\n if (changes['config'] && !changes['config'].firstChange) {\n this.applyConfig();\n this.updateChart();\n }\n }\n\n ngOnDestroy() {\n d3.select(window).on('resize.heatmap', null);\n }\n\n private applyConfig() {\n const config = this.config;\n this.margin = { ...this.margin, ...config.margin };\n }\n\n private initChart() {\n this.svg = d3.select(this.chartSvg.nativeElement);\n this.initLegend();\n \n // Set up responsive behavior\n d3.select(window).on('resize.heatmap', () => this.updateChart());\n }\n\n private processData() {\n if (!this.data || this.data.length === 0) {\n this.processedData = [];\n this.uniqueAgents = [];\n this.uniqueModels = [];\n return;\n }\n\n // Calculate performance scores and process data\n this.processedData = this.data.map(d => ({\n ...d,\n value: this.calculatePerformanceScore(d)\n }));\n\n // Get unique agents and models\n this.uniqueAgents = Array.from(new Set(this.processedData.map(d => d.agent))).sort();\n this.uniqueModels = Array.from(new Set(this.processedData.map(d => d.model))).sort();\n\n // Update value range based on selected metric\n this.updateValueRange();\n }\n\n private calculatePerformanceScore(data: HeatmapData): number {\n // Normalize avgTime (lower is better, scale 0-1)\n const maxTime = Math.max(...this.data.map(d => d.avgTime));\n const normalizedTime = maxTime > 0 ? 1 - (data.avgTime / maxTime) : 1;\n \n // Success rate is already 0-1\n const normalizedSuccess = data.successRate;\n \n // Weighted combination (60% success rate, 40% speed)\n return normalizedSuccess * 0.6 + normalizedTime * 0.4;\n }\n\n private updateValueRange() {\n let values: number[];\n \n switch (this.selectedMetric) {\n case 'avgTime':\n values = this.processedData.map(d => d.avgTime);\n break;\n case 'successRate':\n values = this.processedData.map(d => d.successRate);\n break;\n case 'performance':\n default:\n values = this.processedData.map(d => d.value || 0);\n break;\n }\n\n this.minValue = Math.min(...values);\n this.maxValue = Math.max(...values);\n\n // Ensure reasonable range\n if (this.minValue === this.maxValue) {\n this.maxValue = this.minValue + 1;\n }\n }\n\n updateChart() {\n if (!this.processedData || this.processedData.length === 0) {\n this.svg.selectAll('*').remove();\n return;\n }\n\n this.calculateDimensions();\n this.svg.selectAll('*').remove();\n this.drawChart();\n this.updateLegend();\n }\n\n private calculateDimensions() {\n const container = this.chartSvg.nativeElement.parentElement!;\n this.width = (this.config.width || container.clientWidth) - this.margin.left - this.margin.right;\n this.height = (this.config.height || Math.max(300, this.uniqueAgents.length * 30 + 100)) - this.margin.top - this.margin.bottom;\n \n this.svg\n .attr('width', this.width + this.margin.left + this.margin.right)\n .attr('height', this.height + this.margin.top + this.margin.bottom);\n }\n\n private drawChart() {\n const g = this.svg.append('g')\n .attr('transform', `translate(${this.margin.left},${this.margin.top})`);\n\n // Create scales\n const xScale = d3.scaleBand()\n .domain(this.uniqueModels)\n .range([0, this.width])\n .padding(0.05);\n\n const yScale = d3.scaleBand()\n .domain(this.uniqueAgents)\n .range([0, this.height])\n .padding(0.05);\n\n const colorScale = d3.scaleSequential()\n .domain([this.minValue, this.maxValue])\n .interpolator(d3.interpolateBlues);\n\n // Draw cells\n const cells = g.selectAll('.heatmap-cell')\n .data(this.processedData)\n .enter().append('rect')\n .attr('class', 'heatmap-cell')\n .attr('x', d => xScale(d.model) || 0)\n .attr('y', d => yScale(d.agent) || 0)\n .attr('width', xScale.bandwidth())\n .attr('height', yScale.bandwidth())\n .attr('fill', d => colorScale(this.getMetricValue(d)))\n .on('mouseover', (event, d) => this.showTooltip(event, d))\n .on('mouseout', () => this.hideTooltip());\n\n // Add animation\n if (this.config.animationDuration !== 0) {\n cells\n .attr('opacity', 0)\n .transition()\n .duration(this.config.animationDuration || 500)\n .delay((d, i) => i * 20)\n .attr('opacity', 1);\n }\n\n // Draw axes\n this.drawAxes(g, xScale, yScale);\n\n // Add value labels on cells (for smaller datasets)\n if (this.processedData.length <= 50) {\n g.selectAll('.cell-label')\n .data(this.processedData)\n .enter().append('text')\n .attr('class', 'cell-label')\n .attr('x', d => (xScale(d.model) || 0) + xScale.bandwidth() / 2)\n .attr('y', d => (yScale(d.agent) || 0) + yScale.bandwidth() / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'middle')\n .attr('font-size', '10px')\n .attr('font-weight', '500')\n .attr('fill', d => this.getTextColor(colorScale(this.getMetricValue(d))))\n .text(d => this.formatCellValue(this.getMetricValue(d)));\n }\n }\n\n private drawAxes(g: any, xScale: any, yScale: any) {\n // X axis (models)\n g.append('g')\n .attr('class', 'axis axis-x')\n .attr('transform', `translate(0,${this.height})`)\n .call(d3.axisBottom(xScale))\n .selectAll('text')\n .style('text-anchor', 'end')\n .attr('dx', '-.8em')\n .attr('dy', '.15em')\n .attr('transform', 'rotate(-45)');\n\n // Y axis (agents)\n g.append('g')\n .attr('class', 'axis axis-y')\n .call(d3.axisLeft(yScale));\n\n // Axis labels\n g.append('text')\n .attr('class', 'axis-label')\n .attr('transform', 'rotate(-90)')\n .attr('y', 0 - this.margin.left)\n .attr('x', 0 - (this.height / 2))\n .attr('dy', '1em')\n .style('text-anchor', 'middle')\n .text('MJ: AI Agents');\n\n g.append('text')\n .attr('class', 'axis-label')\n .attr('transform', `translate(${this.width / 2}, ${this.height + this.margin.bottom - 10})`)\n .style('text-anchor', 'middle')\n .text('MJ: AI Models');\n }\n\n private getMetricValue(data: HeatmapData): number {\n switch (this.selectedMetric) {\n case 'avgTime':\n return data.avgTime;\n case 'successRate':\n return data.successRate;\n case 'performance':\n default:\n return data.value || 0;\n }\n }\n\n private getTextColor(backgroundColor: string): string {\n // Convert color to RGB and calculate luminance\n const rgb = d3.rgb(backgroundColor);\n const luminance = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;\n return luminance > 0.5 ? '#333' : '#fff';\n }\n\n private formatCellValue(value: number): string {\n switch (this.selectedMetric) {\n case 'avgTime':\n return `${(value / 1000).toFixed(1)}s`;\n case 'successRate':\n return `${(value * 100).toFixed(0)}%`;\n case 'performance':\n default:\n return value.toFixed(2);\n }\n }\n\n private showTooltip(event: MouseEvent, data: HeatmapData) {\n const tooltip = d3.select(this.tooltip.nativeElement);\n \n const content = `\n <div><strong>${data.agent} × ${data.model}</strong></div>\n <div>Performance Score: ${(data.value || 0).toFixed(3)}</div>\n <div>Success Rate: ${(data.successRate * 100).toFixed(1)}%</div>\n <div>Avg Time: ${(data.avgTime / 1000).toFixed(2)}s</div>\n `;\n\n tooltip\n .style('display', 'block')\n .html(content)\n .style('left', (event.offsetX + 10) + 'px')\n .style('top', (event.offsetY - 10) + 'px');\n }\n\n private hideTooltip() {\n d3.select(this.tooltip.nativeElement)\n .style('display', 'none');\n }\n\n private initLegend() {\n // Create gradient for legend\n const gradient = d3.select(this.legendGradient.nativeElement)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .append('defs')\n .append('linearGradient')\n .attr('id', 'legend-gradient')\n .attr('x1', '0%')\n .attr('x2', '100%');\n\n // Add color stops\n const colorScheme = this.config.colorScheme || this.defaultColorScheme;\n colorScheme.forEach((color, i) => {\n gradient.append('stop')\n .attr('offset', `${(i / (colorScheme.length - 1)) * 100}%`)\n .attr('stop-color', color);\n });\n\n d3.select(this.legendGradient.nativeElement)\n .select('svg')\n .append('rect')\n .attr('width', '100%')\n .attr('height', '100%')\n .style('fill', 'url(#legend-gradient)');\n }\n\n private updateLegend() {\n // Update gradient colors based on current color scale\n const gradient = d3.select(this.legendGradient.nativeElement)\n .select('linearGradient');\n\n gradient.selectAll('stop').remove();\n\n const colorScale = d3.scaleSequential()\n .domain([this.minValue, this.maxValue])\n .interpolator(d3.interpolateBlues);\n\n // Create 10 color stops\n for (let i = 0; i <= 10; i++) {\n const t = i / 10;\n const value = this.minValue + t * (this.maxValue - this.minValue);\n gradient.append('stop')\n .attr('offset', `${t * 100}%`)\n .attr('stop-color', colorScale(value));\n }\n }\n\n getLegendTitle(): string {\n switch (this.selectedMetric) {\n case 'avgTime':\n return 'Execution Time';\n case 'successRate':\n return 'Success Rate';\n case 'performance':\n default:\n return 'Performance Score';\n }\n }\n\n formatLegendValue(value: number): string {\n switch (this.selectedMetric) {\n case 'avgTime':\n return `${(value / 1000).toFixed(1)}s`;\n case 'successRate':\n return `${(value * 100).toFixed(0)}%`;\n case 'performance':\n default:\n return value.toFixed(2);\n }\n }\n}"]}