@codemieai/code 0.0.12 → 0.0.13

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 (124) hide show
  1. package/README.md +65 -778
  2. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  3. package/dist/agents/core/BaseAgentAdapter.js +31 -3
  4. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  5. package/dist/agents/core/types.d.ts +18 -0
  6. package/dist/agents/core/types.d.ts.map +1 -1
  7. package/dist/agents/plugins/claude.plugin.d.ts +0 -3
  8. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  9. package/dist/agents/plugins/claude.plugin.js +12 -1
  10. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  11. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  12. package/dist/agents/plugins/codex.plugin.js +40 -4
  13. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  14. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  15. package/dist/agents/plugins/gemini.plugin.js +50 -5
  16. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  17. package/dist/agents/registry.d.ts +15 -2
  18. package/dist/agents/registry.d.ts.map +1 -1
  19. package/dist/agents/registry.js +30 -6
  20. package/dist/agents/registry.js.map +1 -1
  21. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +37 -0
  22. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +1 -0
  23. package/dist/analytics/aggregation/adapters/claude.adapter.js +471 -0
  24. package/dist/analytics/aggregation/adapters/claude.adapter.js.map +1 -0
  25. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +25 -0
  26. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +1 -0
  27. package/dist/analytics/aggregation/adapters/codex.adapter.js +376 -0
  28. package/dist/analytics/aggregation/adapters/codex.adapter.js.map +1 -0
  29. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +28 -0
  30. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +1 -0
  31. package/dist/analytics/aggregation/adapters/gemini.adapter.js +320 -0
  32. package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +1 -0
  33. package/dist/analytics/aggregation/adapters/index.d.ts +7 -0
  34. package/dist/analytics/aggregation/adapters/index.d.ts.map +1 -0
  35. package/dist/analytics/aggregation/adapters/index.js +7 -0
  36. package/dist/analytics/aggregation/adapters/index.js.map +1 -0
  37. package/dist/analytics/aggregation/aggregator.d.ts +49 -0
  38. package/dist/analytics/aggregation/aggregator.d.ts.map +1 -0
  39. package/dist/analytics/aggregation/aggregator.js +239 -0
  40. package/dist/analytics/aggregation/aggregator.js.map +1 -0
  41. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +63 -0
  42. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +1 -0
  43. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +58 -0
  44. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +1 -0
  45. package/dist/analytics/aggregation/core/adapter.interface.d.ts +65 -0
  46. package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +1 -0
  47. package/dist/analytics/aggregation/core/adapter.interface.js +9 -0
  48. package/dist/analytics/aggregation/core/adapter.interface.js.map +1 -0
  49. package/dist/analytics/aggregation/core/aggregation-utils.d.ts +66 -0
  50. package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +1 -0
  51. package/dist/analytics/aggregation/core/aggregation-utils.js +83 -0
  52. package/dist/analytics/aggregation/core/aggregation-utils.js.map +1 -0
  53. package/dist/analytics/aggregation/core/discovery.d.ts +40 -0
  54. package/dist/analytics/aggregation/core/discovery.d.ts.map +1 -0
  55. package/dist/analytics/aggregation/core/discovery.js +132 -0
  56. package/dist/analytics/aggregation/core/discovery.js.map +1 -0
  57. package/dist/analytics/aggregation/core/file-utils.d.ts +23 -0
  58. package/dist/analytics/aggregation/core/file-utils.d.ts.map +1 -0
  59. package/dist/analytics/aggregation/core/file-utils.js +208 -0
  60. package/dist/analytics/aggregation/core/file-utils.js.map +1 -0
  61. package/dist/analytics/aggregation/core/index.d.ts +11 -0
  62. package/dist/analytics/aggregation/core/index.d.ts.map +1 -0
  63. package/dist/analytics/aggregation/core/index.js +11 -0
  64. package/dist/analytics/aggregation/core/index.js.map +1 -0
  65. package/dist/analytics/aggregation/core/project-mapping.d.ts +50 -0
  66. package/dist/analytics/aggregation/core/project-mapping.d.ts.map +1 -0
  67. package/dist/analytics/aggregation/core/project-mapping.js +102 -0
  68. package/dist/analytics/aggregation/core/project-mapping.js.map +1 -0
  69. package/dist/analytics/aggregation/core/streaming.d.ts +26 -0
  70. package/dist/analytics/aggregation/core/streaming.d.ts.map +1 -0
  71. package/dist/analytics/aggregation/core/streaming.js +58 -0
  72. package/dist/analytics/aggregation/core/streaming.js.map +1 -0
  73. package/dist/analytics/aggregation/index.d.ts +8 -0
  74. package/dist/analytics/aggregation/index.d.ts.map +1 -0
  75. package/dist/analytics/aggregation/index.js +8 -0
  76. package/dist/analytics/aggregation/index.js.map +1 -0
  77. package/dist/analytics/aggregation/types.d.ts +258 -0
  78. package/dist/analytics/aggregation/types.d.ts.map +1 -0
  79. package/dist/analytics/aggregation/types.js +8 -0
  80. package/dist/analytics/aggregation/types.js.map +1 -0
  81. package/dist/analytics/config.d.ts +1 -0
  82. package/dist/analytics/config.d.ts.map +1 -1
  83. package/dist/analytics/config.js +20 -1
  84. package/dist/analytics/config.js.map +1 -1
  85. package/dist/analytics/index.d.ts +0 -9
  86. package/dist/analytics/index.d.ts.map +1 -1
  87. package/dist/analytics/index.js +14 -48
  88. package/dist/analytics/index.js.map +1 -1
  89. package/dist/analytics/plugins/api-metrics.plugin.d.ts +4 -1
  90. package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +1 -1
  91. package/dist/analytics/plugins/api-metrics.plugin.js +6 -22
  92. package/dist/analytics/plugins/api-metrics.plugin.js.map +1 -1
  93. package/dist/analytics/plugins/model-metrics.plugin.d.ts +4 -1
  94. package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +1 -1
  95. package/dist/analytics/plugins/model-metrics.plugin.js +7 -17
  96. package/dist/analytics/plugins/model-metrics.plugin.js.map +1 -1
  97. package/dist/analytics/plugins/provider-metrics.plugin.d.ts +4 -1
  98. package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +1 -1
  99. package/dist/analytics/plugins/provider-metrics.plugin.js +7 -22
  100. package/dist/analytics/plugins/provider-metrics.plugin.js.map +1 -1
  101. package/dist/analytics/plugins/types.d.ts +0 -2
  102. package/dist/analytics/plugins/types.d.ts.map +1 -1
  103. package/dist/analytics/plugins/types.js.map +1 -1
  104. package/dist/analytics/session.d.ts +2 -2
  105. package/dist/analytics/session.d.ts.map +1 -1
  106. package/dist/analytics/session.js +3 -3
  107. package/dist/analytics/session.js.map +1 -1
  108. package/dist/analytics/types.d.ts +1 -1
  109. package/dist/analytics/types.d.ts.map +1 -1
  110. package/dist/cli/commands/analytics.d.ts.map +1 -1
  111. package/dist/cli/commands/analytics.js +512 -252
  112. package/dist/cli/commands/analytics.js.map +1 -1
  113. package/dist/cli/commands/setup.js +70 -1
  114. package/dist/cli/commands/setup.js.map +1 -1
  115. package/dist/utils/codemie-proxy.d.ts.map +1 -1
  116. package/dist/utils/codemie-proxy.js +16 -3
  117. package/dist/utils/codemie-proxy.js.map +1 -1
  118. package/dist/utils/proxy/http-client.d.ts.map +1 -1
  119. package/dist/utils/proxy/http-client.js +8 -2
  120. package/dist/utils/proxy/http-client.js.map +1 -1
  121. package/dist/utils/proxy/interceptors.d.ts.map +1 -1
  122. package/dist/utils/proxy/interceptors.js +4 -15
  123. package/dist/utils/proxy/interceptors.js.map +1 -1
  124. package/package.json +6 -2
