cmp-standards 2.8.1 → 2.9.1

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 (95) 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 +431 -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 +247 -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/hooks/index.d.ts +1 -0
  36. package/dist/hooks/index.d.ts.map +1 -1
  37. package/dist/hooks/index.js +2 -0
  38. package/dist/hooks/index.js.map +1 -1
  39. package/dist/hooks/startup-verify.d.ts +31 -0
  40. package/dist/hooks/startup-verify.d.ts.map +1 -0
  41. package/dist/hooks/startup-verify.js +360 -0
  42. package/dist/hooks/startup-verify.js.map +1 -0
  43. package/dist/plugins/PluginManager.d.ts +160 -0
  44. package/dist/plugins/PluginManager.d.ts.map +1 -0
  45. package/dist/plugins/PluginManager.js +417 -0
  46. package/dist/plugins/PluginManager.js.map +1 -0
  47. package/dist/plugins/index.d.ts +7 -0
  48. package/dist/plugins/index.d.ts.map +1 -0
  49. package/dist/plugins/index.js +7 -0
  50. package/dist/plugins/index.js.map +1 -0
  51. package/dist/services/AuditLog.d.ts +205 -0
  52. package/dist/services/AuditLog.d.ts.map +1 -0
  53. package/dist/services/AuditLog.js +352 -0
  54. package/dist/services/AuditLog.js.map +1 -0
  55. package/dist/services/FeedbackCollector.d.ts +8 -0
  56. package/dist/services/FeedbackCollector.d.ts.map +1 -1
  57. package/dist/services/FeedbackCollector.js +19 -2
  58. package/dist/services/FeedbackCollector.js.map +1 -1
  59. package/dist/services/GitIntegration.d.ts +140 -0
  60. package/dist/services/GitIntegration.d.ts.map +1 -0
  61. package/dist/services/GitIntegration.js +423 -0
  62. package/dist/services/GitIntegration.js.map +1 -0
  63. package/dist/services/HookVerifier.d.ts +95 -0
  64. package/dist/services/HookVerifier.d.ts.map +1 -0
  65. package/dist/services/HookVerifier.js +493 -0
  66. package/dist/services/HookVerifier.js.map +1 -0
  67. package/dist/services/MemoryVersioning.d.ts +108 -0
  68. package/dist/services/MemoryVersioning.d.ts.map +1 -0
  69. package/dist/services/MemoryVersioning.js +281 -0
  70. package/dist/services/MemoryVersioning.js.map +1 -0
  71. package/dist/services/context-injector.d.ts +8 -0
  72. package/dist/services/context-injector.d.ts.map +1 -1
  73. package/dist/services/context-injector.js +19 -2
  74. package/dist/services/context-injector.js.map +1 -1
  75. package/dist/services/index.d.ts +4 -0
  76. package/dist/services/index.d.ts.map +1 -1
  77. package/dist/services/index.js +5 -0
  78. package/dist/services/index.js.map +1 -1
  79. package/dist/services/memory-router.d.ts +8 -0
  80. package/dist/services/memory-router.d.ts.map +1 -1
  81. package/dist/services/memory-router.js +19 -2
  82. package/dist/services/memory-router.js.map +1 -1
  83. package/dist/services/pattern-tracker.d.ts +13 -0
  84. package/dist/services/pattern-tracker.d.ts.map +1 -1
  85. package/dist/services/pattern-tracker.js +33 -3
  86. package/dist/services/pattern-tracker.js.map +1 -1
  87. package/dist/services/semantic-search.d.ts +4 -0
  88. package/dist/services/semantic-search.d.ts.map +1 -1
  89. package/dist/services/semantic-search.js +53 -13
  90. package/dist/services/semantic-search.js.map +1 -1
  91. package/dist/types/index.d.ts +1 -0
  92. package/dist/types/index.d.ts.map +1 -1
  93. package/dist/types/index.js +1 -0
  94. package/dist/types/index.js.map +1 -1
  95. package/package.json +4 -1
