@memberjunction/ng-dashboards 2.48.0 → 2.50.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 (92) hide show
  1. package/README.md +105 -2
  2. package/dist/AI/ai-dashboard.component.d.ts +2 -0
  3. package/dist/AI/ai-dashboard.component.d.ts.map +1 -1
  4. package/dist/AI/ai-dashboard.component.js +66 -43
  5. package/dist/AI/ai-dashboard.component.js.map +1 -1
  6. package/dist/AI/components/agents/agent-configuration.component.js +45 -58
  7. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  8. package/dist/AI/components/agents/agent-editor.component.d.ts +6 -1
  9. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  10. package/dist/AI/components/agents/agent-editor.component.js +368 -366
  11. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  12. package/dist/AI/components/agents/agent-filter-panel.component.js +83 -85
  13. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  14. package/dist/AI/components/charts/performance-heatmap.component.d.ts +66 -0
  15. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -0
  16. package/dist/AI/components/charts/performance-heatmap.component.js +428 -0
  17. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -0
  18. package/dist/AI/components/charts/time-series-chart.component.d.ts +66 -0
  19. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -0
  20. package/dist/AI/components/charts/time-series-chart.component.js +547 -0
  21. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -0
  22. package/dist/AI/components/execution-monitoring.component.d.ts +157 -5
  23. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  24. package/dist/AI/components/execution-monitoring.component.js +2032 -20
  25. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  26. package/dist/AI/components/models/model-management.component.js +211 -237
  27. package/dist/AI/components/models/model-management.component.js.map +1 -1
  28. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +208 -226
  29. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  30. package/dist/AI/components/prompts/prompt-filter-panel.component.js +97 -99
  31. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  32. package/dist/AI/components/prompts/prompt-management.component.js +381 -424
  33. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  34. package/dist/AI/components/prompts/prompt-version-control.component.js +173 -191
  35. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  36. package/dist/AI/components/system/system-config-filter-panel.component.js +85 -87
  37. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  38. package/dist/AI/components/system/system-configuration.component.js +86 -99
  39. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  40. package/dist/AI/components/widgets/kpi-card.component.d.ts +25 -0
  41. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -0
  42. package/dist/AI/components/widgets/kpi-card.component.js +163 -0
  43. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -0
  44. package/dist/AI/components/widgets/live-execution-widget.component.d.ts +25 -0
  45. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -0
  46. package/dist/AI/components/widgets/live-execution-widget.component.js +298 -0
  47. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -0
  48. package/dist/AI/index.d.ts +7 -0
  49. package/dist/AI/index.d.ts.map +1 -0
  50. package/dist/AI/index.js +9 -0
  51. package/dist/AI/index.js.map +1 -0
  52. package/dist/AI/services/ai-instrumentation.service.d.ts +109 -0
  53. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -0
  54. package/dist/AI/services/ai-instrumentation.service.js +490 -0
  55. package/dist/AI/services/ai-instrumentation.service.js.map +1 -0
  56. package/dist/Actions/actions-management-dashboard.component.js +40 -41
  57. package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
  58. package/dist/Actions/components/actions-list-view.component.js +117 -134
  59. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  60. package/dist/Actions/components/actions-overview.component.js +274 -296
  61. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  62. package/dist/Actions/components/categories-list-view.component.js +12 -14
  63. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  64. package/dist/Actions/components/code-management.component.js +12 -14
  65. package/dist/Actions/components/code-management.component.js.map +1 -1
  66. package/dist/Actions/components/entity-integration.component.js +12 -14
  67. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  68. package/dist/Actions/components/execution-monitoring.component.js +238 -256
  69. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  70. package/dist/Actions/components/executions-list-view.component.js +12 -14
  71. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  72. package/dist/Actions/components/scheduled-actions.component.js +12 -14
  73. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  74. package/dist/Actions/components/security-permissions.component.js +12 -14
  75. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  76. package/dist/EntityAdmin/components/entity-details.component.js +105 -107
  77. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -1
  78. package/dist/EntityAdmin/components/entity-filter-panel.component.js +100 -102
  79. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -1
  80. package/dist/EntityAdmin/components/erd-composite.component.js +84 -100
  81. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -1
  82. package/dist/EntityAdmin/components/erd-diagram.component.js +50 -50
  83. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -1
  84. package/dist/EntityAdmin/entity-admin-dashboard.component.js +45 -49
  85. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  86. package/dist/generic/base-dashboard.js +28 -40
  87. package/dist/generic/base-dashboard.js.map +1 -1
  88. package/dist/module.d.ts +16 -12
  89. package/dist/module.d.ts.map +1 -1
  90. package/dist/module.js +36 -15
  91. package/dist/module.js.map +1 -1
  92. package/package.json +6 -6
