cmp-standards 2.8.1 → 3.1.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 (119) hide show
  1. package/dist/analytics/CrossProjectAnalytics.d.ts +128 -0
  2. package/dist/analytics/CrossProjectAnalytics.d.ts.map +1 -0
  3. package/dist/analytics/CrossProjectAnalytics.js +434 -0
  4. package/dist/analytics/CrossProjectAnalytics.js.map +1 -0
  5. package/dist/analytics/index.d.ts +1 -0
  6. package/dist/analytics/index.d.ts.map +1 -1
  7. package/dist/analytics/index.js +2 -0
  8. package/dist/analytics/index.js.map +1 -1
  9. package/dist/cache/EmbeddingCache.d.ts +6 -4
  10. package/dist/cache/EmbeddingCache.d.ts.map +1 -1
  11. package/dist/cache/EmbeddingCache.js +28 -17
  12. package/dist/cache/EmbeddingCache.js.map +1 -1
  13. package/dist/cli/index.js +658 -141
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/ui.d.ts +134 -0
  16. package/dist/cli/ui.d.ts.map +1 -0
  17. package/dist/cli/ui.js +311 -0
  18. package/dist/cli/ui.js.map +1 -0
  19. package/dist/dashboard/tokens.d.ts +228 -0
  20. package/dist/dashboard/tokens.d.ts.map +1 -0
  21. package/dist/dashboard/tokens.js +450 -0
  22. package/dist/dashboard/tokens.js.map +1 -0
  23. package/dist/dashboard/ui.d.ts +3 -0
  24. package/dist/dashboard/ui.d.ts.map +1 -1
  25. package/dist/dashboard/ui.js +95 -61
  26. package/dist/dashboard/ui.js.map +1 -1
  27. package/dist/db/cloud.d.ts +11 -0
  28. package/dist/db/cloud.d.ts.map +1 -1
  29. package/dist/db/cloud.js +49 -1
  30. package/dist/db/cloud.js.map +1 -1
  31. package/dist/db/migrations.d.ts +1 -0
  32. package/dist/db/migrations.d.ts.map +1 -1
  33. package/dist/db/migrations.js +109 -0
  34. package/dist/db/migrations.js.map +1 -1
  35. package/dist/db/turso-client.d.ts.map +1 -1
  36. package/dist/db/turso-client.js +3 -0
  37. package/dist/db/turso-client.js.map +1 -1
  38. package/dist/events/EventBus.d.ts +21 -0
  39. package/dist/events/EventBus.d.ts.map +1 -1
  40. package/dist/events/EventBus.js +81 -30
  41. package/dist/events/EventBus.js.map +1 -1
  42. package/dist/events/index.d.ts +1 -1
  43. package/dist/events/index.d.ts.map +1 -1
  44. package/dist/events/index.js +1 -1
  45. package/dist/events/index.js.map +1 -1
  46. package/dist/hooks/index.d.ts +1 -0
  47. package/dist/hooks/index.d.ts.map +1 -1
  48. package/dist/hooks/index.js +2 -0
  49. package/dist/hooks/index.js.map +1 -1
  50. package/dist/hooks/startup-verify.d.ts +31 -0
  51. package/dist/hooks/startup-verify.d.ts.map +1 -0
  52. package/dist/hooks/startup-verify.js +360 -0
  53. package/dist/hooks/startup-verify.js.map +1 -0
  54. package/dist/plugins/PluginManager.d.ts +160 -0
  55. package/dist/plugins/PluginManager.d.ts.map +1 -0
  56. package/dist/plugins/PluginManager.js +417 -0
  57. package/dist/plugins/PluginManager.js.map +1 -0
  58. package/dist/plugins/index.d.ts +7 -0
  59. package/dist/plugins/index.d.ts.map +1 -0
  60. package/dist/plugins/index.js +7 -0
  61. package/dist/plugins/index.js.map +1 -0
  62. package/dist/schema/expert-types.d.ts +2 -2
  63. package/dist/services/AuditLog.d.ts +205 -0
  64. package/dist/services/AuditLog.d.ts.map +1 -0
  65. package/dist/services/AuditLog.js +352 -0
  66. package/dist/services/AuditLog.js.map +1 -0
  67. package/dist/services/FeedbackCollector.d.ts +8 -0
  68. package/dist/services/FeedbackCollector.d.ts.map +1 -1
  69. package/dist/services/FeedbackCollector.js +19 -2
  70. package/dist/services/FeedbackCollector.js.map +1 -1
  71. package/dist/services/GitIntegration.d.ts +140 -0
  72. package/dist/services/GitIntegration.d.ts.map +1 -0
  73. package/dist/services/GitIntegration.js +423 -0
  74. package/dist/services/GitIntegration.js.map +1 -0
  75. package/dist/services/HookVerifier.d.ts +95 -0
  76. package/dist/services/HookVerifier.d.ts.map +1 -0
  77. package/dist/services/HookVerifier.js +493 -0
  78. package/dist/services/HookVerifier.js.map +1 -0
  79. package/dist/services/MemoryRelationshipService.d.ts +187 -0
  80. package/dist/services/MemoryRelationshipService.d.ts.map +1 -0
  81. package/dist/services/MemoryRelationshipService.js +375 -0
  82. package/dist/services/MemoryRelationshipService.js.map +1 -0
  83. package/dist/services/MemoryVersioning.d.ts +108 -0
  84. package/dist/services/MemoryVersioning.d.ts.map +1 -0
  85. package/dist/services/MemoryVersioning.js +281 -0
  86. package/dist/services/MemoryVersioning.js.map +1 -0
  87. package/dist/services/context-injector.d.ts +8 -0
  88. package/dist/services/context-injector.d.ts.map +1 -1
  89. package/dist/services/context-injector.js +19 -2
  90. package/dist/services/context-injector.js.map +1 -1
  91. package/dist/services/index.d.ts +5 -0
  92. package/dist/services/index.d.ts.map +1 -1
  93. package/dist/services/index.js +7 -0
  94. package/dist/services/index.js.map +1 -1
  95. package/dist/services/memory-router.d.ts +8 -0
  96. package/dist/services/memory-router.d.ts.map +1 -1
  97. package/dist/services/memory-router.js +19 -2
  98. package/dist/services/memory-router.js.map +1 -1
  99. package/dist/services/pattern-tracker.d.ts +13 -0
  100. package/dist/services/pattern-tracker.d.ts.map +1 -1
  101. package/dist/services/pattern-tracker.js +33 -3
  102. package/dist/services/pattern-tracker.js.map +1 -1
  103. package/dist/services/semantic-search.d.ts +12 -0
  104. package/dist/services/semantic-search.d.ts.map +1 -1
  105. package/dist/services/semantic-search.js +93 -17
  106. package/dist/services/semantic-search.js.map +1 -1
  107. package/dist/testing/index.d.ts +148 -0
  108. package/dist/testing/index.d.ts.map +1 -0
  109. package/dist/testing/index.js +370 -0
  110. package/dist/testing/index.js.map +1 -0
  111. package/dist/types/index.d.ts +1 -0
  112. package/dist/types/index.d.ts.map +1 -1
  113. package/dist/types/index.js +1 -0
  114. package/dist/types/index.js.map +1 -1
  115. package/dist/utils/resilience.d.ts +256 -0
  116. package/dist/utils/resilience.d.ts.map +1 -0
  117. package/dist/utils/resilience.js +499 -0
  118. package/dist/utils/resilience.js.map +1 -0
  119. package/package.json +12 -1