@@ -0,0 +1,352 @@
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 { ulid } from 'ulid';
13
+ // =============================================================================
14
+ // Audit Log Service
15
+ // =============================================================================
16
+ export class AuditLogService {
17
+ entries = [];
18
+ maxEntries;
19
+ system;
20
+ flushCallback;
21
+ flushInterval;
22
+ flushTimer;
23
+ pendingFlush = [];
24
+ constructor(options) {
25
+ this.system = options.system;
26
+ this.maxEntries = options.maxEntries ?? 10000;
27
+ this.flushCallback = options.flushCallback;
28
+ this.flushInterval = options.flushInterval ?? 60000; // 1 minute default
29
+ if (this.flushCallback) {
30
+ this.startFlushTimer();
31
+ }
32
+ }
33
+ /**
34
+ * Log an audit entry
35
+ */
36
+ log(entry) {
37
+ const fullEntry = {
38
+ id: ulid(),
39
+ timestamp: new Date().toISOString(),
40
+ system: this.system,
41
+ ...entry,
42
+ };
43
+ this.entries.push(fullEntry);
44
+ this.pendingFlush.push(fullEntry);
45
+ // Trim if over max
46
+ if (this.entries.length > this.maxEntries) {
47
+ this.entries = this.entries.slice(-this.maxEntries);
48
+ }
49
+ return fullEntry;
50
+ }
51
+ /**
52
+ * Log a create action
53
+ */
54
+ logCreate(options) {
55
+ return this.log({
56
+ action: 'create',
57
+ ...options,
58
+ });
59
+ }
60
+ /**
61
+ * Log a read/access action
62
+ */
63
+ logRead(options) {
64
+ return this.log({
65
+ action: 'read',
66
+ ...options,
67
+ });
68
+ }
69
+ /**
70
+ * Log an update action with before/after changes
71
+ */
72
+ logUpdate(options) {
73
+ return this.log({
74
+ action: 'update',
75
+ actor: options.actor,
76
+ actorId: options.actorId,
77
+ itemType: options.itemType,
78
+ itemId: options.itemId,
79
+ itemTitle: options.itemTitle,
80
+ changes: {
81
+ before: options.before,
82
+ after: options.after,
83
+ },
84
+ metadata: options.metadata,
85
+ });
86
+ }
87
+ /**
88
+ * Log a delete action
89
+ */
90
+ logDelete(options) {
91
+ return this.log({
92
+ action: 'delete',
93
+ ...options,
94
+ });
95
+ }
96
+ /**
97
+ * Log a search action
98
+ */
99
+ logSearch(options) {
100
+ return this.log({
101
+ action: 'search',
102
+ ...options,
103
+ });
104
+ }
105
+ /**
106
+ * Log feedback action
107
+ */
108
+ logFeedback(options) {
109
+ return this.log({
110
+ action: 'feedback',
111
+ itemType: 'memory',
112
+ ...options,
113
+ });
114
+ }
115
+ /**
116
+ * Query audit log entries
117
+ */
118
+ query(options = {}) {
119
+ let results = this.entries;
120
+ if (options.system) {
121
+ results = results.filter(e => e.system === options.system);
122
+ }
123
+ if (options.action) {
124
+ results = results.filter(e => e.action === options.action);
125
+ }
126
+ if (options.actor) {
127
+ results = results.filter(e => e.actor === options.actor);
128
+ }
129
+ if (options.itemType) {
130
+ results = results.filter(e => e.itemType === options.itemType);
131
+ }
132
+ if (options.itemId) {
133
+ results = results.filter(e => e.itemId === options.itemId);
134
+ }
135
+ if (options.startDate) {
136
+ results = results.filter(e => new Date(e.timestamp) >= options.startDate);
137
+ }
138
+ if (options.endDate) {
139
+ results = results.filter(e => new Date(e.timestamp) <= options.endDate);
140
+ }
141
+ // Sort by timestamp descending (most recent first)
142
+ results.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
143
+ // Apply pagination
144
+ const offset = options.offset ?? 0;
145
+ const limit = options.limit ?? 100;
146
+ return results.slice(offset, offset + limit);
147
+ }
148
+ /**
149
+ * Get history for a specific item
150
+ */
151
+ getItemHistory(itemId) {
152
+ return this.entries
153
+ .filter(e => e.itemId === itemId)
154
+ .sort((a, b) => a.timestamp.localeCompare(b.timestamp));
155
+ }
156
+ /**
157
+ * Get statistics
158
+ */
159
+ getStats() {
160
+ const now = new Date();
161
+ const last24h = new Date(now.getTime() - 24 * 60 * 60 * 1000);
162
+ const last7d = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
163
+ const last30d = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
164
+ const byAction = {};
165
+ const byActor = {};
166
+ const byItemType = {};
167
+ let recentLast24h = 0;
168
+ let recentLast7d = 0;
169
+ let recentLast30d = 0;
170
+ for (const entry of this.entries) {
171
+ // Count by action
172
+ byAction[entry.action] = (byAction[entry.action] ?? 0) + 1;
173
+ // Count by actor
174
+ byActor[entry.actor] = (byActor[entry.actor] ?? 0) + 1;
175
+ // Count by item type
176
+ if (entry.itemType) {
177
+ byItemType[entry.itemType] = (byItemType[entry.itemType] ?? 0) + 1;
178
+ }
179
+ // Count recent activity
180
+ const entryDate = new Date(entry.timestamp);
181
+ if (entryDate >= last24h)
182
+ recentLast24h++;
183
+ if (entryDate >= last7d)
184
+ recentLast7d++;
185
+ if (entryDate >= last30d)
186
+ recentLast30d++;
187
+ }
188
+ return {
189
+ totalEntries: this.entries.length,
190
+ byAction: byAction,
191
+ byActor: byActor,
192
+ byItemType,
193
+ recentActivity: {
194
+ last24h: recentLast24h,
195
+ last7d: recentLast7d,
196
+ last30d: recentLast30d,
197
+ },
198
+ };
199
+ }
200
+ /**
201
+ * Export entries to JSON
202
+ */
203
+ export(options) {
204
+ const entries = this.query(options);
205
+ return JSON.stringify(entries, null, 2);
206
+ }
207
+ /**
208
+ * Import entries from JSON
209
+ */
210
+ import(json) {
211
+ try {
212
+ const entries = JSON.parse(json);
213
+ let imported = 0;
214
+ for (const entry of entries) {
215
+ if (this.validateEntry(entry)) {
216
+ this.entries.push(entry);
217
+ imported++;
218
+ }
219
+ }
220
+ // Trim if over max
221
+ if (this.entries.length > this.maxEntries) {
222
+ this.entries = this.entries.slice(-this.maxEntries);
223
+ }
224
+ return imported;
225
+ }
226
+ catch {
227
+ return 0;
228
+ }
229
+ }
230
+ /**
231
+ * Clear all entries
232
+ */
233
+ clear() {
234
+ this.entries = [];
235
+ this.pendingFlush = [];
236
+ }
237
+ /**
238
+ * Get total entry count
239
+ */
240
+ count() {
241
+ return this.entries.length;
242
+ }
243
+ /**
244
+ * Flush pending entries to persistent storage
245
+ */
246
+ async flush() {
247
+ if (!this.flushCallback || this.pendingFlush.length === 0) {
248
+ return 0;
249
+ }
250
+ const toFlush = [...this.pendingFlush];
251
+ this.pendingFlush = [];
252
+ try {
253
+ await this.flushCallback(toFlush);
254
+ return toFlush.length;
255
+ }
256
+ catch (error) {
257
+ // Re-add failed entries to pending
258
+ this.pendingFlush.unshift(...toFlush);
259
+ throw error;
260
+ }
261
+ }
262
+ /**
263
+ * Stop the service and flush remaining entries
264
+ */
265
+ async stop() {
266
+ if (this.flushTimer) {
267
+ clearInterval(this.flushTimer);
268
+ this.flushTimer = undefined;
269
+ }
270
+ await this.flush();
271
+ }
272
+ startFlushTimer() {
273
+ this.flushTimer = setInterval(() => {
274
+ this.flush().catch(err => {
275
+ console.error('[AuditLog] Flush failed:', err);
276
+ });
277
+ }, this.flushInterval);
278
+ }
279
+ validateEntry(entry) {
280
+ if (!entry || typeof entry !== 'object')
281
+ return false;
282
+ const e = entry;
283
+ return (typeof e.id === 'string' &&
284
+ typeof e.timestamp === 'string' &&
285
+ typeof e.action === 'string' &&
286
+ typeof e.actor === 'string');
287
+ }
288
+ }
289
+ // =============================================================================
290
+ // Singleton Instance
291
+ // =============================================================================
292
+ let instance = null;
293
+ export function getAuditLog(system = 'ECOSYSTEM') {
294
+ if (!instance) {
295
+ instance = new AuditLogService({
296
+ system,
297
+ });
298
+ }
299
+ return instance;
300
+ }
301
+ export function resetAuditLog() {
302
+ if (instance) {
303
+ instance.stop().catch(() => { });
304
+ instance = null;
305
+ }
306
+ }
307
+ /**
308
+ * Create a new audit log service with custom options
309
+ */
310
+ export function createAuditLog(options) {
311
+ return new AuditLogService(options);
312
+ }
313
+ // =============================================================================
314
+ // Convenience Decorators/Wrappers
315
+ // =============================================================================
316
+ /**
317
+ * Decorator function to automatically log method calls
318
+ */
319
+ export function audited(action, actor = 'system') {
320
+ return function (_target, propertyKey, descriptor) {
321
+ const originalMethod = descriptor.value;
322
+ descriptor.value = function (...args) {
323
+ const startTime = Date.now();
324
+ const result = originalMethod.apply(this, args);
325
+ // Handle both sync and async methods
326
+ if (result instanceof Promise) {
327
+ return result.then(res => {
328
+ getAuditLog().log({
329
+ action,
330
+ actor,
331
+ details: {
332
+ method: propertyKey,
333
+ duration: Date.now() - startTime,
334
+ },
335
+ });
336
+ return res;
337
+ });
338
+ }
339
+ getAuditLog().log({
340
+ action,
341
+ actor,
342
+ details: {
343
+ method: propertyKey,
344
+ duration: Date.now() - startTime,
345
+ },
346
+ });
347
+ return result;
348
+ };
349
+ return descriptor;
350
+ };
351
+ }
352
+ //# sourceMappingURL=AuditLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../../src/services/AuditLog.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,14 @@ declare class FeedbackCollectorService {
58
58
  */
