@memberjunction/core 2.127.0 → 2.129.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 (58) hide show
  1. package/dist/__tests__/mocks/TestMetadataProvider.d.ts +4 -2
  2. package/dist/__tests__/mocks/TestMetadataProvider.d.ts.map +1 -1
  3. package/dist/__tests__/mocks/TestMetadataProvider.js +9 -3
  4. package/dist/__tests__/mocks/TestMetadataProvider.js.map +1 -1
  5. package/dist/generic/RegisterForStartup.d.ts +228 -0
  6. package/dist/generic/RegisterForStartup.d.ts.map +1 -0
  7. package/dist/generic/RegisterForStartup.js +233 -0
  8. package/dist/generic/RegisterForStartup.js.map +1 -0
  9. package/dist/generic/baseEngine.d.ts +191 -8
  10. package/dist/generic/baseEngine.d.ts.map +1 -1
  11. package/dist/generic/baseEngine.js +360 -14
  12. package/dist/generic/baseEngine.js.map +1 -1
  13. package/dist/generic/baseEngineRegistry.d.ts +247 -0
  14. package/dist/generic/baseEngineRegistry.d.ts.map +1 -0
  15. package/dist/generic/baseEngineRegistry.js +470 -0
  16. package/dist/generic/baseEngineRegistry.js.map +1 -0
  17. package/dist/generic/entityInfo.d.ts +50 -0
  18. package/dist/generic/entityInfo.d.ts.map +1 -1
  19. package/dist/generic/entityInfo.js +56 -0
  20. package/dist/generic/entityInfo.js.map +1 -1
  21. package/dist/generic/graphqlTypeNames.d.ts +90 -0
  22. package/dist/generic/graphqlTypeNames.d.ts.map +1 -0
  23. package/dist/generic/graphqlTypeNames.js +119 -0
  24. package/dist/generic/graphqlTypeNames.js.map +1 -0
  25. package/dist/generic/interfaces.d.ts +234 -3
  26. package/dist/generic/interfaces.d.ts.map +1 -1
  27. package/dist/generic/interfaces.js.map +1 -1
  28. package/dist/generic/localCacheManager.d.ts +388 -0
  29. package/dist/generic/localCacheManager.d.ts.map +1 -0
  30. package/dist/generic/localCacheManager.js +856 -0
  31. package/dist/generic/localCacheManager.js.map +1 -0
  32. package/dist/generic/providerBase.d.ts +227 -13
  33. package/dist/generic/providerBase.d.ts.map +1 -1
  34. package/dist/generic/providerBase.js +751 -6
  35. package/dist/generic/providerBase.js.map +1 -1
  36. package/dist/generic/queryInfo.d.ts +18 -0
  37. package/dist/generic/queryInfo.d.ts.map +1 -1
  38. package/dist/generic/queryInfo.js +18 -0
  39. package/dist/generic/queryInfo.js.map +1 -1
  40. package/dist/generic/queryInfoInterfaces.d.ts +17 -0
  41. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  42. package/dist/generic/runQuery.d.ts +30 -0
  43. package/dist/generic/runQuery.d.ts.map +1 -1
  44. package/dist/generic/runQuery.js +13 -0
  45. package/dist/generic/runQuery.js.map +1 -1
  46. package/dist/generic/telemetryManager.d.ts +628 -0
  47. package/dist/generic/telemetryManager.d.ts.map +1 -0
  48. package/dist/generic/telemetryManager.js +1011 -0
  49. package/dist/generic/telemetryManager.js.map +1 -0
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/views/runView.d.ts +25 -0
  55. package/dist/views/runView.d.ts.map +1 -1
  56. package/dist/views/runView.js +4 -5
  57. package/dist/views/runView.js.map +1 -1
  58. package/package.json +2 -2