@@ -0,0 +1,258 @@
1
+ /**
2
+ * CodeMie Analytics Aggregation System - Core Data Models
3
+ *
4
+ * Defines standardized data structures for aggregating analytics
5
+ * from multiple AI coding agents (Gemini, Claude, Codex, CodeMie Native).
6
+ */
7
+ /**
8
+ * Standardized session data across all agents
9
+ */
10
+ export interface CodemieSession {
11
+ sessionId: string;
12
+ agent: 'gemini' | 'claude' | 'codex' | 'codemie-code' | 'deepagents';
13
+ agentVersion: string;
14
+ startTime: Date;
15
+ endTime?: Date;
16
+ durationMs?: number;
17
+ projectPath: string;
18
+ projectHash?: string;
19
+ gitBranch?: string;
20
+ gitCommit?: string;
21
+ model: string;
22
+ provider: string;
23
+ profile?: string;
24
+ userMessageCount: number;
25
+ assistantMessageCount: number;
26
+ toolCallCount: number;
27
+ successfulToolCalls: number;
28
+ failedToolCalls: number;
29
+ fileModifications: number;
30
+ toolUsage: Record<string, number>;
31
+ toolStatus: Record<string, {
32
+ success: number;
33
+ failure: number;
34
+ }>;
35
+ modelUsage: Record<string, number>;
36
+ tokens: {
37
+ input: number;
38
+ output: number;
39
+ cacheRead: number;
40
+ cacheCreation: number;
41
+ reasoning?: number;
42
+ thoughts?: number;
43
+ tool?: number;
44
+ total: number;
45
+ };
46
+ exitReason?: string;
47
+ hadErrors: boolean;
48
+ fileStats?: {
49
+ filesCreated: number;
50
+ filesModified: number;
51
+ filesDeleted: number;
52
+ totalLinesAdded: number;
53
+ totalLinesRemoved: number;
54
+ totalLinesModified: number;
55
+ byLanguage: Record<string, {
56
+ filesCreated: number;
57
+ filesModified: number;
58
+ linesAdded: number;
59
+ linesRemoved: number;
60
+ }>;
61
+ byFormat: Record<string, {
62
+ filesCreated: number;
63
+ filesModified: number;
64
+ linesAdded: number;
65
+ linesRemoved: number;
66
+ }>;
67
+ byTool: Record<string, {
68
+ count: number;
69
+ linesAdded: number;
70
+ linesRemoved: number;
71
+ }>;
72
+ };
73
+ }
74
+ /**
75
+ * Standardized message data
76
+ */
77
+ export interface CodemieMessage {
78
+ messageId: string;
79
+ sessionId: string;
80
+ timestamp: Date;
81
+ role: 'user' | 'assistant';
82
+ content: string;
83
+ tokens?: {
84
+ input?: number;
85
+ output?: number;
86
+ cacheRead?: number;
87
+ cacheCreation?: number;
88
+ reasoning?: number;
89
+ thoughts?: number;
90
+ tool?: number;
91
+ total?: number;
92
+ };
93
+ toolCalls?: CodemieToolCall[];
94
+ model?: string;
95
+ }
96
+ /**
97
+ * Standardized tool call data
98
+ */
99
+ export interface CodemieToolCall {
100
+ toolCallId: string;
101
+ messageId: string;
102
+ sessionId: string;
103
+ timestamp: Date;
104
+ durationMs?: number;
105
+ toolName: string;
106
+ toolArgs: Record<string, unknown>;
107
+ status: 'success' | 'failure' | 'aborted';
108
+ result?: unknown;
109
+ error?: string;
110
+ modifiedFiles?: string[];
111
+ }
112
+ /**
113
+ * File modification tracking
114
+ */
115
+ export interface CodemieFileModification {
116
+ sessionId: string;
117
+ toolCallId: string;
118
+ timestamp: Date;
119
+ filePath: string;
120
+ operation: 'create' | 'update' | 'delete';
121
+ linesAdded: number;
122
+ linesRemoved: number;
123
+ linesModified?: number;
124
+ sizeBytes?: number;
125
+ toolName: string;
126
+ wasNewFile: boolean;
127
+ fileExtension: string;
128
+ language?: string;
129
+ format?: string;
130
+ }
131
+ /**
132
+ * Options for querying sessions
133
+ */
134
+ export interface SessionQueryOptions {
135
+ projectPath?: string;
136
+ dateFrom?: Date;
137
+ dateTo?: Date;
138
+ limit?: number;
139
+ offset?: number;
140
+ }
141
+ /**
142
+ * Session descriptor for lazy loading
143
+ */
144
+ export interface SessionDescriptor {
145
+ sessionId: string;
146
+ agent: string;
147
+ filePaths: string[];
148
+ metadata: Record<string, unknown>;
149
+ }
150
+ /**
151
+ * Options for aggregating sessions
152
+ */
153
+ export interface AggregationOptions extends SessionQueryOptions {
154
+ agent?: string;
155
+ includeMessages?: boolean;
156
+ includeToolCalls?: boolean;
157
+ includeFileModifications?: boolean;
158
+ }
159
+ /**
160
+ * Detailed session information
161
+ */
162
+ export interface SessionDetails {
163
+ session: CodemieSession;
164
+ messages: CodemieMessage[];
165
+ toolCalls: CodemieToolCall[];
166
+ fileModifications: CodemieFileModification[];
167
+ }
168
+ /**
169
+ * Analytics report structure
170
+ */
171
+ export interface AnalyticsReport {
172
+ summary: ReportSummary;
173
+ sessions: CodemieSession[];
174
+ breakdown: {
175
+ byAgent: Record<string, AgentStats>;
176
+ byModel: Record<string, ModelStats>;
177
+ byProject: Record<string, ProjectStats>;
178
+ byDay: Record<string, DayStats>;
179
+ };
180
+ }
181
+ /**
182
+ * Summary statistics
183
+ */
184
+ export interface ReportSummary {
185
+ totalSessions: number;
186
+ totalMessages: number;
187
+ totalTokens: number;
188
+ totalToolCalls: number;
189
+ totalFileModifications: number;
190
+ averageSessionDuration: number;
191
+ successRate: number;
192
+ }
193
+ /**
194
+ * Agent-specific statistics
195
+ */
196
+ export interface AgentStats {
197
+ sessions: number;
198
+ messages: number;
199
+ tokens: number;
200
+ toolCalls: number;
201
+ fileModifications: number;
202
+ averageDuration: number;
203
+ successRate: number;
204
+ }
205
+ /**
206
+ * Model-specific statistics
207
+ */
208
+ export interface ModelStats {
209
+ sessions: number;
210
+ tokens: number;
211
+ averageTokensPerSession: number;
212
+ }
213
+ /**
214
+ * Project-specific statistics
215
+ */
216
+ export interface ProjectStats {
217
+ sessions: number;
218
+ messages: number;
219
+ fileModifications: number;
220
+ }
221
+ /**
222
+ * Daily statistics
223
+ */
224
+ export interface DayStats {
225
+ date: string;
226
+ sessions: number;
227
+ messages: number;
228
+ tokens: number;
229
+ }
230
+ /**
231
+ * Options for generating reports
232
+ */
233
+ export interface ReportOptions extends AggregationOptions {
234
+ format?: 'json' | 'csv' | 'table';
235
+ outputFile?: string;
236
+ }
237
+ /**
238
+ * JSON export format
239
+ */
240
+ export interface JSONExport {
241
+ version: '1.0.0';
242
+ exportedAt: string;
243
+ filters: AggregationOptions;
244
+ sessions: CodemieSession[];
245
+ messages?: CodemieMessage[];
246
+ toolCalls?: CodemieToolCall[];
247
+ fileModifications?: CodemieFileModification[];
248
+ }
249
+ /**
250
+ * Remote analytics batch format
251
+ */
252
+ export interface RemoteAnalyticsBatch {
253
+ installationId: string;
254
+ batchId: string;
255
+ timestamp: string;
256
+ sessions: CodemieSession[];
257
+ }
258
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/analytics/aggregation/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CodeMie Analytics Aggregation System - Core Data Models
3
+ *
4
+ * Defines standardized data structures for aggregating analytics
5
+ * from multiple AI coding agents (Gemini, Claude, Codex, CodeMie Native).
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analytics/aggregation/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -5,6 +5,7 @@
5
5
  import type { AnalyticsConfig } from './types.js';