59
59
  archiveLowScoredMemories(system: DevSystem, threshold?: number, minAge?: number): Promise<number>;
60
60
  }
61
+ /**
62
+ * Get or create the global FeedbackCollector instance
63
+ */
64
+ export declare function getFeedbackCollector(): FeedbackCollectorService;
65
+ /**
66
+ * Reset the global instance (useful for testing)
67
+ */
68
+ export declare function resetFeedbackCollector(): void;
61
69
  export declare const feedbackCollector: FeedbackCollectorService;
62
70
  export default feedbackCollector;
63
71
  //# sourceMappingURL=FeedbackCollector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackCollector.d.ts","sourceRoot":"","sources":["../../src/services/FeedbackCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAMlD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAEpF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAsBD,cAAM,wBAAwB;IAC5B;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEpD;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgC/D;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,SAAS,EACjB,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC;IA8B7B;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,SAAS,EACjB,SAAS,SAAM,EACf,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC;IA8B7B;;OAEG;IACG,wBAAwB,CAC5B,MAAM,EAAE,SAAS,EACjB,SAAS,SAAM,EACf,MAAM,SAAK,GACV,OAAO,CAAC,MAAM,CAAC;CAsBnB;AAMD,eAAO,MAAM,iBAAiB,0BAAiC,CAAA;AAC/D,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"FeedbackCollector.d.ts","sourceRoot":"","sources":["../../src/services/FeedbackCollector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAMlD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAEpF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAsBD,cAAM,wBAAwB;IAC5B;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEpD;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgC/D;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,SAAS,EACjB,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC;IA8B7B;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,SAAS,EACjB,SAAS,SAAM,EACf,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC;IA8B7B;;OAEG;IACG,wBAAwB,CAC5B,MAAM,EAAE,SAAS,EACjB,SAAS,SAAM,EACf,MAAM,SAAK,GACV,OAAO,CAAC,MAAM,CAAC;CAsBnB;AAQD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,wBAAwB,CAK/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAGD,eAAO,MAAM,iBAAiB,0BAAyB,CAAA;AACvD,eAAe,iBAAiB,CAAA"}