@@ -0,0 +1,417 @@
1
+ /**
2
+ * Plugin Manager
3
+ *
4
+ * Extensible plugin system for CMP Standards:
5
+ * - Register custom plugins
6
+ * - Lifecycle hooks (init, dispose)
7
+ * - Plugin dependencies
8
+ * - Configuration per plugin
9
+ * - Event-based communication
10
+ *
11
+ * @version 2.9.0
12
+ */
13
+ class PluginEventEmitter {
14
+ handlers = new Map();
15
+ on(event, handler) {
16
+ if (!this.handlers.has(event)) {
17
+ this.handlers.set(event, new Set());
18
+ }
19
+ this.handlers.get(event).add(handler);
20
+ }
21
+ off(event, handler) {
22
+ this.handlers.get(event)?.delete(handler);
23
+ }
24
+ emit(event, data) {
25
+ const handlers = this.handlers.get(event);
26
+ if (handlers) {
27
+ for (const handler of handlers) {
28
+ try {
29
+ handler(data);
30
+ }
31
+ catch (e) {
32
+ console.error(`[PluginEventEmitter] Handler error for ${event}:`, e);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ // =============================================================================
39
+ // Plugin Manager
40
+ // =============================================================================
41
+ export class PluginManager {
42
+ plugins = new Map();
43
+ loadedPlugins = new Set();
44
+ pluginConfigs = new Map();
45
+ pluginErrors = new Map();
46
+ system;
47
+ events = new PluginEventEmitter();
48
+ constructor(options) {
49
+ this.system = options.system;
50
+ }
51
+ /**
52
+ * Subscribe to plugin events
53
+ */
54
+ on(event, handler) {
55
+ this.events.on(event, handler);
56
+ }
57
+ /**
58
+ * Unsubscribe from plugin events
59
+ */
60
+ off(event, handler) {
61
+ this.events.off(event, handler);
62
+ }
63
+ /**
64
+ * Register a plugin
65
+ */
66
+ register(plugin, config) {
67
+ const { name } = plugin.metadata;
68
+ if (this.plugins.has(name)) {
69
+ throw new Error(`Plugin "${name}" is already registered`);
70
+ }
71
+ this.plugins.set(name, plugin);
72
+ this.pluginConfigs.set(name, config ?? { enabled: true });
73
+ this.events.emit('plugin:registered', {
74
+ name,
75
+ version: plugin.metadata.version,
76
+ });
77
+ }
78
+ /**
79
+ * Register a plugin from a factory function
80
+ */
81
+ registerFactory(factory, config) {
82
+ const plugin = factory(config);
83
+ this.register(plugin, { enabled: true, config });
84
+ }
85
+ /**
86
+ * Unregister a plugin
87
+ */
88
+ async unregister(name) {
89
+ const plugin = this.plugins.get(name);
90
+ if (!plugin)
91
+ return false;
92
+ // Dispose if loaded
93
+ if (this.loadedPlugins.has(name)) {
94
+ await this.unload(name);
95
+ }
96
+ this.plugins.delete(name);
97
+ this.pluginConfigs.delete(name);
98
+ this.pluginErrors.delete(name);
99
+ this.events.emit('plugin:unregistered', { name });
100
+ return true;
101
+ }
102
+ /**
103
+ * Load and initialize a plugin
104
+ */
105
+ async load(name) {
106
+ const plugin = this.plugins.get(name);
107
+ const config = this.pluginConfigs.get(name);
108
+ if (!plugin) {
109
+ this.pluginErrors.set(name, 'Plugin not registered');
110
+ return false;
111
+ }
112
+ if (!config?.enabled) {
113
+ this.pluginErrors.set(name, 'Plugin is disabled');
114
+ return false;
115
+ }
116
+ if (this.loadedPlugins.has(name)) {
117
+ return true; // Already loaded
118
+ }
119
+ // Check dependencies
120
+ const depCheck = await this.checkDependencies(plugin);
121
+ if (!depCheck.satisfied) {
122
+ this.pluginErrors.set(name, `Missing dependencies: ${depCheck.missing.join(', ')}`);
123
+ return false;
124
+ }
125
+ // Load dependencies first
126
+ for (const dep of plugin.metadata.dependencies ?? []) {
127
+ if (!this.loadedPlugins.has(dep)) {
128
+ const depLoaded = await this.load(dep);
129
+ if (!depLoaded) {
130
+ this.pluginErrors.set(name, `Failed to load dependency: ${dep}`);
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ // Initialize plugin
136
+ try {
137
+ const context = this.createContext(name, config.config);
138
+ await plugin.init(context);
139
+ this.loadedPlugins.add(name);
140
+ this.pluginErrors.delete(name);
141
+ this.events.emit('plugin:loaded', {
142
+ name,
143
+ version: plugin.metadata.version,
144
+ });
145
+ return true;
146
+ }
147
+ catch (error) {
148
+ const errorMessage = error instanceof Error ? error.message : String(error);
149
+ this.pluginErrors.set(name, errorMessage);
150
+ this.events.emit('plugin:error', {
151
+ name,
152
+ error: errorMessage,
153
+ });
154
+ return false;
155
+ }
156
+ }
157
+ /**
158
+ * Unload a plugin
159
+ */
160
+ async unload(name) {
161
+ const plugin = this.plugins.get(name);
162
+ if (!plugin || !this.loadedPlugins.has(name)) {
163
+ return false;
164
+ }
165
+ // Check if other plugins depend on this one
166
+ const dependents = this.getDependents(name);
167
+ if (dependents.length > 0) {
168
+ // Unload dependents first
169
+ for (const dep of dependents) {
170
+ await this.unload(dep);
171
+ }
172
+ }
173
+ try {
174
+ if (plugin.dispose) {
175
+ await plugin.dispose();
176
+ }
177
+ this.loadedPlugins.delete(name);
178
+ this.events.emit('plugin:unloaded', { name });
179
+ return true;
180
+ }
181
+ catch (error) {
182
+ const errorMessage = error instanceof Error ? error.message : String(error);
183
+ this.pluginErrors.set(name, errorMessage);
184
+ return false;
185
+ }
186
+ }
187
+ /**
188
+ * Load all enabled plugins
189
+ */
190
+ async loadAll() {
191
+ const loaded = [];
192
+ const failed = [];
193
+ // Sort by dependencies (topological sort)
194
+ const sorted = this.topologicalSort();
195
+ for (const name of sorted) {
196
+ const config = this.pluginConfigs.get(name);
197
+ if (config?.enabled) {
198
+ const success = await this.load(name);
199
+ if (success) {
200
+ loaded.push(name);
201
+ }
202
+ else {
203
+ failed.push(name);
204
+ }
205
+ }
206
+ }
207
+ return { loaded, failed };
208
+ }
209
+ /**
210
+ * Unload all plugins
211
+ */
212
+ async unloadAll() {
213
+ // Unload in reverse dependency order
214
+ const sorted = this.topologicalSort().reverse();
215
+ for (const name of sorted) {
216
+ if (this.loadedPlugins.has(name)) {
217
+ await this.unload(name);
218
+ }
219
+ }
220
+ }
221
+ /**
222
+ * Get a loaded plugin by name
223
+ */
224
+ getPlugin(name) {
225
+ if (!this.loadedPlugins.has(name))
226
+ return undefined;
227
+ return this.plugins.get(name);
228
+ }
229
+ /**
230
+ * Check if a plugin is registered
231
+ */
232
+ isRegistered(name) {
233
+ return this.plugins.has(name);
234
+ }
235
+ /**
236
+ * Check if a plugin is loaded
237
+ */
238
+ isLoaded(name) {
239
+ return this.loadedPlugins.has(name);
240
+ }
241
+ /**
242
+ * Get plugin status
243
+ */
244
+ getStatus(name) {
245
+ const plugin = this.plugins.get(name);
246
+ const config = this.pluginConfigs.get(name);
247
+ if (!plugin)
248
+ return null;
249
+ return {
250
+ name: plugin.metadata.name,
251
+ version: plugin.metadata.version,
252
+ enabled: config?.enabled ?? false,
253
+ loaded: this.loadedPlugins.has(name),
254
+ error: this.pluginErrors.get(name),
255
+ dependencies: plugin.metadata.dependencies ?? [],
256
+ };
257
+ }
258
+ /**
259
+ * Get all plugin statuses
260
+ */
261
+ getAllStatuses() {
262
+ const statuses = [];
263
+ for (const name of this.plugins.keys()) {
264
+ const status = this.getStatus(name);
265
+ if (status)
266
+ statuses.push(status);
267
+ }
268
+ return statuses;
269
+ }
270
+ /**
271
+ * Enable a plugin
272
+ */
273
+ enable(name) {
274
+ const config = this.pluginConfigs.get(name);
275
+ if (!config)
276
+ return false;
277
+ config.enabled = true;
278
+ return true;
279
+ }
280
+ /**
281
+ * Disable a plugin
282
+ */
283
+ async disable(name) {
284
+ const config = this.pluginConfigs.get(name);
285
+ if (!config)
286
+ return false;
287
+ if (this.loadedPlugins.has(name)) {
288
+ await this.unload(name);
289
+ }
290
+ config.enabled = false;
291
+ return true;
292
+ }
293
+ /**
294
+ * Update plugin config
295
+ */
296
+ updateConfig(name, newConfig) {
297
+ const config = this.pluginConfigs.get(name);
298
+ if (!config)
299
+ return false;
300
+ config.config = { ...config.config, ...newConfig };
301
+ return true;
302
+ }
303
+ // ==========================================================================
304
+ // Private Methods
305
+ // ==========================================================================
306
+ createContext(name, config) {
307
+ return {
308
+ system: this.system,
309
+ events: this.events,
310
+ config: config ?? {},
311
+ getPlugin: (pluginName) => this.getPlugin(pluginName),
312
+ log: (message, level = 'info') => {
313
+ const prefix = `[Plugin:${name}]`;
314
+ switch (level) {
315
+ case 'error':
316
+ console.error(prefix, message);
317
+ break;
318
+ case 'warn':
319
+ console.warn(prefix, message);
320
+ break;
321
+ default:
322
+ console.log(prefix, message);
323
+ }
324
+ },
325
+ };
326
+ }
327
+ async checkDependencies(plugin) {
328
+ const missing = [];
329
+ const deps = plugin.metadata.dependencies ?? [];
330
+ for (const dep of deps) {
331
+ if (!this.plugins.has(dep)) {
332
+ missing.push(dep);
333
+ }
334
+ }
335
+ return {
336
+ satisfied: missing.length === 0,
337
+ missing,
338
+ };
339
+ }
340
+ getDependents(name) {
341
+ const dependents = [];
342
+ for (const [pluginName, plugin] of this.plugins.entries()) {
343
+ if (plugin.metadata.dependencies?.includes(name)) {
344
+ dependents.push(pluginName);
345
+ }
346
+ }
347
+ return dependents;
348
+ }
349
+ topologicalSort() {
350
+ const sorted = [];
351
+ const visited = new Set();
352
+ const visiting = new Set();
353
+ const visit = (name) => {
354
+ if (visited.has(name))
355
+ return;
356
+ if (visiting.has(name)) {
357
+ throw new Error(`Circular dependency detected: ${name}`);
358
+ }
359
+ visiting.add(name);
360
+ const plugin = this.plugins.get(name);
361
+ if (plugin) {
362
+ for (const dep of plugin.metadata.dependencies ?? []) {
363
+ if (this.plugins.has(dep)) {
364
+ visit(dep);
365
+ }
366
+ }
367
+ }
368
+ visiting.delete(name);
369
+ visited.add(name);
370
+ sorted.push(name);
371
+ };
372
+ for (const name of this.plugins.keys()) {
373
+ visit(name);
374
+ }
375
+ return sorted;
376
+ }
377
+ }
378
+ // =============================================================================
379
+ // Singleton Instance
380
+ // =============================================================================
381
+ let instance = null;
382
+ export function getPluginManager(system = 'ECOSYSTEM') {
383
+ if (!instance) {
384
+ instance = new PluginManager({ system });
385
+ }
386
+ return instance;
387
+ }
388
+ export function resetPluginManager() {
389
+ if (instance) {
390
+ instance.unloadAll().catch(() => { });
391
+ instance = null;
392
+ }
393
+ }
394
+ // =============================================================================
395
+ // Plugin Creation Helpers
396
+ // =============================================================================
397
+ /**
398
+ * Create a simple plugin with minimal boilerplate
399
+ */
400
+ export function createPlugin(metadata, init, dispose) {
401
+ return {
402
+ metadata,
403
+ init,
404
+ dispose,
405
+ };
406
+ }
407
+ /**
408
+ * Create a plugin factory for configurable plugins
409
+ */
410
+ export function createPluginFactory(metadata, factory, dispose) {
411
+ return (config) => ({
412
+ metadata,
413
+ init: (context) => factory((config ?? {}), context),
414
+ dispose,
415
+ });
416
+ }
417
+ //# sourceMappingURL=PluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Plugin System Exports
3
+ *
4
+ * @version 2.9.0
5
+ */
6
+ export { PluginManager, getPluginManager, resetPluginManager, createPlugin, createPluginFactory, type Plugin, type PluginContext, type PluginMetadata, type PluginFactory, type PluginConfig, type PluginStatus, } from './PluginManager.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Plugin System Exports
3
+ *
4
+ * @version 2.9.0
5
+ */
6
+ export { PluginManager, getPluginManager, resetPluginManager, createPlugin, createPluginFactory, } from './PluginManager.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,GAOpB,MAAM,oBAAoB,CAAA"}
@@ -288,13 +288,13 @@ export declare const MemoryLinkContentSchema: z.ZodObject<{
288
288
  confidence: number;
289
289
  sourceId: string;
290
290
  targetId: string;
291
- relationshipType: "extends" | "relates_to" | "contradicts" | "replaces" | "depends_on" | "derived_from";
291
+ relationshipType: "derived_from" | "depends_on" | "extends" | "relates_to" | "contradicts" | "replaces";
292
292
  description?: string | undefined;
293
293
  }, {
294
294
  confidence: number;
295
295
  sourceId: string;
296
296
  targetId: string;
297
- relationshipType: "extends" | "relates_to" | "contradicts" | "replaces" | "depends_on" | "derived_from";
297
+ relationshipType: "derived_from" | "depends_on" | "extends" | "relates_to" | "contradicts" | "replaces";
298
298
  description?: string | undefined;
299
299
  createdBy?: "user" | "system" | "expert" | undefined;
300
300
  }>;
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Audit Log Service
3
+ *
4
+ * Tracks all CRUD operations on memories and items for:
5
+ * - Compliance and accountability
6
+ * - Change history tracking
7
+ * - Debugging and troubleshooting
8
+ * - Analytics and usage patterns
9
+ *
10
+ * @version 2.9.0
11
+ */
12
+ import type { DevSystem, DevType } from '../types/index.js';
13
+ export type AuditAction = 'create' | 'read' | 'update' | 'delete' | 'search' | 'feedback' | 'export' | 'import' | 'archive' | 'restore';
14
+ export type AuditActor = 'user' | 'claude' | 'system' | 'api' | 'scheduler' | 'migration';
15
+ export interface AuditEntry {
16
+ id: string;
17
+ timestamp: string;
18
+ system: DevSystem;
19
+ action: AuditAction;
20
+ actor: AuditActor;
21
+ actorId?: string;
22
+ itemType?: DevType;
23
+ itemId?: string;
24
+ itemTitle?: string;
25
+ details?: Record<string, unknown>;
26
+ changes?: {
27
+ before?: Record<string, unknown>;
28
+ after?: Record<string, unknown>;
29
+ };
30
+ metadata?: {
31
+ sessionId?: string;
32
+ requestId?: string;
33
+ duration?: number;
34
+ ip?: string;
35
+ userAgent?: string;
36
+ };
37
+ }
38
+ export interface AuditQueryOptions {
39
+ system?: DevSystem;
40
+ action?: AuditAction;
41
+ actor?: AuditActor;
42
+ itemType?: DevType;
43
+ itemId?: string;
44
+ startDate?: Date;
45
+ endDate?: Date;
46
+ limit?: number;
47
+ offset?: number;
48
+ }
49
+ export interface AuditStats {
50
+ totalEntries: number;
51
+ byAction: Record<AuditAction, number>;
52
+ byActor: Record<AuditActor, number>;
53
+ byItemType: Record<string, number>;
54
+ recentActivity: {
55
+ last24h: number;
56
+ last7d: number;
57
+ last30d: number;
58
+ };
59
+ }
60
+ export declare class AuditLogService {
61
+ private entries;
62
+ private maxEntries;
63
+ private system;
64
+ private flushCallback?;
65
+ private flushInterval;
66
+ private flushTimer?;
67
+ private pendingFlush;
68
+ constructor(options: {
69
+ system: DevSystem;
70
+ maxEntries?: number;
71
+ flushCallback?: (entries: AuditEntry[]) => Promise<void>;
72
+ flushInterval?: number;
73
+ });
74
+ /**
75
+ * Log an audit entry
76
+ */
77
+ log(entry: Omit<AuditEntry, 'id' | 'timestamp' | 'system'>): AuditEntry;
78
+ /**
79
+ * Log a create action
80
+ */
81
+ logCreate(options: {
82
+ actor: AuditActor;
83
+ actorId?: string;
84
+ itemType: DevType;
85
+ itemId: string;
86
+ itemTitle?: string;
87
+ details?: Record<string, unknown>;
88
+ metadata?: AuditEntry['metadata'];
89
+ }): AuditEntry;
90
+ /**
91
+ * Log a read/access action
92
+ */
93
+ logRead(options: {
94
+ actor: AuditActor;
95
+ actorId?: string;
96
+ itemType: DevType;
97
+ itemId: string;
98
+ metadata?: AuditEntry['metadata'];
99
+ }): AuditEntry;
100
+ /**
101
+ * Log an update action with before/after changes
102
+ */
103
+ logUpdate(options: {
104
+ actor: AuditActor;
105
+ actorId?: string;
106
+ itemType: DevType;
107
+ itemId: string;
108
+ itemTitle?: string;
109
+ before: Record<string, unknown>;
110
+ after: Record<string, unknown>;
111
+ metadata?: AuditEntry['metadata'];
112
+ }): AuditEntry;
113
+ /**
114
+ * Log a delete action
115
+ */
116
+ logDelete(options: {
117
+ actor: AuditActor;
118
+ actorId?: string;
119
+ itemType: DevType;
120
+ itemId: string;
121
+ itemTitle?: string;
122
+ details?: Record<string, unknown>;
123
+ metadata?: AuditEntry['metadata'];
124
+ }): AuditEntry;
125
+ /**
126
+ * Log a search action
127
+ */
128
+ logSearch(options: {
129
+ actor: AuditActor;
130
+ actorId?: string;
131
+ details: {
132
+ query: string;
133
+ resultCount: number;
134
+ filters?: Record<string, unknown>;
135
+ };
136
+ metadata?: AuditEntry['metadata'];
137
+ }): AuditEntry;
138
+ /**
139
+ * Log feedback action
140
+ */
141
+ logFeedback(options: {
142
+ actor: AuditActor;
143
+ actorId?: string;
144
+ itemId: string;
145
+ details: {
146
+ helpful: boolean;
147
+ comment?: string;
148
+ };
149
+ metadata?: AuditEntry['metadata'];
150
+ }): AuditEntry;
151
+ /**
152
+ * Query audit log entries
153
+ */
154
+ query(options?: AuditQueryOptions): AuditEntry[];
155
+ /**
156
+ * Get history for a specific item
157
+ */
158
+ getItemHistory(itemId: string): AuditEntry[];
159
+ /**
160
+ * Get statistics
161
+ */
162
+ getStats(): AuditStats;
163
+ /**
164
+ * Export entries to JSON
165
+ */
166
+ export(options?: AuditQueryOptions): string;
167
+ /**
168
+ * Import entries from JSON
169
+ */
170
+ import(json: string): number;
171
+ /**
172
+ * Clear all entries
173
+ */
174
+ clear(): void;
175
+ /**
176
+ * Get total entry count
177
+ */
178
+ count(): number;
179
+ /**
180
+ * Flush pending entries to persistent storage
181
+ */
182
+ flush(): Promise<number>;
183
+ /**
184
+ * Stop the service and flush remaining entries
185
+ */
186
+ stop(): Promise<void>;
187
+ private startFlushTimer;
188
+ private validateEntry;
189
+ }
190
+ export declare function getAuditLog(system?: DevSystem): AuditLogService;
191
+ export declare function resetAuditLog(): void;
192
+ /**
193
+ * Create a new audit log service with custom options
194
+ */
195
+ export declare function createAuditLog(options: {
196
+ system: DevSystem;
197
+ maxEntries?: number;
198
+ flushCallback?: (entries: AuditEntry[]) => Promise<void>;
199
+ flushInterval?: number;
200
+ }): AuditLogService;
201
+ /**
202
+ * Decorator function to automatically log method calls
203
+ */
204
+ export declare function audited(action: AuditAction, actor?: AuditActor): <T extends (...args: unknown[]) => unknown>(_target: unknown, propertyKey: string, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
205
+ //# sourceMappingURL=AuditLog.d.ts.map