@@ -0,0 +1,628 @@
1
+ /**
2
+ * TelemetryManager - Lightweight instrumentation system for tracking operation performance,
3
+ * detecting patterns, and surfacing optimization opportunities.
4
+ *
5
+ * Features:
6
+ * - Session-level event tracking for RunView, RunQuery, Engine, AI, Cache operations
7
+ * - Pattern detection for identifying duplicate calls and optimization opportunities
8
+ * - Pluggable analyzer system for custom analysis rules
9
+ * - WarningManager integration for debounced console output
10
+ * - Configurable via local storage for per-client settings
11
+ * - Strongly-typed parameter interfaces for each telemetry category
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const tm = TelemetryManager.Instance;
16
+ *
17
+ * // Enable telemetry
18
+ * tm.SetEnabled(true);
19
+ *
20
+ * // Track a RunView operation with typed params
21
+ * const eventId = tm.StartEvent('RunView', 'ProviderBase.RunView', {
22
+ * EntityName: 'Users',
23
+ * ExtraFilter: 'IsActive = 1',
24
+ * ResultType: 'entity_object'
25
+ * });
26
+ * // ... perform operation
27
+ * tm.EndEvent(eventId, { cacheHit: false, resultCount: 50 });
28
+ *
29
+ * // Get patterns for analysis
30
+ * const patterns = tm.GetPatterns({ category: 'RunView', minCount: 2 });
31
+ * ```
32
+ */
33
+ import { BaseSingleton } from '@memberjunction/global';
34
+ /**
35
+ * Telemetry detail levels - controls what information is captured
36
+ */
37
+ export type TelemetryLevel = 'off' | 'basic' | 'standard' | 'verbose' | 'debug';
38
+ /**
39
+ * Numeric mapping for level comparisons
40
+ */
41
+ export declare const TelemetryLevelValue: Record<TelemetryLevel, number>;
42
+ /**
43
+ * Categories of operations that can be tracked
44
+ */
45
+ export type TelemetryCategory = 'RunView' | 'RunQuery' | 'Engine' | 'Network' | 'AI' | 'Cache' | 'Custom';
46
+ /**
47
+ * Severity levels for telemetry insights
48
+ */
49
+ export type TelemetryInsightSeverity = 'info' | 'warning' | 'optimization';
50
+ /**
51
+ * Result type for RunView operations
52
+ */
53
+ export type RunViewResultType = 'simple' | 'entity_object' | 'count_only';
54
+ /**
55
+ * Telemetry params for a single RunView operation.
56
+ * Maps to core properties of RunViewParams.
57
+ */
58
+ export interface TelemetryRunViewParams {
59
+ /** Entity name being queried */
60
+ EntityName?: string;
61
+ /** View ID if running a saved view */
62
+ ViewID?: string;
63
+ /** View name if running a saved view */
64
+ ViewName?: string;
65
+ /** SQL WHERE clause filter */
66
+ ExtraFilter?: string;
67
+ /** SQL ORDER BY clause */
68
+ OrderBy?: string;
69
+ /** Type of result to return */
70
+ ResultType?: RunViewResultType;
71
+ /** Maximum rows to return */
72
+ MaxRows?: number;
73
+ /** Starting row for pagination */
74
+ StartRow?: number;
75
+ /** Whether to cache locally */
76
+ CacheLocal?: boolean;
77
+ /** Internal marker for engine-initiated calls */
78
+ _fromEngine?: boolean;
79
+ /** Whether result was served from cache (set after operation completes) */
80
+ cacheHit?: boolean;
81
+ }
82
+ /**
83
+ * Telemetry params for batch RunViews operation.
84
+ * Used when multiple views are executed in a single call.
85
+ */
86
+ export interface TelemetryRunViewsBatchParams {
87
+ /** Number of views in the batch */
88
+ BatchSize: number;
89
+ /** Entity names being queried in the batch */
90
+ Entities: string[];
91
+ /** Internal marker for engine-initiated calls */
92
+ _fromEngine?: boolean;
93
+ }
94
+ /**
95
+ * Telemetry params for a single RunQuery operation.
96
+ * Maps to core properties of RunQueryParams.
97
+ */
98
+ export interface TelemetryRunQueryParams {
99
+ /** Query ID if running by ID */
100
+ QueryID?: string;
101
+ /** Query name if running by name */
102
+ QueryName?: string;
103
+ /** Category path for the query */
104
+ CategoryPath?: string;
105
+ /** Category ID for the query */
106
+ CategoryID?: string;
107
+ /** Maximum rows to return */
108
+ MaxRows?: number;
109
+ /** Starting row for pagination */
110
+ StartRow?: number;
111
+ /** Whether to cache locally */
112
+ CacheLocal?: boolean;
113
+ /** Whether parameters were provided */
114
+ HasParameters?: boolean;
115
+ /** Whether result was served from cache (set after operation completes) */
116
+ cacheHit?: boolean;
117
+ }
118
+ /**
119
+ * Telemetry params for batch RunQueries operation.
120
+ * Used when multiple queries are executed in a single call.
121
+ */
122
+ export interface TelemetryRunQueriesBatchParams {
123
+ /** Number of queries in the batch */
124
+ BatchSize: number;
125
+ /** Query names/IDs in the batch */
126
+ Queries: string[];
127
+ }
128
+ /**
129
+ * Engine operation types
130
+ */
131
+ export type EngineOperationType = 'Config' | 'Load' | 'AdditionalLoading' | 'Refresh' | 'initial' | 'refresh';
132
+ /**
133
+ * Telemetry params for Engine operations.
134
+ * Tracks engine lifecycle and loading events.
135
+ */
136
+ export interface TelemetryEngineParams {
137
+ /** Name of the engine class */
138
+ engineClass: string;
139
+ /** Type of engine operation */
140
+ operation: EngineOperationType;
141
+ /** Number of entities loaded (if applicable) */
142
+ entityCount?: number;
143
+ /** Number of configs being loaded */
144
+ configCount?: number;
145
+ /** Entity names being loaded */
146
+ entityNames?: string[];
147
+ /** Dataset names being loaded */
148
+ datasetNames?: string[];
149
+ }
150
+ /**
151
+ * Telemetry params for AI operations.
152
+ * Tracks AI model invocations and token usage.
153
+ */
154
+ export interface TelemetryAIParams {
155
+ /** AI Model ID */
156
+ modelID?: string;
157
+ /** AI Model name */
158
+ modelName?: string;
159
+ /** Prompt ID if using a saved prompt */
160
+ promptID?: string;
161
+ /** Prompt name if using a saved prompt */
162
+ promptName?: string;
163
+ /** Number of input tokens */
164
+ inputTokens?: number;
165
+ /** Number of output tokens */
166
+ outputTokens?: number;
167
+ /** AI operation type */
168
+ operationType?: 'chat' | 'embedding' | 'classification' | 'summary';
169
+ }
170
+ /**
171
+ * Cache operation types
172
+ */
173
+ export type CacheOperationType = 'get' | 'set' | 'invalidate' | 'validate';
174
+ /**
175
+ * Cache status results
176
+ */
177
+ export type CacheStatusType = 'hit' | 'miss' | 'stale' | 'current';
178
+ /**
179
+ * Telemetry params for Cache operations.
180
+ * Tracks cache hits, misses, and validation.
181
+ */
182
+ export interface TelemetryCacheParams {
183
+ /** Type of cache (local or server) */
184
+ cacheType: 'local' | 'server';
185
+ /** Cache operation being performed */
186
+ operation: CacheOperationType;
187
+ /** Entity name (if applicable) */
188
+ entityName?: string;
189
+ /** Cache fingerprint for identification */
190
+ fingerprint?: string;
191
+ /** Result status of the cache operation */
192
+ status?: CacheStatusType;
193
+ }
194
+ /**
195
+ * Telemetry params for Network operations.
196
+ * Tracks API calls and network requests.
197
+ */
198
+ export interface TelemetryNetworkParams {
199
+ /** HTTP method */
200
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
201
+ /** Request URL or endpoint */
202
+ url?: string;
203
+ /** Response status code */
204
+ statusCode?: number;
205
+ /** Request size in bytes */
206
+ requestSize?: number;
207
+ /** Response size in bytes */
208
+ responseSize?: number;
209
+ }
210
+ /**
211
+ * Telemetry params for Custom operations.
212
+ * Allows arbitrary key-value pairs for custom tracking.
213
+ */
214
+ export interface TelemetryCustomParams {
215
+ /** Custom operation name */
216
+ operationName?: string;
217
+ /** Any additional custom data */
218
+ [key: string]: unknown;
219
+ }
220
+ /**
221
+ * Union type of all telemetry param types.
222
+ * Used for type-safe fingerprint generation and event creation.
223
+ */
224
+ export type TelemetryParamsUnion = TelemetryRunViewParams | TelemetryRunViewsBatchParams | TelemetryRunQueryParams | TelemetryRunQueriesBatchParams | TelemetryEngineParams | TelemetryAIParams | TelemetryCacheParams | TelemetryNetworkParams | TelemetryCustomParams;
225
+ /**
226
+ * Map of category to its param type for type inference
227
+ */
228
+ export interface TelemetryCategoryParamsMap {
229
+ RunView: TelemetryRunViewParams | TelemetryRunViewsBatchParams;
230
+ RunQuery: TelemetryRunQueryParams | TelemetryRunQueriesBatchParams;
231
+ Engine: TelemetryEngineParams;
232
+ AI: TelemetryAIParams;
233
+ Cache: TelemetryCacheParams;
234
+ Network: TelemetryNetworkParams;
235
+ Custom: TelemetryCustomParams;
236
+ }
237
+ /**
238
+ * Configuration for the telemetry system
239
+ */
240
+ export interface TelemetrySettings {
241
+ /** Global on/off switch */
242
+ enabled: boolean;
243
+ /** Default detail level for all categories */
244
+ level: TelemetryLevel;
245
+ /** Per-category overrides */
246
+ categoryOverrides: Partial<Record<TelemetryCategory, {
247
+ enabled: boolean;
248
+ level?: TelemetryLevel;
249
+ }>>;
250
+ /** Auto-trim settings for memory management */
251
+ autoTrim: {
252
+ enabled: boolean;
253
+ maxEvents?: number;
254
+ maxAgeMs?: number;
255
+ };
256
+ /** Duplicate detection settings */
257
+ duplicateDetection: {
258
+ enabled: boolean;
259
+ windowMs: number;
260
+ };
261
+ /** Analyzer settings */
262
+ analyzers: {
263
+ enabled: boolean;
264
+ dedupeWindowMs: number;
265
+ };
266
+ }
267
+ /**
268
+ * Memory snapshot for detailed tracking
269
+ */
270
+ export interface MemorySnapshot {
271
+ heapUsed: number;
272
+ heapTotal: number;
273
+ timestamp: number;
274
+ }
275
+ /**
276
+ * A single telemetry event
277
+ */
278
+ export interface TelemetryEvent<T extends TelemetryParamsUnion = TelemetryParamsUnion> {
279
+ /** Unique event ID */
280
+ id: string;
281
+ /** Category of operation */
282
+ category: TelemetryCategory;
283
+ /** Specific operation name (e.g., 'RunView.Execute') */
284
+ operation: string;
285
+ /** Hash for duplicate detection */
286
+ fingerprint: string;
287
+ startTime: number;
288
+ endTime?: number;
289
+ elapsedMs?: number;
290
+ userId?: string;
291
+ params: T;
292
+ tags?: string[];
293
+ stackTrace?: string;
294
+ memoryBefore?: MemorySnapshot;
295
+ memoryAfter?: MemorySnapshot;
296
+ parentEventId?: string;
297
+ }
298
+ /**
299
+ * Aggregated pattern for a specific operation fingerprint
300
+ */
301
+ export interface TelemetryPattern {
302
+ fingerprint: string;
303
+ category: TelemetryCategory;
304
+ operation: string;
305
+ sampleParams: TelemetryParamsUnion;
306
+ count: number;
307
+ totalElapsedMs: number;
308
+ avgElapsedMs: number;
309
+ minElapsedMs: number;
310
+ maxElapsedMs: number;
311
+ callerLocations: Map<string, number>;
312
+ firstSeen: number;
313
+ lastSeen: number;
314
+ windowStartTime: number;
315
+ }
316
+ /**
317
+ * Insight generated by an analyzer
318
+ */
319
+ export interface TelemetryInsight {
320
+ id: string;
321
+ severity: TelemetryInsightSeverity;
322
+ analyzerName: string;
323
+ category: string;
324
+ title: string;
325
+ message: string;
326
+ suggestion: string;
327
+ relatedEventIds: string[];
328
+ entityName?: string;
329
+ metadata?: Record<string, unknown>;
330
+ timestamp: number;
331
+ }
332
+ /**
333
+ * Context provided to analyzers
334
+ */
335
+ export interface TelemetryAnalyzerContext {
336
+ /** Recent events (last N or time window) */
337
+ recentEvents: TelemetryEvent[];
338
+ /** Aggregated patterns */
339
+ patterns: Map<string, TelemetryPattern>;
340
+ /** Access to engine registry for cross-referencing */
341
+ getEngineLoadedEntities(): Map<string, string[]>;
342
+ }
343
+ /**
344
+ * Interface for pluggable analyzers
345
+ */
346
+ export interface TelemetryAnalyzer {
347
+ /** Unique name for this analyzer */
348
+ name: string;
349
+ /** Category for grouping warnings in UI */
350
+ category: string;
351
+ /** Analyze an event and optionally return an insight */
352
+ analyze(event: TelemetryEvent, context: TelemetryAnalyzerContext): TelemetryInsight | null;
353
+ }
354
+ /**
355
+ * Type guard to check if params represent a batch RunViews operation
356
+ */
357
+ export declare function isBatchRunViewParams(params: TelemetryParamsUnion): params is TelemetryRunViewsBatchParams;
358
+ /**
359
+ * Type guard to check if params represent a single RunView operation
360
+ */
361
+ export declare function isSingleRunViewParams(params: TelemetryParamsUnion): params is TelemetryRunViewParams;
362
+ /**
363
+ * Type guard to check if params represent a single RunQuery operation
364
+ */
365
+ export declare function isSingleRunQueryParams(params: TelemetryParamsUnion): params is TelemetryRunQueryParams;
366
+ /**
367
+ * Type guard to check if params represent a batch RunQueries operation
368
+ */
369
+ export declare function isBatchRunQueryParams(params: TelemetryParamsUnion): params is TelemetryRunQueriesBatchParams;
370
+ /**
371
+ * Type guard to check if params represent an Engine operation
372
+ */
373
+ export declare function isEngineParams(params: TelemetryParamsUnion): params is TelemetryEngineParams;
374
+ /**
375
+ * Type guard to check if params represent an AI operation
376
+ */
377
+ export declare function isAIParams(params: TelemetryParamsUnion): params is TelemetryAIParams;
378
+ /**
379
+ * Type guard to check if params represent a Cache operation
380
+ */
381
+ export declare function isCacheParams(params: TelemetryParamsUnion): params is TelemetryCacheParams;
382
+ /**
383
+ * Type guard to check if params represent a Network operation
384
+ */
385
+ export declare function isNetworkParams(params: TelemetryParamsUnion): params is TelemetryNetworkParams;
386
+ /**
387
+ * Singleton manager for telemetry tracking and analysis.
388
+ *
389
+ * Provides:
390
+ * - Event recording for various operation types with strongly-typed parameters
391
+ * - Pattern detection for identifying optimization opportunities
392
+ * - Pluggable analyzer system for custom rules
393
+ * - Integration with WarningManager for console output
394
+ */
395
+ export declare class TelemetryManager extends BaseSingleton<TelemetryManager> {
396
+ private _settings;
397
+ private _events;
398
+ private _patterns;
399
+ private _activeEvents;
400
+ private _analyzers;
401
+ private _insights;
402
+ private _insightDedupeWindow;
403
+ /**
404
+ * Returns the singleton instance of TelemetryManager
405
+ */
406
+ static get Instance(): TelemetryManager;
407
+ protected constructor();
408
+ /**
409
+ * Get a copy of current settings
410
+ */
411
+ get Settings(): TelemetrySettings;
412
+ /**
413
+ * Update telemetry settings
414
+ */
415
+ UpdateSettings(settings: Partial<TelemetrySettings>): void;
416
+ /**
417
+ * Check if telemetry is globally enabled
418
+ */
419
+ get IsEnabled(): boolean;
420
+ /**
421
+ * Enable or disable telemetry globally
422
+ */
423
+ SetEnabled(enabled: boolean): void;
424
+ /**
425
+ * Check if a specific category is enabled
426
+ */
427
+ IsCategoryEnabled(category: TelemetryCategory): boolean;
428
+ /**
429
+ * Get the telemetry level for a specific category
430
+ */
431
+ GetLevelForCategory(category: TelemetryCategory): TelemetryLevel;
432
+ /**
433
+ * Get the numeric value for a telemetry level
434
+ */
435
+ GetLevelValue(level: TelemetryLevel): number;
436
+ /**
437
+ * Start tracking a RunView event
438
+ */
439
+ StartEvent(category: 'RunView', operation: string, params: TelemetryRunViewParams | TelemetryRunViewsBatchParams, userId?: string): string | null;
440
+ /**
441
+ * Start tracking a RunQuery event
442
+ */
443
+ StartEvent(category: 'RunQuery', operation: string, params: TelemetryRunQueryParams | TelemetryRunQueriesBatchParams, userId?: string): string | null;
444
+ /**
445
+ * Start tracking an Engine event
446
+ */
447
+ StartEvent(category: 'Engine', operation: string, params: TelemetryEngineParams, userId?: string): string | null;
448
+ /**
449
+ * Start tracking an AI event
450
+ */
451
+ StartEvent(category: 'AI', operation: string, params: TelemetryAIParams, userId?: string): string | null;
452
+ /**
453
+ * Start tracking a Cache event
454
+ */
455
+ StartEvent(category: 'Cache', operation: string, params: TelemetryCacheParams, userId?: string): string | null;
456
+ /**
457
+ * Start tracking a Network event
458
+ */
459
+ StartEvent(category: 'Network', operation: string, params: TelemetryNetworkParams, userId?: string): string | null;
460
+ /**
461
+ * Start tracking a Custom event
462
+ */
463
+ StartEvent(category: 'Custom', operation: string, params: TelemetryCustomParams, userId?: string): string | null;
464
+ /**
465
+ * Complete an event that was started with StartEvent
466
+ * @param eventId - The event ID returned from StartEvent
467
+ * @param additionalParams - Optional additional parameters to merge into the event's params
468
+ * Useful for adding context like cacheHit, resultCount, etc.
469
+ */
470
+ EndEvent(eventId: string | null, additionalParams?: Record<string, unknown>): TelemetryEvent | null;
471
+ /**
472
+ * Record a completed RunView event directly
473
+ */
474
+ RecordEvent(category: 'RunView', operation: string, params: TelemetryRunViewParams | TelemetryRunViewsBatchParams, elapsedMs: number, userId?: string): void;
475
+ /**
476
+ * Record a completed RunQuery event directly
477
+ */
478
+ RecordEvent(category: 'RunQuery', operation: string, params: TelemetryRunQueryParams | TelemetryRunQueriesBatchParams, elapsedMs: number, userId?: string): void;
479
+ /**
480
+ * Record a completed Engine event directly
481
+ */
482
+ RecordEvent(category: 'Engine', operation: string, params: TelemetryEngineParams, elapsedMs: number, userId?: string): void;
483
+ /**
484
+ * Record a completed AI event directly
485
+ */
486
+ RecordEvent(category: 'AI', operation: string, params: TelemetryAIParams, elapsedMs: number, userId?: string): void;
487
+ /**
488
+ * Record a completed Cache event directly
489
+ */
490
+ RecordEvent(category: 'Cache', operation: string, params: TelemetryCacheParams, elapsedMs: number, userId?: string): void;
491
+ /**
492
+ * Record a completed Network event directly
493
+ */
494
+ RecordEvent(category: 'Network', operation: string, params: TelemetryNetworkParams, elapsedMs: number, userId?: string): void;
495
+ /**
496
+ * Record a completed Custom event directly
497
+ */
498
+ RecordEvent(category: 'Custom', operation: string, params: TelemetryCustomParams, elapsedMs: number, userId?: string): void;
499
+ private updatePattern;
500
+ /**
501
+ * Get events matching the filter criteria
502
+ */
503
+ GetEvents(filter?: {
504
+ category?: TelemetryCategory;
505
+ operation?: string;
506
+ minElapsedMs?: number;
507
+ since?: number;
508
+ limit?: number;
509
+ }): TelemetryEvent[];
510
+ /**
511
+ * Get patterns matching the filter criteria
512
+ */
513
+ GetPatterns(filter?: {
514
+ category?: TelemetryCategory;
515
+ minCount?: number;
516
+ sortBy?: 'count' | 'totalTime' | 'avgTime';
517
+ }): TelemetryPattern[];
518
+ /**
519
+ * Get patterns with duplicate calls (count >= minCount)
520
+ */
521
+ GetDuplicates(minCount?: number): TelemetryPattern[];
522
+ /**
523
+ * Get active events that haven't completed yet
524
+ */
525
+ GetActiveEvents(): TelemetryEvent[];
526
+ private registerBuiltInAnalyzers;
527
+ /**
528
+ * Register a custom analyzer
529
+ */
530
+ RegisterAnalyzer(analyzer: TelemetryAnalyzer): void;
531
+ /**
532
+ * Unregister an analyzer by name
533
+ */
534
+ UnregisterAnalyzer(name: string): void;
535
+ /**
536
+ * Get all registered analyzers
537
+ */
538
+ GetAnalyzers(): TelemetryAnalyzer[];
539
+ /**
540
+ * Get insights matching the filter criteria
541
+ */
542
+ GetInsights(filter?: {
543
+ severity?: TelemetryInsightSeverity;
544
+ category?: string;
545
+ entityName?: string;
546
+ limit?: number;
547
+ }): TelemetryInsight[];
548
+ private runAnalyzers;
549
+ private buildAnalyzerContext;
550
+ private shouldEmitInsight;
551
+ private emitInsightWarning;
552
+ /**
553
+ * Record a telemetry insight to the warning manager for debounced output
554
+ */
555
+ private recordTelemetryInsightToWarningManager;
556
+ private generateId;
557
+ /**
558
+ * Generate a fingerprint for duplicate detection using type guards
559
+ */
560
+ private generateFingerprint;
561
+ /**
562
+ * Generate fingerprint for RunView operations
563
+ */
564
+ private generateRunViewFingerprint;
565
+ /**
566
+ * Generate fingerprint for RunQuery operations
567
+ */
568
+ private generateRunQueryFingerprint;
569
+ /**
570
+ * Generate fingerprint for Engine operations
571
+ */
572
+ private generateEngineFingerprint;
573
+ /**
574
+ * Generate fingerprint for AI operations
575
+ */
576
+ private generateAIFingerprint;
577
+ /**
578
+ * Generate fingerprint for Cache operations
579
+ */
580
+ private generateCacheFingerprint;
581
+ /**
582
+ * Generate fingerprint for Network operations
583
+ */
584
+ private generateNetworkFingerprint;
585
+ /**
586
+ * Simple hash function for creating short fingerprints from long strings.
587
+ * Not cryptographic, just for deduplication purposes.
588
+ */
589
+ private simpleHash;
590
+ private captureStackTrace;
591
+ private cleanStackTrace;
592
+ private extractCallerLocation;
593
+ private captureMemory;
594
+ private getTimestamp;
595
+ private trimIfNeeded;
596
+ private loadSettings;
597
+ private saveSettings;
598
+ /**
599
+ * Clear all recorded events and patterns
600
+ */
601
+ Clear(): void;
602
+ /**
603
+ * Clear only patterns (keeps events)
604
+ */
605
+ ClearPatterns(): void;
606
+ /**
607
+ * Clear insights
608
+ */
609
+ ClearInsights(): void;
610
+ /**
611
+ * Reset everything including settings
612
+ */
613
+ Reset(): void;
614
+ /**
615
+ * Get summary statistics
616
+ */
617
+ GetStats(): {
618
+ totalEvents: number;
619
+ totalPatterns: number;
620
+ totalInsights: number;
621
+ activeEvents: number;
622
+ byCategory: Record<TelemetryCategory, {
623
+ events: number;
624
+ avgMs: number;
625
+ }>;
626
+ };
627
+ }
628
+ //# sourceMappingURL=telemetryManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetryManager.d.ts","sourceRoot":"","sources":["../../src/generic/telemetryManager.ts"],"names":[],"mappings":"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"}