@@ -212,8 +212,25 @@ class FeedbackCollectorService {
212
212
  }
213
213
  }
214
214
  // =============================================================================
215
- // Export Singleton
215
+ // Singleton Instance (Factory Pattern)
216
216
  // =============================================================================
217
- export const feedbackCollector = new FeedbackCollectorService();
217
+ let instance = null;
218
+ /**
219
+ * Get or create the global FeedbackCollector instance
220
+ */
221
+ export function getFeedbackCollector() {
222
+ if (!instance) {
223
+ instance = new FeedbackCollectorService();
224
+ }
225
+ return instance;
226
+ }
227
+ /**
228
+ * Reset the global instance (useful for testing)
229
+ */
230
+ export function resetFeedbackCollector() {
231
+ instance = null;
232
+ }
233
+ // Legacy export for backwards compatibility
234
+ export const feedbackCollector = getFeedbackCollector();
218
235
  export default feedbackCollector;
219
236
  //# sourceMappingURL=FeedbackCollector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackCollector.js","sourceRoot":"","sources":["../../src/services/FeedbackCollector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackCollector.js","sourceRoot":"","sources":["../../src/services/FeedbackCollector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Git Integration Service
3
+ *
4
+ * Provides Git integration for memory system:
5
+ * - Auto-commit memory changes
6
+ * - Export memories as Git-tracked files
7
+ * - Sync with remote repositories
8
+ * - Version history via Git
9
+ *
10
+ * @version 2.9.0
11
+ */
12
+ import { StatusResult } from 'simple-git';
13
+ import type { DevSystem, MemoryContent } from '../types/index.js';
14
+ export interface GitConfig {
15
+ enabled: boolean;
16
+ repoPath: string;
17
+ memoriesDir: string;
18
+ branch?: string;
19
+ remote?: string;
20
+ autoCommit: boolean;
21
+ autoCommitInterval?: number;
22
+ commitPrefix?: string;
23
+ author?: {
24
+ name: string;
25
+ email: string;
26
+ };
27
+ }
28
+ export interface CommitResult {
29
+ success: boolean;
30
+ commitHash?: string;
31
+ message: string;
32
+ filesChanged?: number;
33
+ error?: string;
34
+ }
35
+ export interface SyncResult {
36
+ success: boolean;
37
+ pushed?: number;
38
+ pulled?: number;
39
+ conflicts?: string[];
40
+ error?: string;
41
+ }
42
+ export interface MemoryFileFormat {
43
+ id: string;
44
+ title: string;
45
+ body: string;
46
+ domain?: string;
47
+ source?: string;
48
+ tags?: string[];
49
+ createdAt: string;
50
+ updatedAt: string;
51
+ metadata: Record<string, unknown>;
52
+ }
53
+ export declare class GitIntegrationService {
54
+ private git;
55
+ private config;
56
+ private system;
57
+ private pendingChanges;
58
+ private commitTimer?;
59
+ private initialized;
60
+ constructor(options: {
61
+ system: DevSystem;
62
+ config: Partial<GitConfig>;
63
+ });
64
+ /**
65
+ * Initialize the Git integration
66
+ */
67
+ init(): Promise<boolean>;
68
+ /**
69
+ * Save a memory to file and stage for commit
70
+ */
71
+ saveMemory(memoryId: string, content: MemoryContent, options?: {
72
+ immediate?: boolean;
73
+ }): Promise<boolean>;
74
+ /**
75
+ * Delete a memory file and stage for commit
76
+ */
77
+ deleteMemory(memoryId: string, domain?: string, options?: {
78
+ immediate?: boolean;
79
+ }): Promise<boolean>;
80
+ /**
81
+ * Commit pending changes
82
+ */
83
+ commit(message?: string): Promise<CommitResult>;
84
+ /**
85
+ * Push changes to remote
86
+ */
87
+ push(): Promise<SyncResult>;
88
+ /**
89
+ * Pull changes from remote
90
+ */
91
+ pull(): Promise<SyncResult>;
92
+ /**
93
+ * Get current status
94
+ */
95
+ getStatus(): Promise<StatusResult>;
96
+ /**
97
+ * Get commit history for memories
98
+ */
99
+ getHistory(limit?: number): Promise<Array<{
100
+ hash: string;
101
+ date: string;
102
+ message: string;
103
+ author: string;
104
+ }>>;
105
+ /**
106
+ * Export all memories from database to files
107
+ */
108
+ exportAll(memories: Array<{
109
+ id: string;
110
+ content: MemoryContent;
111
+ }>): Promise<{
112
+ exported: number;
113
+ failed: number;
114
+ }>;
115
+ /**
116
+ * Import memories from files
117
+ */
118
+ importAll(): Promise<Array<MemoryFileFormat>>;
119
+ /**
120
+ * Stop auto-commit and cleanup
121
+ */
122
+ stop(): void;
123
+ private startAutoCommit;
124
+ private getMemoryFilePath;
125
+ private formatMemoryFile;
126
+ private parseMemoryFile;
127
+ private findMemoryFiles;
128
+ private hasChanges;
129
+ private formatCommitMessage;
130
+ }
131
+ export declare function getGitIntegration(system?: DevSystem, config?: Partial<GitConfig>): GitIntegrationService;
132
+ export declare function resetGitIntegration(): void;
133
+ /**
134
+ * Create a new Git integration with custom config
135
+ */
136
+ export declare function createGitIntegration(options: {
137
+ system: DevSystem;
138
+ config: Partial<GitConfig>;
139
+ }): GitIntegrationService;
140
+ //# sourceMappingURL=GitIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitIntegration.d.ts","sourceRoot":"","sources":["../../src/services/GitIntegration.ts"],"names":[],"mappings":"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"}