@@ -1,13 +1,165 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { AIInstrumentationService, DashboardKPIs, TrendData, LiveExecution, ChartData, ExecutionDetails } from '../services/ai-instrumentation.service';
4
+ import { DataPointClickEvent } from './charts/time-series-chart.component';
5
+ import { KPICardData } from './widgets/kpi-card.component';
6
+ import { HeatmapData } from './charts/performance-heatmap.component';
2
7
  import * as i0 from "@angular/core";
3
- export declare class ExecutionMonitoringComponent {
8
+ export interface DrillDownTab {
9
+ id: string;
10
+ title: string;
11
+ type: 'chart' | 'executions' | 'model-detail';
12
+ data?: any;
13
+ timestamp?: Date;
14
+ metric?: string;
15
+ closeable: boolean;
16
+ }
17
+ export interface ExecutionRecord {
18
+ id: string;
19
+ type: 'prompt' | 'agent';
20
+ name: string;
21
+ model?: string;
22
+ status: string;
23
+ startTime: Date;
24
+ endTime?: Date;
25
+ duration: number;
26
+ cost: number;
27
+ tokens: number;
28
+ errorMessage?: string;
29
+ }
30
+ export interface ExecutionMonitoringState {
31
+ selectedTimeRange: string;
32
+ refreshInterval: number;
33
+ panelStates: {
34
+ cost: boolean;
35
+ efficiency: boolean;
36
+ executions: boolean;
37
+ };
38
+ drillDownTabs: Array<{
39
+ id: string;
40
+ title: string;
41
+ type: string;
42
+ timestamp?: string;
43
+ metric?: string;
44
+ }>;
45
+ activeTabId: string;
46
+ splitterSizes?: number[];
47
+ }
48
+ export declare class ExecutionMonitoringComponent implements OnInit, OnDestroy {
49
+ private instrumentationService;
50
+ initialState?: Partial<ExecutionMonitoringState>;
4
51
  openEntityRecord: EventEmitter<{
5
52
  entityName: string;
6
53
  recordId: string;
7
54
  }>;
8
- constructor();
9
- onOpenEntityRecord(entityName: string, recordId: string): void;
55
+ stateChange: EventEmitter<ExecutionMonitoringState>;
56
+ private destroy$;
57
+ private stateChangeSubject$;
58
+ refreshInterval: number;
59
+ selectedTimeRange: string;
60
+ isLoading: boolean;
61
+ timeSeriesConfig: {
62
+ showGrid: boolean;
63
+ showTooltip: boolean;
64
+ animationDuration: number;
65
+ useDualAxis: boolean;
66
+ };
67
+ heatmapConfig: {
68
+ height: number;
69
+ showTooltip: boolean;
70
+ animationDuration: number;
71
+ };
72
+ kpis$: Observable<DashboardKPIs>;
73
+ trends$: Observable<TrendData[]>;
74
+ liveExecutions$: Observable<LiveExecution[]>;
75
+ chartData$: Observable<ChartData>;
76
+ kpiCards$: Observable<KPICardData[]>;
77
+ performanceMatrix$: Observable<HeatmapData[]>;
78
+ costData$: Observable<{
79
+ model: string;
80
+ cost: number;
81
+ tokens: number;
82
+ }[]>;
83
+ tokenEfficiency$: Observable<{
84
+ inputTokens: number;
85
+ outputTokens: number;
86
+ cost: number;
87
+ model: string;
88
+ }[]>;
89
+ selectedExecution: LiveExecution | null;
90
+ executionDetails: ExecutionDetails | null;
91
+ loadingExecutionDetails: boolean;
92
+ drillDownTabs: DrillDownTab[];
93
+ activeTabId: string;
94
+ loadingDrillDown: boolean;
95
+ panelStates: {
96
+ cost: boolean;
97
+ efficiency: boolean;
98
+ executions: boolean;
99
+ };
100
+ get activeTab(): DrillDownTab | undefined;
101
+ constructor(instrumentationService: AIInstrumentationService);
102
+ ngOnInit(): void;
103
+ ngOnDestroy(): void;
104
+ private getCurrentState;
105
+ private emitStateChange;
106
+ loadUserState(state: Partial<ExecutionMonitoringState>): void;
107
+ private createKPICards;
108
+ onRefreshIntervalChange(): void;
109
+ onTimeRangeChange(): void;
110
+ private setTimeRange;
111
+ refreshData(): void;
112
+ onExecutionClick(execution: LiveExecution): void;
113
+ onDataPointClick(event: DataPointClickEvent): void;
114
+ onChartTimeRangeChange(range: string): void;
115
+ private getMetricValue;
116
+ private formatMetricValue;
117
+ private loadExecutionDetails;
118
+ closeExecutionModal(): void;
119
+ openFullRecord(): void;
120
+ trackByKpiTitle(index: number, kpi: KPICardData): string;
121
+ trackByCostModel(index: number, item: {
122
+ model: string;
123
+ cost: number;
124
+ tokens: number;
125
+ }): string;
126
+ trackByEfficiencyModel(index: number, item: {
127
+ model: string;
128
+ inputTokens: number;
129
+ outputTokens: number;
130
+ cost: number;
131
+ }): string;
132
+ formatTokens(tokens: number): string;
133
+ formatCurrency(amount: number, decimals?: number): string;
134
+ formatCostPerToken(cost: number, tokens: number): string;
135
+ getCostBarWidth(cost: number, maxCost: number): number;
136
+ getMaxCost(costData: {
137
+ cost: number;
138
+ }[]): number;
139
+ getTokenRatio(input: number, output: number): string;
140
+ getTokenPercentage(tokens: number, total: number): number;
141
+ getCostPerToken(cost: number, tokens: number): string;
142
+ selectTab(tabId: string): void;
143
+ closeTab(event: MouseEvent, tabId: string): void;
144
+ onKpiClick(kpi: KPICardData): void;
145
+ isKpiClickable(kpi: KPICardData): boolean;
146
+ private openModelDrillDown;
147
+ private loadDrillDownData;
148
+ private loadModelDetails;
149
+ private getPromptName;
150
+ private getAgentName;
151
+ private getModelName;
152
+ formatTimestamp(timestamp: Date): string;
153
+ formatTime(time: Date): string;
154
+ getMetricDisplayLabel(metric: string): string;
155
+ getFormattedTimestamp(tab: DrillDownTab | undefined): string;
156
+ getFormattedMetricLabel(tab: DrillDownTab | undefined): string;
157
+ togglePanel(panelName: 'cost' | 'efficiency' | 'executions'): void;
158
+ viewExecutionDetail(execution: ExecutionRecord): void;
159
+ formatDuration(milliseconds: number): string;
160
+ getDuration(details: ExecutionDetails): number;
161
+ onSplitterLayoutChange(event: any): void;
10
162
  static ɵfac: i0.ɵɵFactoryDeclaration<ExecutionMonitoringComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<ExecutionMonitoringComponent, "app-execution-monitoring", never, {}, { "openEntityRecord": "openEntityRecord"; }, never, never, false, never>;
163
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExecutionMonitoringComponent, "app-execution-monitoring", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "openEntityRecord": "openEntityRecord"; "stateChange": "stateChange"; }, never, never, false, never>;
12
164
  }
13
165
  //# sourceMappingURL=execution-monitoring.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-monitoring.component.d.ts","sourceRoot":"","sources":["../../../src/AI/components/execution-monitoring.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;;AAEhE,qBAKa,4BAA4B;IAC7B,gBAAgB;oBAAiC,MAAM;kBAAY,MAAM;OAAK;;IAIxF,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;yCAL5C,4BAA4B;2CAA5B,4BAA4B;CAQxC"}
1
+ {"version":3,"file":"execution-monitoring.component.d.ts","sourceRoot":"","sources":["../../../src/AI/components/execution-monitoring.component.ts"],"names":[],"mappings":"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"}