@memberjunction/ng-dashboards 5.34.0 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +399 -292
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
- package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +17 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +370 -425
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +317 -357
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +403 -362
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +781 -783
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +6 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +79 -30
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +196 -142
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +32 -40
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +32 -40
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +32 -40
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.js +24 -5
- package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
- package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +80 -99
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +127 -106
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +44 -45
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +60 -58
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -162
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +6 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +521 -485
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +8 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +309 -318
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +866 -847
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +182 -163
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +241 -241
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +1 -1
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +28 -1
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +486 -532
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +152 -160
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +234 -246
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +1248 -1338
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +1 -1
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +34 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Permissions/audit-log-resource.component.js +76 -85
- package/dist/Permissions/audit-log-resource.component.js.map +1 -1
- package/dist/Permissions/resource-access-resource.component.js +64 -69
- package/dist/Permissions/resource-access-resource.component.js.map +1 -1
- package/dist/Permissions/user-access-resource.component.js +63 -74
- package/dist/Permissions/user-access-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +420 -393
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +587 -608
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +9 -12
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +3 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +310 -274
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +16 -19
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts +3 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +307 -273
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +107 -93
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +185 -188
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +154 -184
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +350 -354
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +163 -169
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +15 -16
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +34 -11
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +45 -48
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +36 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/archiving-dashboards.module.d.ts +2 -1
- package/dist/archiving-dashboards.module.d.ts.map +1 -1
- package/dist/archiving-dashboards.module.js +12 -2
- package/dist/archiving-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +2 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +24 -3
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +31 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +1 -1
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +28 -1
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +1 -1
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +28 -1
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -3
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +1 -1
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +31 -1
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +8 -7
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +30 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +52 -52
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
|
@@ -15,106 +15,164 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
15
15
|
* Persists the active section and filter state via UserInfoEngine settings
|
|
16
16
|
* with debounced writes.
|
|
17
17
|
*/
|
|
18
|
-
import { Component, ChangeDetectorRef, inject } from '@angular/core';
|
|
18
|
+
import { Component, ChangeDetectorRef, ViewChild, inject } from '@angular/core';
|
|
19
19
|
import { Subject } from 'rxjs';
|
|
20
20
|
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
21
21
|
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
22
22
|
import { RegisterClass } from '@memberjunction/global';
|
|
23
23
|
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
24
|
+
import { AIEngineBase } from '@memberjunction/ai-engine-base';
|
|
24
25
|
import * as i0 from "@angular/core";
|
|
25
|
-
import * as i1 from "
|
|
26
|
-
import * as i2 from "./
|
|
27
|
-
import * as i3 from "./
|
|
28
|
-
import * as i4 from "./
|
|
29
|
-
import * as i5 from "./
|
|
30
|
-
import * as i6 from "./
|
|
31
|
-
import * as i7 from "./
|
|
26
|
+
import * as i1 from "@memberjunction/ng-ui-components";
|
|
27
|
+
import * as i2 from "./executive-summary/executive-summary.component";
|
|
28
|
+
import * as i3 from "./prompt-runs/prompt-run-analysis.component";
|
|
29
|
+
import * as i4 from "./agent-runs/agent-run-analysis.component";
|
|
30
|
+
import * as i5 from "./model-performance/model-performance.component";
|
|
31
|
+
import * as i6 from "./cost-budget/cost-budget.component";
|
|
32
|
+
import * as i7 from "./error-analysis/error-analysis.component";
|
|
33
|
+
import * as i8 from "./usage-patterns/usage-patterns.component";
|
|
34
|
+
const _c0 = ["executiveSummary"];
|
|
35
|
+
const _c1 = ["promptRuns"];
|
|
32
36
|
const _forTrack0 = ($index, $item) => $item.Key;
|
|
37
|
+
const _forTrack1 = ($index, $item) => $item.value;
|
|
38
|
+
function AIAnalyticsResourceComponent_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
40
|
+
i0.ɵɵelementStart(0, "mj-filter-popover", 14);
|
|
41
|
+
i0.ɵɵlistener("ClearAllRequested", function AIAnalyticsResourceComponent_Conditional_2_Conditional_1_Template_mj_filter_popover_ClearAllRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.resetPopoverFilters()); });
|
|
42
|
+
i0.ɵɵelementStart(1, "mj-filter-panel", 15);
|
|
43
|
+
i0.ɵɵlistener("ValuesChange", function AIAnalyticsResourceComponent_Conditional_2_Conditional_1_Template_mj_filter_panel_ValuesChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAnalyticsFilterValuesChange($event)); })("Reset", function AIAnalyticsResourceComponent_Conditional_2_Conditional_1_Template_mj_filter_panel_Reset_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.resetPopoverFilters()); });
|
|
44
|
+
i0.ɵɵelementEnd()();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
47
|
+
i0.ɵɵproperty("ActiveCount", ctx_r1.ActiveFilterCount)("ShowClearAll", ctx_r1.ActiveFilterCount > 0);
|
|
48
|
+
i0.ɵɵadvance();
|
|
49
|
+
i0.ɵɵproperty("Fields", ctx_r1.analyticsFilterFields)("Values", ctx_r1.analyticsFilterValues);
|
|
50
|
+
} }
|
|
51
|
+
function AIAnalyticsResourceComponent_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
53
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
54
|
+
i0.ɵɵtwoWayListener("selectedChange", function AIAnalyticsResourceComponent_Conditional_2_Conditional_2_Template_button_selectedChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.compareActive, $event) || (ctx_r1.compareActive = $event); return i0.ɵɵresetView($event); });
|
|
55
|
+
i0.ɵɵlistener("selectedChange", function AIAnalyticsResourceComponent_Conditional_2_Conditional_2_Template_button_selectedChange_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleCompare()); });
|
|
56
|
+
i0.ɵɵelement(1, "i", 17);
|
|
57
|
+
i0.ɵɵtext(2, " Compare ");
|
|
58
|
+
i0.ɵɵelementEnd();
|
|
59
|
+
} if (rf & 2) {
|
|
60
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
61
|
+
i0.ɵɵproperty("toggleable", true);
|
|
62
|
+
i0.ɵɵtwoWayProperty("selected", ctx_r1.compareActive);
|
|
63
|
+
} }
|
|
64
|
+
function AIAnalyticsResourceComponent_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
66
|
+
i0.ɵɵelementStart(0, "button", 18);
|
|
67
|
+
i0.ɵɵlistener("click", function AIAnalyticsResourceComponent_Conditional_2_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnExportClicked()); });
|
|
68
|
+
i0.ɵɵelement(1, "i", 19);
|
|
69
|
+
i0.ɵɵtext(2, " Export ");
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
} }
|
|
72
|
+
function AIAnalyticsResourceComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
74
|
+
i0.ɵɵconditionalCreate(1, AIAnalyticsResourceComponent_Conditional_2_Conditional_1_Template, 2, 4, "mj-filter-popover", 11);
|
|
75
|
+
i0.ɵɵconditionalCreate(2, AIAnalyticsResourceComponent_Conditional_2_Conditional_2_Template, 3, 2, "button", 12);
|
|
76
|
+
i0.ɵɵconditionalCreate(3, AIAnalyticsResourceComponent_Conditional_2_Conditional_3_Template, 3, 0, "button", 13);
|
|
77
|
+
i0.ɵɵelementEnd();
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
80
|
+
i0.ɵɵadvance();
|
|
81
|
+
i0.ɵɵconditional(ctx_r1.analyticsFilterFields.length > 0 ? 1 : -1);
|
|
82
|
+
i0.ɵɵadvance();
|
|
83
|
+
i0.ɵɵconditional(ctx_r1.FilterBarConfig.ShowCompareToggle ? 2 : -1);
|
|
84
|
+
i0.ɵɵadvance();
|
|
85
|
+
i0.ɵɵconditional(ctx_r1.FilterBarConfig.ShowExportButton ? 3 : -1);
|
|
86
|
+
} }
|
|
87
|
+
function AIAnalyticsResourceComponent_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
89
|
+
i0.ɵɵelementStart(0, "mj-filter-chip", 21);
|
|
90
|
+
i0.ɵɵlistener("Clicked", function AIAnalyticsResourceComponent_Conditional_3_For_2_Template_mj_filter_chip_Clicked_0_listener() { const chip_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnTimeRangeChange(chip_r6.value)); });
|
|
91
|
+
i0.ɵɵelementEnd();
|
|
92
|
+
} if (rf & 2) {
|
|
93
|
+
const chip_r6 = ctx.$implicit;
|
|
94
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
95
|
+
i0.ɵɵproperty("Label", chip_r6.text)("Active", ctx_r1.CurrentTimeRange === chip_r6.value);
|
|
96
|
+
} }
|
|
97
|
+
function AIAnalyticsResourceComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
+
i0.ɵɵelementStart(0, "div", 4);
|
|
99
|
+
i0.ɵɵrepeaterCreate(1, AIAnalyticsResourceComponent_Conditional_3_For_2_Template, 1, 2, "mj-filter-chip", 20, _forTrack1);
|
|
100
|
+
i0.ɵɵelementEnd();
|
|
101
|
+
} if (rf & 2) {
|
|
102
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
103
|
+
i0.ɵɵadvance();
|
|
104
|
+
i0.ɵɵrepeater(ctx_r1.timeRangeChipOptions);
|
|
105
|
+
} }
|
|
33
106
|
function AIAnalyticsResourceComponent_For_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelement(0, "div",
|
|
107
|
+
i0.ɵɵelement(0, "div", 22);
|
|
35
108
|
} }
|
|
36
109
|
function AIAnalyticsResourceComponent_For_7_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
const
|
|
38
|
-
i0.ɵɵelementStart(0, "button",
|
|
39
|
-
i0.ɵɵlistener("click", function AIAnalyticsResourceComponent_For_7_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
110
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
111
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
112
|
+
i0.ɵɵlistener("click", function AIAnalyticsResourceComponent_For_7_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const item_r8 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnSectionChange(item_r8.Key)); });
|
|
40
113
|
i0.ɵɵelement(1, "i");
|
|
41
114
|
i0.ɵɵelementStart(2, "span");
|
|
42
115
|
i0.ɵɵtext(3);
|
|
43
116
|
i0.ɵɵelementEnd()();
|
|
44
117
|
} if (rf & 2) {
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
i0.ɵɵclassProp("active",
|
|
118
|
+
const item_r8 = i0.ɵɵnextContext().$implicit;
|
|
119
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
120
|
+
i0.ɵɵclassProp("active", ctx_r1.ActiveSection === item_r8.Key);
|
|
48
121
|
i0.ɵɵadvance();
|
|
49
|
-
i0.ɵɵclassMap(
|
|
122
|
+
i0.ɵɵclassMap(item_r8.Icon);
|
|
50
123
|
i0.ɵɵadvance(2);
|
|
51
|
-
i0.ɵɵtextInterpolate(
|
|
124
|
+
i0.ɵɵtextInterpolate(item_r8.Label);
|
|
52
125
|
} }
|
|
53
126
|
function AIAnalyticsResourceComponent_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
-
i0.ɵɵconditionalCreate(0, AIAnalyticsResourceComponent_For_7_Conditional_0_Template, 1, 0, "div",
|
|
127
|
+
i0.ɵɵconditionalCreate(0, AIAnalyticsResourceComponent_For_7_Conditional_0_Template, 1, 0, "div", 22)(1, AIAnalyticsResourceComponent_For_7_Conditional_1_Template, 4, 5, "button", 23);
|
|
55
128
|
} if (rf & 2) {
|
|
56
|
-
const
|
|
57
|
-
i0.ɵɵconditional(
|
|
129
|
+
const item_r8 = ctx.$implicit;
|
|
130
|
+
i0.ɵɵconditional(item_r8.Key === "divider" ? 0 : 1);
|
|
58
131
|
} }
|
|
59
132
|
function AIAnalyticsResourceComponent_Case_9_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
-
const
|
|
61
|
-
i0.ɵɵelementStart(0, "app-analytics-executive-summary",
|
|
62
|
-
i0.ɵɵlistener("
|
|
133
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
134
|
+
i0.ɵɵelementStart(0, "app-analytics-executive-summary", 25, 0);
|
|
135
|
+
i0.ɵɵlistener("SectionNavigate", function AIAnalyticsResourceComponent_Case_9_Template_app_analytics_executive_summary_SectionNavigate_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnSectionChange($event)); });
|
|
63
136
|
i0.ɵɵelementEnd();
|
|
64
137
|
} if (rf & 2) {
|
|
65
|
-
const
|
|
66
|
-
i0.ɵɵproperty("TimeRange",
|
|
138
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
139
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("Filters", ctx_r1.CurrentFilters);
|
|
67
140
|
} }
|
|
68
141
|
function AIAnalyticsResourceComponent_Case_10_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
-
|
|
70
|
-
i0.ɵɵelementStart(0, "app-analytics-prompt-runs", 11);
|
|
71
|
-
i0.ɵɵlistener("TimeRangeChange", function AIAnalyticsResourceComponent_Case_10_Template_app_analytics_prompt_runs_TimeRangeChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnTimeRangeChange($event)); })("FiltersChange", function AIAnalyticsResourceComponent_Case_10_Template_app_analytics_prompt_runs_FiltersChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnFiltersChange($event)); });
|
|
72
|
-
i0.ɵɵelementEnd();
|
|
142
|
+
i0.ɵɵelement(0, "app-analytics-prompt-runs", 8, 1);
|
|
73
143
|
} if (rf & 2) {
|
|
74
|
-
const
|
|
75
|
-
i0.ɵɵproperty("TimeRange",
|
|
144
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
145
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("Filters", ctx_r1.CurrentFilters);
|
|
76
146
|
} }
|
|
77
147
|
function AIAnalyticsResourceComponent_Case_11_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
-
|
|
79
|
-
i0.ɵɵelementStart(0, "app-analytics-agent-runs", 12);
|
|
80
|
-
i0.ɵɵlistener("TimeRangeChange", function AIAnalyticsResourceComponent_Case_11_Template_app_analytics_agent_runs_TimeRangeChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnTimeRangeChange($event)); });
|
|
81
|
-
i0.ɵɵelementEnd();
|
|
148
|
+
i0.ɵɵelement(0, "app-analytics-agent-runs", 8);
|
|
82
149
|
} if (rf & 2) {
|
|
83
|
-
const
|
|
84
|
-
i0.ɵɵproperty("TimeRange",
|
|
150
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
151
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("Filters", ctx_r1.CurrentFilters);
|
|
85
152
|
} }
|
|
86
153
|
function AIAnalyticsResourceComponent_Case_12_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
-
|
|
88
|
-
i0.ɵɵelementStart(0, "app-analytics-model-performance", 12);
|
|
89
|
-
i0.ɵɵlistener("TimeRangeChange", function AIAnalyticsResourceComponent_Case_12_Template_app_analytics_model_performance_TimeRangeChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnTimeRangeChange($event)); });
|
|
90
|
-
i0.ɵɵelementEnd();
|
|
154
|
+
i0.ɵɵelement(0, "app-analytics-model-performance", 9);
|
|
91
155
|
} if (rf & 2) {
|
|
92
|
-
const
|
|
93
|
-
i0.ɵɵproperty("TimeRange",
|
|
156
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
157
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("SortBy", ctx_r1.CurrentSortBy)("SelectedVendor", ctx_r1.CurrentVendor);
|
|
94
158
|
} }
|
|
95
159
|
function AIAnalyticsResourceComponent_Case_13_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
-
|
|
97
|
-
i0.ɵɵelementStart(0, "app-analytics-cost-budget", 11);
|
|
98
|
-
i0.ɵɵlistener("TimeRangeChange", function AIAnalyticsResourceComponent_Case_13_Template_app_analytics_cost_budget_TimeRangeChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnTimeRangeChange($event)); })("FiltersChange", function AIAnalyticsResourceComponent_Case_13_Template_app_analytics_cost_budget_FiltersChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnFiltersChange($event)); });
|
|
99
|
-
i0.ɵɵelementEnd();
|
|
160
|
+
i0.ɵɵelement(0, "app-analytics-cost-budget", 8);
|
|
100
161
|
} if (rf & 2) {
|
|
101
|
-
const
|
|
102
|
-
i0.ɵɵproperty("TimeRange",
|
|
162
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
163
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("Filters", ctx_r1.CurrentFilters);
|
|
103
164
|
} }
|
|
104
165
|
function AIAnalyticsResourceComponent_Case_14_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
-
i0.ɵɵelement(0, "app-analytics-error-analysis",
|
|
166
|
+
i0.ɵɵelement(0, "app-analytics-error-analysis", 8);
|
|
106
167
|
} if (rf & 2) {
|
|
107
|
-
const
|
|
108
|
-
i0.ɵɵproperty("TimeRange",
|
|
168
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
169
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange)("Filters", ctx_r1.CurrentFilters);
|
|
109
170
|
} }
|
|
110
171
|
function AIAnalyticsResourceComponent_Case_15_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
-
|
|
112
|
-
i0.ɵɵelementStart(0, "app-analytics-usage-patterns", 12);
|
|
113
|
-
i0.ɵɵlistener("TimeRangeChange", function AIAnalyticsResourceComponent_Case_15_Template_app_analytics_usage_patterns_TimeRangeChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnTimeRangeChange($event)); });
|
|
114
|
-
i0.ɵɵelementEnd();
|
|
172
|
+
i0.ɵɵelement(0, "app-analytics-usage-patterns", 10);
|
|
115
173
|
} if (rf & 2) {
|
|
116
|
-
const
|
|
117
|
-
i0.ɵɵproperty("TimeRange",
|
|
174
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
175
|
+
i0.ɵɵproperty("TimeRange", ctx_r1.CurrentTimeRange);
|
|
118
176
|
} }
|
|
119
177
|
let AIAnalyticsResourceComponent = class AIAnalyticsResourceComponent extends BaseResourceComponent {
|
|
120
178
|
USER_SETTINGS_KEY = 'AI.Analytics.UserPreferences';
|
|
@@ -122,6 +180,8 @@ let AIAnalyticsResourceComponent = class AIAnalyticsResourceComponent extends Ba
|
|
|
122
180
|
destroy$ = new Subject();
|
|
123
181
|
settingsLoaded = false;
|
|
124
182
|
cdr = inject(ChangeDetectorRef);
|
|
183
|
+
executiveSummary;
|
|
184
|
+
promptRuns;
|
|
125
185
|
ActiveSection = 'executive-summary';
|
|
126
186
|
CurrentTimeRange = '24h';
|
|
127
187
|
CurrentFilters = {
|
|
@@ -130,6 +190,195 @@ let AIAnalyticsResourceComponent = class AIAnalyticsResourceComponent extends Ba
|
|
|
130
190
|
Prompts: [],
|
|
131
191
|
Statuses: []
|
|
132
192
|
};
|
|
193
|
+
/** Single-value SortBy used by Model Performance (lives on the shared chrome). */
|
|
194
|
+
CurrentSortBy = 'cost-efficiency';
|
|
195
|
+
/** Single-value Vendor filter used by Model Performance (lives on the shared chrome). */
|
|
196
|
+
CurrentVendor = '';
|
|
197
|
+
/** SortBy options for Model Performance leaderboard. */
|
|
198
|
+
sortByOptions = [
|
|
199
|
+
{ text: 'By Performance', value: 'cost-efficiency' },
|
|
200
|
+
{ text: 'By Cost', value: 'cost' },
|
|
201
|
+
{ text: 'By Speed', value: 'speed' },
|
|
202
|
+
{ text: 'By Reliability', value: 'reliability' },
|
|
203
|
+
{ text: 'By Usage', value: 'usage-volume' }
|
|
204
|
+
];
|
|
205
|
+
/** Vendor options, lazily built from AIEngineBase for Model Performance leaderboard. */
|
|
206
|
+
get vendorOptions() {
|
|
207
|
+
return AIEngineBase.Instance?.Vendors?.map(v => ({ text: v.Name ?? '', value: v.ID ?? '' }))
|
|
208
|
+
?.sort((a, b) => a.text.localeCompare(b.text)) ?? [];
|
|
209
|
+
}
|
|
210
|
+
/** Per-section filter-bar config — switched on ActiveSection. */
|
|
211
|
+
get FilterBarConfig() {
|
|
212
|
+
switch (this.ActiveSection) {
|
|
213
|
+
case 'executive-summary':
|
|
214
|
+
return { ShowModelFilter: false, ShowAgentFilter: false, ShowPromptFilter: false, ShowStatusFilter: false, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: true, ShowExportButton: false, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
215
|
+
case 'prompt-runs':
|
|
216
|
+
return { ShowModelFilter: true, ShowAgentFilter: true, ShowPromptFilter: true, ShowStatusFilter: true, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: true, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
217
|
+
case 'agent-runs':
|
|
218
|
+
return { ShowModelFilter: false, ShowAgentFilter: true, ShowPromptFilter: false, ShowStatusFilter: true, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
219
|
+
case 'model-performance':
|
|
220
|
+
return { ShowModelFilter: false, ShowAgentFilter: false, ShowPromptFilter: false, ShowStatusFilter: false, ShowSortBy: true, ShowVendor: true, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['24h', '7d', '30d'] };
|
|
221
|
+
case 'cost-budget':
|
|
222
|
+
return { ShowModelFilter: true, ShowAgentFilter: false, ShowPromptFilter: false, ShowStatusFilter: false, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['7d', '30d', '90d', 'MTD', 'YTD'] };
|
|
223
|
+
case 'error-analysis':
|
|
224
|
+
return { ShowModelFilter: true, ShowAgentFilter: false, ShowPromptFilter: true, ShowStatusFilter: false, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
225
|
+
case 'usage-patterns':
|
|
226
|
+
return { ShowModelFilter: false, ShowAgentFilter: false, ShowPromptFilter: false, ShowStatusFilter: false, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
227
|
+
default:
|
|
228
|
+
return { ShowModelFilter: false, ShowAgentFilter: false, ShowPromptFilter: false, ShowStatusFilter: false, ShowSortBy: false, ShowVendor: false, ShowCompareToggle: false, ShowExportButton: false, TimeRangeOptions: ['1h', '6h', '24h', '7d', '30d'] };
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Always true now — every section uses the shared chrome filter bar.
|
|
233
|
+
* Kept as a getter for future per-section carve-outs.
|
|
234
|
+
*/
|
|
235
|
+
get ShowSharedFilterBar() {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
/** Status options used by the popover dropdown when the section has ShowStatusFilter. */
|
|
239
|
+
statusOptions = [
|
|
240
|
+
{ text: 'Success', value: 'Success' },
|
|
241
|
+
{ text: 'Error', value: 'Error' },
|
|
242
|
+
{ text: 'Running', value: 'Running' },
|
|
243
|
+
{ text: 'Pending', value: 'Pending' },
|
|
244
|
+
{ text: 'Canceled', value: 'Canceled' },
|
|
245
|
+
];
|
|
246
|
+
/** Built lazily from AIEngineBase. */
|
|
247
|
+
get modelOptions() {
|
|
248
|
+
return AIEngineBase.Instance?.Models?.map(m => ({ text: m.Name ?? '', value: m.ID }))
|
|
249
|
+
?.sort((a, b) => a.text.localeCompare(b.text)) ?? [];
|
|
250
|
+
}
|
|
251
|
+
get agentOptions() {
|
|
252
|
+
return AIEngineBase.Instance?.Agents
|
|
253
|
+
?.filter(a => a.Status === 'Active')
|
|
254
|
+
?.map(a => ({ text: a.Name ?? '', value: a.ID }))
|
|
255
|
+
?.sort((a, b) => a.text.localeCompare(b.text)) ?? [];
|
|
256
|
+
}
|
|
257
|
+
get promptOptions() {
|
|
258
|
+
return AIEngineBase.Instance?.Prompts?.map(p => ({ text: p.Name ?? '', value: p.ID }))
|
|
259
|
+
?.sort((a, b) => a.text.localeCompare(b.text)) ?? [];
|
|
260
|
+
}
|
|
261
|
+
/** Time-range chip options for the toolbar slot. */
|
|
262
|
+
get timeRangeChipOptions() {
|
|
263
|
+
return this.FilterBarConfig.TimeRangeOptions.map(t => ({ text: t, value: t }));
|
|
264
|
+
}
|
|
265
|
+
/** Compare-mode visual state (kept on the shell now that analytics-filter-bar is gone). */
|
|
266
|
+
compareActive = false;
|
|
267
|
+
/** Build the FilterFieldConfig[] for the popover based on the active section. */
|
|
268
|
+
get analyticsFilterFields() {
|
|
269
|
+
const cfg = this.FilterBarConfig;
|
|
270
|
+
const fields = [];
|
|
271
|
+
if (cfg.ShowModelFilter) {
|
|
272
|
+
fields.push({
|
|
273
|
+
key: 'Models',
|
|
274
|
+
type: 'dropdown',
|
|
275
|
+
label: 'Model',
|
|
276
|
+
icon: 'fa-solid fa-microchip',
|
|
277
|
+
filterable: this.modelOptions.length > 10,
|
|
278
|
+
options: [{ text: 'All Models', value: '' }, ...this.modelOptions],
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
if (cfg.ShowAgentFilter) {
|
|
282
|
+
fields.push({
|
|
283
|
+
key: 'Agents',
|
|
284
|
+
type: 'dropdown',
|
|
285
|
+
label: 'Agent',
|
|
286
|
+
icon: 'fa-solid fa-robot',
|
|
287
|
+
filterable: this.agentOptions.length > 10,
|
|
288
|
+
options: [{ text: 'All Agents', value: '' }, ...this.agentOptions],
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
if (cfg.ShowPromptFilter) {
|
|
292
|
+
fields.push({
|
|
293
|
+
key: 'Prompts',
|
|
294
|
+
type: 'dropdown',
|
|
295
|
+
label: 'Prompt',
|
|
296
|
+
icon: 'fa-solid fa-comment-dots',
|
|
297
|
+
filterable: this.promptOptions.length > 10,
|
|
298
|
+
options: [{ text: 'All Prompts', value: '' }, ...this.promptOptions],
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
if (cfg.ShowStatusFilter) {
|
|
302
|
+
fields.push({
|
|
303
|
+
key: 'Statuses',
|
|
304
|
+
type: 'dropdown',
|
|
305
|
+
label: 'Status',
|
|
306
|
+
icon: 'fa-solid fa-toggle-on',
|
|
307
|
+
options: [{ text: 'All Statuses', value: '' }, ...this.statusOptions],
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
if (cfg.ShowSortBy) {
|
|
311
|
+
fields.push({
|
|
312
|
+
key: 'SortBy',
|
|
313
|
+
type: 'dropdown',
|
|
314
|
+
label: 'Sort By',
|
|
315
|
+
icon: 'fa-solid fa-arrow-down-wide-short',
|
|
316
|
+
options: this.sortByOptions,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (cfg.ShowVendor) {
|
|
320
|
+
fields.push({
|
|
321
|
+
key: 'Vendor',
|
|
322
|
+
type: 'dropdown',
|
|
323
|
+
label: 'Vendor',
|
|
324
|
+
icon: 'fa-solid fa-building',
|
|
325
|
+
filterable: this.vendorOptions.length > 10,
|
|
326
|
+
options: [{ text: 'All Vendors', value: '' }, ...this.vendorOptions],
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
return fields;
|
|
330
|
+
}
|
|
331
|
+
/** Single-value flattened state for the centralized panel (the panel takes scalar values; we hold arrays in CurrentFilters). */
|
|
332
|
+
get analyticsFilterValues() {
|
|
333
|
+
return {
|
|
334
|
+
Models: this.CurrentFilters.Models?.[0] ?? '',
|
|
335
|
+
Agents: this.CurrentFilters.Agents?.[0] ?? '',
|
|
336
|
+
Prompts: this.CurrentFilters.Prompts?.[0] ?? '',
|
|
337
|
+
Statuses: this.CurrentFilters.Statuses?.[0] ?? '',
|
|
338
|
+
SortBy: this.CurrentSortBy,
|
|
339
|
+
Vendor: this.CurrentVendor,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
/** Receive popover updates and translate scalar → array shape used by GlobalFilterState. */
|
|
343
|
+
onAnalyticsFilterValuesChange(values) {
|
|
344
|
+
const next = {
|
|
345
|
+
Models: values['Models'] ? [values['Models']] : [],
|
|
346
|
+
Agents: values['Agents'] ? [values['Agents']] : [],
|
|
347
|
+
Prompts: values['Prompts'] ? [values['Prompts']] : [],
|
|
348
|
+
Statuses: values['Statuses'] ? [values['Statuses']] : [],
|
|
349
|
+
};
|
|
350
|
+
this.OnFiltersChange(next);
|
|
351
|
+
if ('SortBy' in values) {
|
|
352
|
+
this.CurrentSortBy = values['SortBy'] || 'cost-efficiency';
|
|
353
|
+
}
|
|
354
|
+
if ('Vendor' in values) {
|
|
355
|
+
this.CurrentVendor = values['Vendor'] || '';
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/** Reset only the popover filters — leaves TimeRange and CompareActive alone. */
|
|
359
|
+
resetPopoverFilters() {
|
|
360
|
+
this.OnFiltersChange({ Models: [], Agents: [], Prompts: [], Statuses: [] });
|
|
361
|
+
// SortBy + Vendor reset only when Model Performance is the active section.
|
|
362
|
+
if (this.ActiveSection === 'model-performance') {
|
|
363
|
+
this.CurrentSortBy = 'cost-efficiency';
|
|
364
|
+
this.CurrentVendor = '';
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/** Active filter count for the popover badge. */
|
|
368
|
+
get ActiveFilterCount() {
|
|
369
|
+
const f = this.CurrentFilters;
|
|
370
|
+
let count = (f.Models?.length ?? 0) + (f.Agents?.length ?? 0) + (f.Prompts?.length ?? 0) + (f.Statuses?.length ?? 0);
|
|
371
|
+
// SortBy counts as "active" when it differs from the default.
|
|
372
|
+
if (this.FilterBarConfig.ShowSortBy && this.CurrentSortBy && this.CurrentSortBy !== 'cost-efficiency')
|
|
373
|
+
count++;
|
|
374
|
+
if (this.FilterBarConfig.ShowVendor && this.CurrentVendor)
|
|
375
|
+
count++;
|
|
376
|
+
return count;
|
|
377
|
+
}
|
|
378
|
+
/** Toggle Compare mode — the mjButton directive owns the [(selected)] flip, so this handler only forwards the new value. */
|
|
379
|
+
toggleCompare() {
|
|
380
|
+
this.OnCompareToggled(this.compareActive);
|
|
381
|
+
}
|
|
133
382
|
NavItems = [
|
|
134
383
|
{ Label: 'Executive Summary', Icon: 'fa-solid fa-gauge-high', Key: 'executive-summary' },
|
|
135
384
|
{ Label: 'Prompt Runs', Icon: 'fa-solid fa-comment-dots', Key: 'prompt-runs' },
|
|
@@ -176,6 +425,14 @@ let AIAnalyticsResourceComponent = class AIAnalyticsResourceComponent extends Ba
|
|
|
176
425
|
this.CurrentFilters = filters;
|
|
177
426
|
this.saveUserSettings();
|
|
178
427
|
}
|
|
428
|
+
/** Compare-toggle button — only visible on Executive Summary; forwards to that section. */
|
|
429
|
+
OnCompareToggled(value) {
|
|
430
|
+
this.executiveSummary?.OnCompareToggled?.(value);
|
|
431
|
+
}
|
|
432
|
+
/** Export button — only visible on Prompt Runs; forwards to that section. */
|
|
433
|
+
OnExportClicked() {
|
|
434
|
+
this.promptRuns?.ExportCSV?.();
|
|
435
|
+
}
|
|
179
436
|
// ── Private Helpers ──
|
|
180
437
|
setupSettingsDebounce() {
|
|
181
438
|
this.settingsPersistSubject.pipe(debounceTime(500), takeUntil(this.destroy$)).subscribe(() => this.persistUserSettings());
|
|
@@ -246,24 +503,36 @@ let AIAnalyticsResourceComponent = class AIAnalyticsResourceComponent extends Ba
|
|
|
246
503
|
}
|
|
247
504
|
}
|
|
248
505
|
static ɵfac = /*@__PURE__*/ (() => { let ɵAIAnalyticsResourceComponent_BaseFactory; return function AIAnalyticsResourceComponent_Factory(__ngFactoryType__) { return (ɵAIAnalyticsResourceComponent_BaseFactory || (ɵAIAnalyticsResourceComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AIAnalyticsResourceComponent)))(__ngFactoryType__ || AIAnalyticsResourceComponent); }; })();
|
|
249
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAnalyticsResourceComponent, selectors: [["app-ai-analytics-resource"]],
|
|
250
|
-
i0.ɵɵ
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
i0.ɵɵ
|
|
254
|
-
i0.ɵɵ
|
|
506
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAnalyticsResourceComponent, selectors: [["app-ai-analytics-resource"]], viewQuery: function AIAnalyticsResourceComponent_Query(rf, ctx) { if (rf & 1) {
|
|
507
|
+
i0.ɵɵviewQuery(_c0, 5)(_c1, 5);
|
|
508
|
+
} if (rf & 2) {
|
|
509
|
+
let _t;
|
|
510
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.executiveSummary = _t.first);
|
|
511
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.promptRuns = _t.first);
|
|
512
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 16, vars: 4, consts: [["executiveSummary", ""], ["promptRuns", ""], ["Title", "Analytics", "Icon", "fa-solid fa-chart-line"], ["actions", ""], ["toolbar", "", 1, "time-range-chips"], [1, "analytics-shell", 3, "Padding"], [1, "analytics-nav"], [1, "analytics-content"], [3, "TimeRange", "Filters"], [3, "TimeRange", "SortBy", "SelectedVendor"], [3, "TimeRange"], [3, "ActiveCount", "ShowClearAll"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "toggleable", "selected"], ["mjButton", "", "variant", "secondary", "size", "sm"], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "selectedChange", "toggleable", "selected"], [1, "fa-solid", "fa-code-compare"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-download"], [3, "Label", "Active"], [3, "Clicked", "Label", "Active"], [1, "nav-divider"], [1, "nav-item", 3, "active"], [1, "nav-item", 3, "click"], [3, "SectionNavigate", "TimeRange", "Filters"]], template: function AIAnalyticsResourceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
513
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 2);
|
|
514
|
+
i0.ɵɵconditionalCreate(2, AIAnalyticsResourceComponent_Conditional_2_Template, 4, 3, "div", 3);
|
|
515
|
+
i0.ɵɵconditionalCreate(3, AIAnalyticsResourceComponent_Conditional_3_Template, 3, 0, "div", 4);
|
|
516
|
+
i0.ɵɵelementEnd();
|
|
517
|
+
i0.ɵɵelementStart(4, "mj-page-body", 5)(5, "nav", 6);
|
|
255
518
|
i0.ɵɵrepeaterCreate(6, AIAnalyticsResourceComponent_For_7_Template, 2, 1, null, null, _forTrack0);
|
|
256
519
|
i0.ɵɵelementEnd();
|
|
257
|
-
i0.ɵɵelementStart(8, "div",
|
|
258
|
-
i0.ɵɵconditionalCreate(9, AIAnalyticsResourceComponent_Case_9_Template,
|
|
259
|
-
i0.ɵɵelementEnd()();
|
|
520
|
+
i0.ɵɵelementStart(8, "div", 7);
|
|
521
|
+
i0.ɵɵconditionalCreate(9, AIAnalyticsResourceComponent_Case_9_Template, 2, 2, "app-analytics-executive-summary", 8)(10, AIAnalyticsResourceComponent_Case_10_Template, 2, 2, "app-analytics-prompt-runs", 8)(11, AIAnalyticsResourceComponent_Case_11_Template, 1, 2, "app-analytics-agent-runs", 8)(12, AIAnalyticsResourceComponent_Case_12_Template, 1, 3, "app-analytics-model-performance", 9)(13, AIAnalyticsResourceComponent_Case_13_Template, 1, 2, "app-analytics-cost-budget", 8)(14, AIAnalyticsResourceComponent_Case_14_Template, 1, 2, "app-analytics-error-analysis", 8)(15, AIAnalyticsResourceComponent_Case_15_Template, 1, 1, "app-analytics-usage-patterns", 10);
|
|
522
|
+
i0.ɵɵelementEnd()()();
|
|
260
523
|
} if (rf & 2) {
|
|
261
|
-
let
|
|
262
|
-
i0.ɵɵadvance(
|
|
524
|
+
let tmp_4_0;
|
|
525
|
+
i0.ɵɵadvance(2);
|
|
526
|
+
i0.ɵɵconditional(ctx.ShowSharedFilterBar ? 2 : -1);
|
|
527
|
+
i0.ɵɵadvance();
|
|
528
|
+
i0.ɵɵconditional(ctx.ShowSharedFilterBar && ctx.timeRangeChipOptions.length > 0 ? 3 : -1);
|
|
529
|
+
i0.ɵɵadvance();
|
|
530
|
+
i0.ɵɵproperty("Padding", false);
|
|
531
|
+
i0.ɵɵadvance(2);
|
|
263
532
|
i0.ɵɵrepeater(ctx.NavItems);
|
|
264
533
|
i0.ɵɵadvance(3);
|
|
265
|
-
i0.ɵɵconditional((
|
|
266
|
-
} }, dependencies: [i1.
|
|
534
|
+
i0.ɵɵconditional((tmp_4_0 = ctx.ActiveSection) === "executive-summary" ? 9 : tmp_4_0 === "prompt-runs" ? 10 : tmp_4_0 === "agent-runs" ? 11 : tmp_4_0 === "model-performance" ? 12 : tmp_4_0 === "cost-budget" ? 13 : tmp_4_0 === "error-analysis" ? 14 : tmp_4_0 === "usage-patterns" ? 15 : -1);
|
|
535
|
+
} }, dependencies: [i1.MJButtonDirective, i1.MJPageHeaderComponent, i1.MJPageLayoutComponent, i1.MJPageBodyComponent, i1.MJFilterPopoverComponent, i1.MJFilterPanelComponent, i1.MJFilterChipComponent, i2.AnalyticsExecutiveSummaryComponent, i3.AnalyticsPromptRunsComponent, i4.AnalyticsAgentRunsComponent, i5.AnalyticsModelPerformanceComponent, i6.AnalyticsCostBudgetComponent, i7.AnalyticsErrorAnalysisComponent, i8.AnalyticsUsagePatternsComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n }\n\n .analytics-shell[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n background: var(--mj-bg-page);\n }\n\n \n\n\n .analytics-nav[_ngcontent-%COMP%] {\n width: 220px;\n min-width: 220px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n padding: 12px 0;\n overflow-y: auto;\n }\n\n .nav-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 18px;\n border: none;\n border-left: 3px solid transparent;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s, color 0.15s, border-color 0.15s;\n text-align: left;\n width: 100%;\n }\n\n .nav-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n }\n\n .nav-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-left-color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n width: 18px;\n text-align: center;\n font-size: 14px;\n }\n\n .nav-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--mj-border-subtle);\n margin: 8px 18px;\n }\n\n \n\n\n .analytics-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n \n\n\n .section-placeholder[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 80px 24px;\n color: var(--mj-text-muted);\n }\n\n .placeholder-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 20px;\n color: var(--mj-brand-primary);\n opacity: 0.4;\n }\n\n .section-placeholder[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px;\n }\n\n .section-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-muted);\n margin: 0;\n max-width: 420px;\n }\n\n \n\n\n @media (max-width: 768px) {\n .analytics-shell[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n\n .analytics-nav[_ngcontent-%COMP%] {\n width: 100%;\n min-width: unset;\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n padding: 0 8px;\n gap: 2px;\n }\n\n .nav-header[_ngcontent-%COMP%] {\n display: none;\n }\n\n .nav-divider[_ngcontent-%COMP%] {\n width: 1px;\n height: 28px;\n margin: auto 4px;\n }\n\n .nav-item[_ngcontent-%COMP%] {\n white-space: nowrap;\n border-left: none;\n border-bottom: 3px solid transparent;\n padding: 10px 14px;\n }\n\n .nav-item.active[_ngcontent-%COMP%] {\n border-left-color: transparent;\n border-bottom-color: var(--mj-brand-primary);\n }\n\n .analytics-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n }"] });
|
|
267
536
|
};
|
|
268
537
|
AIAnalyticsResourceComponent = __decorate([
|
|
269
538
|
RegisterClass(BaseResourceComponent, 'AIAnalyticsResource')
|
|
@@ -272,12 +541,51 @@ export { AIAnalyticsResourceComponent };
|
|
|
272
541
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAnalyticsResourceComponent, [{
|
|
273
542
|
type: Component,
|
|
274
543
|
args: [{ standalone: false, selector: 'app-ai-analytics-resource', template: `
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
544
|
+
<mj-page-layout>
|
|
545
|
+
<mj-page-header
|
|
546
|
+
Title="Analytics"
|
|
547
|
+
Icon="fa-solid fa-chart-line">
|
|
548
|
+
@if (ShowSharedFilterBar) {
|
|
549
|
+
<div actions>
|
|
550
|
+
@if (analyticsFilterFields.length > 0) {
|
|
551
|
+
<mj-filter-popover
|
|
552
|
+
[ActiveCount]="ActiveFilterCount"
|
|
553
|
+
[ShowClearAll]="ActiveFilterCount > 0"
|
|
554
|
+
(ClearAllRequested)="resetPopoverFilters()">
|
|
555
|
+
<mj-filter-panel
|
|
556
|
+
[Fields]="analyticsFilterFields"
|
|
557
|
+
[Values]="analyticsFilterValues"
|
|
558
|
+
(ValuesChange)="onAnalyticsFilterValuesChange($event)"
|
|
559
|
+
(Reset)="resetPopoverFilters()">
|
|
560
|
+
</mj-filter-panel>
|
|
561
|
+
</mj-filter-popover>
|
|
562
|
+
}
|
|
563
|
+
@if (FilterBarConfig.ShowCompareToggle) {
|
|
564
|
+
<button mjButton variant="secondary" size="sm" [toggleable]="true" [(selected)]="compareActive" (selectedChange)="toggleCompare()">
|
|
565
|
+
<i class="fa-solid fa-code-compare"></i> Compare
|
|
566
|
+
</button>
|
|
567
|
+
}
|
|
568
|
+
@if (FilterBarConfig.ShowExportButton) {
|
|
569
|
+
<button mjButton variant="secondary" size="sm" (click)="OnExportClicked()">
|
|
570
|
+
<i class="fa-solid fa-download"></i> Export
|
|
571
|
+
</button>
|
|
572
|
+
}
|
|
280
573
|
</div>
|
|
574
|
+
}
|
|
575
|
+
@if (ShowSharedFilterBar && timeRangeChipOptions.length > 0) {
|
|
576
|
+
<div toolbar class="time-range-chips">
|
|
577
|
+
@for (chip of timeRangeChipOptions; track chip.value) {
|
|
578
|
+
<mj-filter-chip
|
|
579
|
+
[Label]="chip.text"
|
|
580
|
+
[Active]="CurrentTimeRange === chip.value"
|
|
581
|
+
(Clicked)="OnTimeRangeChange(chip.value)">
|
|
582
|
+
</mj-filter-chip>
|
|
583
|
+
}
|
|
584
|
+
</div>
|
|
585
|
+
}
|
|
586
|
+
</mj-page-header>
|
|
587
|
+
<mj-page-body [Padding]="false" class="analytics-shell">
|
|
588
|
+
<nav class="analytics-nav">
|
|
281
589
|
@for (item of NavItems; track item.Key) {
|
|
282
590
|
@if (item.Key === 'divider') {
|
|
283
591
|
<div class="nav-divider"></div>
|
|
@@ -297,39 +605,36 @@ export { AIAnalyticsResourceComponent };
|
|
|
297
605
|
@switch (ActiveSection) {
|
|
298
606
|
@case ('executive-summary') {
|
|
299
607
|
<app-analytics-executive-summary
|
|
608
|
+
#executiveSummary
|
|
300
609
|
[TimeRange]="CurrentTimeRange"
|
|
301
610
|
[Filters]="CurrentFilters"
|
|
302
|
-
(TimeRangeChange)="OnTimeRangeChange($event)"
|
|
303
|
-
(FiltersChange)="OnFiltersChange($event)"
|
|
304
611
|
(SectionNavigate)="OnSectionChange($event)"
|
|
305
612
|
></app-analytics-executive-summary>
|
|
306
613
|
}
|
|
307
614
|
@case ('prompt-runs') {
|
|
308
615
|
<app-analytics-prompt-runs
|
|
616
|
+
#promptRuns
|
|
309
617
|
[TimeRange]="CurrentTimeRange"
|
|
310
618
|
[Filters]="CurrentFilters"
|
|
311
|
-
(TimeRangeChange)="OnTimeRangeChange($event)"
|
|
312
|
-
(FiltersChange)="OnFiltersChange($event)"
|
|
313
619
|
></app-analytics-prompt-runs>
|
|
314
620
|
}
|
|
315
621
|
@case ('agent-runs') {
|
|
316
622
|
<app-analytics-agent-runs
|
|
317
623
|
[TimeRange]="CurrentTimeRange"
|
|
318
|
-
|
|
624
|
+
[Filters]="CurrentFilters"
|
|
319
625
|
></app-analytics-agent-runs>
|
|
320
626
|
}
|
|
321
627
|
@case ('model-performance') {
|
|
322
628
|
<app-analytics-model-performance
|
|
323
629
|
[TimeRange]="CurrentTimeRange"
|
|
324
|
-
|
|
630
|
+
[SortBy]="CurrentSortBy"
|
|
631
|
+
[SelectedVendor]="CurrentVendor"
|
|
325
632
|
></app-analytics-model-performance>
|
|
326
633
|
}
|
|
327
634
|
@case ('cost-budget') {
|
|
328
635
|
<app-analytics-cost-budget
|
|
329
636
|
[TimeRange]="CurrentTimeRange"
|
|
330
637
|
[Filters]="CurrentFilters"
|
|
331
|
-
(TimeRangeChange)="OnTimeRangeChange($event)"
|
|
332
|
-
(FiltersChange)="OnFiltersChange($event)"
|
|
333
638
|
></app-analytics-cost-budget>
|
|
334
639
|
}
|
|
335
640
|
@case ('error-analysis') {
|
|
@@ -341,15 +646,21 @@ export { AIAnalyticsResourceComponent };
|
|
|
341
646
|
@case ('usage-patterns') {
|
|
342
647
|
<app-analytics-usage-patterns
|
|
343
648
|
[TimeRange]="CurrentTimeRange"
|
|
344
|
-
(TimeRangeChange)="OnTimeRangeChange($event)"
|
|
345
649
|
></app-analytics-usage-patterns>
|
|
346
650
|
}
|
|
347
651
|
}
|
|
348
652
|
</div>
|
|
349
|
-
</
|
|
350
|
-
|
|
351
|
-
}
|
|
352
|
-
|
|
653
|
+
</mj-page-body>
|
|
654
|
+
</mj-page-layout>
|
|
655
|
+
`, styles: ["\n :host {\n display: block;\n height: 100%;\n }\n\n .analytics-shell {\n display: flex;\n flex: 1;\n min-height: 0;\n background: var(--mj-bg-page);\n }\n\n /* \u2500\u2500 Left Navigation \u2500\u2500 */\n\n .analytics-nav {\n width: 220px;\n min-width: 220px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n padding: 12px 0;\n overflow-y: auto;\n }\n\n .nav-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 18px;\n border: none;\n border-left: 3px solid transparent;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s, color 0.15s, border-color 0.15s;\n text-align: left;\n width: 100%;\n }\n\n .nav-item:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n }\n\n .nav-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-left-color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .nav-item i {\n width: 18px;\n text-align: center;\n font-size: 14px;\n }\n\n .nav-divider {\n height: 1px;\n background: var(--mj-border-subtle);\n margin: 8px 18px;\n }\n\n /* \u2500\u2500 Content Area \u2500\u2500 */\n\n .analytics-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n /* \u2500\u2500 Section Placeholders \u2500\u2500 */\n\n .section-placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 80px 24px;\n color: var(--mj-text-muted);\n }\n\n .placeholder-icon {\n font-size: 48px;\n margin-bottom: 20px;\n color: var(--mj-brand-primary);\n opacity: 0.4;\n }\n\n .section-placeholder h2 {\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px;\n }\n\n .section-placeholder p {\n font-size: 14px;\n color: var(--mj-text-muted);\n margin: 0;\n max-width: 420px;\n }\n\n /* \u2500\u2500 Responsive: collapse nav to horizontal strip \u2500\u2500 */\n\n @media (max-width: 768px) {\n .analytics-shell {\n flex-direction: column;\n }\n\n .analytics-nav {\n width: 100%;\n min-width: unset;\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n padding: 0 8px;\n gap: 2px;\n }\n\n .nav-header {\n display: none;\n }\n\n .nav-divider {\n width: 1px;\n height: 28px;\n margin: auto 4px;\n }\n\n .nav-item {\n white-space: nowrap;\n border-left: none;\n border-bottom: 3px solid transparent;\n padding: 10px 14px;\n }\n\n .nav-item.active {\n border-left-color: transparent;\n border-bottom-color: var(--mj-brand-primary);\n }\n\n .analytics-content {\n padding: 16px;\n }\n }\n "] }]
|
|
656
|
+
}], null, { executiveSummary: [{
|
|
657
|
+
type: ViewChild,
|
|
658
|
+
args: ['executiveSummary']
|
|
659
|
+
}], promptRuns: [{
|
|
660
|
+
type: ViewChild,
|
|
661
|
+
args: ['promptRuns']
|
|
662
|
+
}] }); })();
|
|
663
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIAnalyticsResourceComponent, { className: "AIAnalyticsResourceComponent", filePath: "src/AI/components/analytics/ai-analytics-resource.component.ts", lineNumber: 303 }); })();
|
|
353
664
|
export function LoadAIAnalyticsResource() {
|
|
354
665
|
// Prevents tree-shaking of the @RegisterClass decorator
|
|
355
666
|
}
|