6
6
  /**
7
7
  * Load analytics configuration with environment variable overrides
8
+ * Priority: Environment variables > Global config > baseConfig > Defaults
8
9
  */
9
10
  export declare function loadAnalyticsConfig(baseConfig?: Partial<AnalyticsConfig>): AnalyticsConfig;
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/analytics/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACpC,eAAe,CAkCjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/analytics/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACpC,eAAe,CAqDjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
@@ -4,15 +4,34 @@
4
4
  */
5
5
  import { join } from 'node:path';
6
6
  import { homedir } from 'node:os';
7
+ import { readFileSync } from 'node:fs';
7
8
  import { DEFAULT_ANALYTICS_CONFIG } from './types.js';
8
9
  /**
9
10
  * Load analytics configuration with environment variable overrides
11
+ * Priority: Environment variables > Global config > baseConfig > Defaults
10
12
  */
11
13
  export function loadAnalyticsConfig(baseConfig) {
14
+ // Start with defaults
12
15
  const config = {
13
16
  ...DEFAULT_ANALYTICS_CONFIG,
14
- ...baseConfig,
15
17
  };
18
+ // Try to load from global config synchronously
19
+ try {
20
+ const configPath = join(homedir(), '.codemie', 'config.json');
21
+ const content = readFileSync(configPath, 'utf-8');
22
+ const parsed = JSON.parse(content);
23
+ // Merge global config if available (multi-provider format)
24
+ if (parsed.version === 2 && parsed.analytics) {
25
+ Object.assign(config, parsed.analytics);
26
+ }
27
+ }
28
+ catch {
29
+ // No global config, continue with defaults
30
+ }
31
+ // Merge base config
32
+ if (baseConfig) {
33
+ Object.assign(config, baseConfig);
34
+ }
16
35
  // Environment variable overrides
17
36
  if (process.env.CODEMIE_ANALYTICS_ENABLED !== undefined) {
18
37
  config.enabled =
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/analytics/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAqC;IAErC,MAAM,MAAM,GAAoB;QAC9B,GAAG,wBAAwB;QAC3B,GAAG,UAAU;KACd,CAAC;IAEF,iCAAiC;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,CAAC,OAAO;YACZ,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,MAAM;gBAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACpD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACnE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACjE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxD,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/analytics/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAqC;IAErC,sBAAsB;IACtB,MAAM,MAAM,GAAoB;QAC9B,GAAG,wBAAwB;KAC5B,CAAC;IAEF,+CAA+C;IAC/C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,2DAA2D;QAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,oBAAoB;IACpB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,CAAC,OAAO;YACZ,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,MAAM;gBAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACpD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACnE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACjE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxD,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC"}
@@ -15,7 +15,6 @@ export declare class Analytics {
15
15
  private config;
16
16
  private installationId;
17
17
  private plugins;
18
- private sessionMetrics;
19
18
  constructor(config?: Partial<AnalyticsConfig>);
20
19
  /**
21
20
  * Register an analytics plugin (Open/Closed principle)
@@ -43,10 +42,6 @@ export declare class Analytics {
43
42
  * Track an analytics event
44
43
  */
45
44
  track(eventType: EventType, attributes?: Record<string, unknown>, metrics?: Record<string, number>): Promise<void>;
46
- /**
47
- * Track agent response
48
- */
49
- trackAgentResponse(response: string, attributes?: Record<string, unknown>): Promise<void>;
50
45
  /**
51
46
  * Track API response
52
47
  */
@@ -64,10 +59,6 @@ export declare class Analytics {
64
59
  * End analytics session
65
60
  */
66
61
  endSession(exitReason: string, metrics?: Record<string, number>): Promise<void>;
67
- /**
68
- * Reset session metrics
69
- */
70
- private resetMetrics;
71
62
  /**
72
63
  * Flush buffered events
73
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,SAAS,EACT,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAuB;IAG7C,OAAO,CAAC,OAAO,CAAyB;IAGxC,OAAO,CAAC,cAAc,CAGpB;gBAEU,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAUjD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAW7C;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;IAI/B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiB3D;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe1E;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,SAAS,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAsEhB;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,IAAI,CAAC;IAShB;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAUzC;;OAEG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAgChB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,OAAO,GAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAqC,GAC/E,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAkBjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAMxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;AAGD,YAAY,EACV,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,SAAS,EACT,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAuB;IAG7C,OAAO,CAAC,OAAO,CAAyB;gBAG5B,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAUjD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAW7C;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;IAI/B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiB3D;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe1E;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,SAAS,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAoBzC;;OAEG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAuBhB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,OAAO,GAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAqC,GAC/E,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAkBjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAMxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;AAGD,YAAY,EACV,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -19,11 +19,6 @@ export class Analytics {
19
19
  installationId = null;
20
20
  // Plugin system for extensibility
21
21
  plugins = [];
22
- // Session metrics aggregation
23
- sessionMetrics = {
24
- totalLatencyMs: 0,
25
- apiRequestCount: 0,
26
- };
27
22
  constructor(config = {}) {
28
23
  this.config = loadAnalyticsConfig(config);
29
24
  this.session = new SessionManager();
@@ -134,7 +129,7 @@ export class Analytics {
134
129
  // Process through plugins
135
130
  for (const plugin of this.plugins) {
136
131
  try {
137
- // 1. Allow plugins to transform event
132
+ // Allow plugins to transform event (but not add aggregate metrics)
138
133
  if (plugin.processEvent) {
139
134
  const processed = await plugin.processEvent(event);
140
135
  if (!processed) {
@@ -143,25 +138,12 @@ export class Analytics {
143
138
  }
144
139
  event = processed;
145
140
  }
146
- // 2. Enrich with plugin metrics
147
- if (plugin.enrichMetrics) {
148
- const pluginMetrics = await plugin.enrichMetrics(event);
149
- // Merge plugin metrics (cast to Record<string, number> for compatibility)
150
- event.metrics = { ...event.metrics, ...pluginMetrics };
151
- }
152
141
  }
153
142
  catch (pluginError) {
154
143
  // Plugin errors should not break analytics
155
144
  console.error(`Plugin "${plugin.name}" error:`, pluginError);
156
145
  }
157
146
  }
158
- // Aggregate session metrics
159
- if (eventType === 'api_request') {
160
- this.sessionMetrics.apiRequestCount++;
161
- }
162
- if (eventType === 'api_response' && event.metrics?.latencyMs) {
163
- this.sessionMetrics.totalLatencyMs += event.metrics.latencyMs;
164
- }
165
147
  this.collector.add(event);
166
148
  }
167
149
  catch (error) {
@@ -169,16 +151,6 @@ export class Analytics {
169
151
  console.error('Analytics tracking error:', error);
170
152
  }
171
153
  }
172
- /**
173
- * Track agent response
174
- */
175
- async trackAgentResponse(response, attributes = {}) {
176
- const eventAttrs = {
177
- ...attributes,
178
- responseLength: response.length,
179
- };
180
- await this.track('agent_response', eventAttrs);
181
- }
182
154
  /**
183
155
  * Track API response
184
156
  */
@@ -197,7 +169,17 @@ export class Analytics {
197
169
  */
198
170
  startSession(config) {
199
171
  this.session.start(config);
200
- this.resetMetrics(); // Reset metrics for new session
172
+ // Reset all plugin metrics for new session
173
+ for (const plugin of this.plugins) {
174
+ if (plugin.reset) {
175
+ try {
176
+ plugin.reset();
177
+ }
178
+ catch (error) {
179
+ console.error(`Error resetting plugin "${plugin.name}":`, error);
180
+ }
181
+ }
182
+ }
201
183
  void this.track('session_start', {
202
184
  workingDir: config.workingDir,
203
185
  interactive: config.interactive,
@@ -210,14 +192,9 @@ export class Analytics {
210
192
  if (!this.session.isActive) {
211
193
  return;
212
194
  }
213
- // Combine session metrics with provided metrics
195
+ // Only track session duration in milliseconds
214
196
  const sessionMetrics = {
215
- durationSeconds: this.session.duration,
216
- totalLatencyMs: this.sessionMetrics.totalLatencyMs,
217
- averageLatencyMs: this.sessionMetrics.apiRequestCount > 0
218
- ? this.sessionMetrics.totalLatencyMs / this.sessionMetrics.apiRequestCount
219
- : 0,
220
- apiRequestCount: this.sessionMetrics.apiRequestCount,
197
+ durationMs: this.session.durationMs,
221
198
  ...metrics,
222
199
  };
223
200
  const attributes = {
@@ -226,19 +203,8 @@ export class Analytics {
226
203
  await this.track('session_end', attributes, sessionMetrics);
227
204
  // Force flush on session end
228
205
  await this.flush();
229
- // Reset metrics
230
- this.resetMetrics();
231
206
  this.session.end();
232
207
  }
233
- /**
234
- * Reset session metrics
235
- */
236
- resetMetrics() {
237
- this.sessionMetrics = {
238
- totalLatencyMs: 0,
239
- apiRequestCount: 0,
240
- };
241
- }
242
208
  /**
243
209
  * Flush buffered events
244
210
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,10 @@ export declare class APIMetricsPlugin implements AnalyticsPlugin {
10
10
  name: string;
11
11
  version: string;
12
12
  private sessionMetrics;
13
- enrichMetrics(event: AnalyticsEvent): Promise<Record<string, unknown>>;
13
+ /**
14
+ * Process events to track metrics (no enrichment to individual events)
15
+ */
16
+ processEvent(event: AnalyticsEvent): Promise<AnalyticsEvent | null>;
14
17
  /**
15
18
  * Get current aggregated metrics
16
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-metrics.plugin.d.ts","sourceRoot":"","sources":["../../../src/analytics/plugins/api-metrics.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,gBAAiB,YAAW,eAAe;IACtD,IAAI,SAAiB;IACrB,OAAO,SAAW;IAGlB,OAAO,CAAC,cAAc,CASpB;IAEI,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAgE5E;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAsBrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAYd"}
1
+ {"version":3,"file":"api-metrics.plugin.d.ts","sourceRoot":"","sources":["../../../src/analytics/plugins/api-metrics.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,gBAAiB,YAAW,eAAe;IACtD,IAAI,SAAiB;IACrB,OAAO,SAAW;IAGlB,OAAO,CAAC,cAAc,CASpB;IAEF;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAyCzE;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAsBrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAYd"}
@@ -18,7 +18,10 @@ export class APIMetricsPlugin {
18
18
  statusCodes: {},
19
19
  errorTypes: {}
20
20
  };
21
- async enrichMetrics(event) {
21
+ /**
22
+ * Process events to track metrics (no enrichment to individual events)
23
+ */
24
+ async processEvent(event) {
22
25
  // Track API request metrics
23
26
  if (event.eventType === 'api_request') {
24
27
  this.sessionMetrics.totalRequests++;
@@ -43,34 +46,15 @@ export class APIMetricsPlugin {
43
46
  this.sessionMetrics.minLatency = Math.min(this.sessionMetrics.minLatency, latency);
44
47
  this.sessionMetrics.maxLatency = Math.max(this.sessionMetrics.maxLatency, latency);
45
48
  }
46
- // Calculate aggregated metrics
47
- const successRate = this.sessionMetrics.totalRequests > 0
48
- ? this.sessionMetrics.successfulRequests / this.sessionMetrics.totalRequests
49
- : 0;
50
- const averageLatency = this.sessionMetrics.successfulRequests > 0
51
- ? this.sessionMetrics.totalLatency / this.sessionMetrics.successfulRequests
52
- : 0;
53
- return {
54
- api_total_requests: this.sessionMetrics.totalRequests,
55
- api_success_count: this.sessionMetrics.successfulRequests,
56
- api_failure_count: this.sessionMetrics.failedRequests,
57
- api_success_rate: Math.round(successRate * 100) / 100, // Round to 2 decimals
58
- api_avg_latency_ms: Math.round(averageLatency),
59
- api_min_latency_ms: this.sessionMetrics.minLatency === Infinity ? 0 : this.sessionMetrics.minLatency,
60
- api_max_latency_ms: this.sessionMetrics.maxLatency
61
- };
62
49
  }
63
50
  // Track proxy errors
64
51
  if (event.eventType === 'proxy_error') {
65
52
  const errorType = event.attributes.errorType || 'unknown';
66
53
  this.sessionMetrics.errorTypes[errorType] =
67
54
  (this.sessionMetrics.errorTypes[errorType] || 0) + 1;
68
- return {
69
- proxy_error_count: Object.values(this.sessionMetrics.errorTypes).reduce((a, b) => a + b, 0),
70
- proxy_error_types: this.sessionMetrics.errorTypes
71
- };
72
55
  }
73
- return {};
56
+ // Return event unchanged (no enrichment)
57
+ return event;
74
58
  }
75
59
  /**
76
60
  * Get current aggregated metrics
@@ -1 +1 @@
1
- {"version":3,"file":"api-metrics.plugin.js","sourceRoot":"","sources":["../../../src/analytics/plugins/api-metrics.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-metrics.plugin.js","sourceRoot":"","sources":["../../../src/analytics/plugins/api-metrics.plugin.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,10 @@ export declare class ModelMetricsPlugin implements AnalyticsPlugin {
17
17
  name: string;
18
18
  version: string;
19
19
  private modelMetrics;
20
- enrichMetrics(event: AnalyticsEvent): Promise<Record<string, unknown>>;
20
+ /**
21
+ * Process events to track metrics (no enrichment to individual events)
22
+ */
23
+ processEvent(event: AnalyticsEvent): Promise<AnalyticsEvent | null>;
21
24
  /**
22
25
  * Get current aggregated metrics for all models
23
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-metrics.plugin.d.ts","sourceRoot":"","sources":["../../../src/analytics/plugins/model-metrics.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,SAAmB;IACvB,OAAO,SAAW;IAGlB,OAAO,CAAC,YAAY,CAAiC;IAE/C,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuE5E;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA4BrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;CAOjD"}
1
+ {"version":3,"file":"model-metrics.plugin.d.ts","sourceRoot":"","sources":["../../../src/analytics/plugins/model-metrics.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,SAAmB;IACvB,OAAO,SAAW;IAGlB,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAuDzE;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA4BrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;CAOjD"}