cmp-standards 2.8.0 → 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.
- package/dist/analytics/CrossProjectAnalytics.d.ts +128 -0
- package/dist/analytics/CrossProjectAnalytics.d.ts.map +1 -0
- package/dist/analytics/CrossProjectAnalytics.js +431 -0
- package/dist/analytics/CrossProjectAnalytics.js.map +1 -0
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +2 -0
- package/dist/analytics/index.js.map +1 -1
- package/dist/cache/EmbeddingCache.d.ts +6 -4
- package/dist/cache/EmbeddingCache.d.ts.map +1 -1
- package/dist/cache/EmbeddingCache.js +28 -17
- package/dist/cache/EmbeddingCache.js.map +1 -1
- package/dist/cli/index.js +247 -141
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui.d.ts +134 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +311 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/dashboard/tokens.d.ts +228 -0
- package/dist/dashboard/tokens.d.ts.map +1 -0
- package/dist/dashboard/tokens.js +450 -0
- package/dist/dashboard/tokens.js.map +1 -0
- package/dist/dashboard/ui.d.ts +3 -0
- package/dist/dashboard/ui.d.ts.map +1 -1
- package/dist/dashboard/ui.js +95 -61
- package/dist/dashboard/ui.js.map +1 -1
- package/dist/db/cloud.d.ts +11 -0
- package/dist/db/cloud.d.ts.map +1 -1
- package/dist/db/cloud.js +49 -1
- package/dist/db/cloud.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +109 -0
- package/dist/db/migrations.js.map +1 -1
- package/dist/experts/ExpertVotePersistence.d.ts +86 -0
- package/dist/experts/ExpertVotePersistence.d.ts.map +1 -0
- package/dist/experts/ExpertVotePersistence.js +234 -0
- package/dist/experts/ExpertVotePersistence.js.map +1 -0
- package/dist/experts/index.d.ts +1 -0
- package/dist/experts/index.d.ts.map +1 -1
- package/dist/experts/index.js +2 -0
- package/dist/experts/index.js.map +1 -1
- package/dist/hooks/cloud-post-tool-use.d.ts +5 -0
- package/dist/hooks/cloud-post-tool-use.d.ts.map +1 -1
- package/dist/hooks/cloud-post-tool-use.js +43 -10
- package/dist/hooks/cloud-post-tool-use.js.map +1 -1
- package/dist/hooks/cloud-session-start.d.ts.map +1 -1
- package/dist/hooks/cloud-session-start.js +64 -0
- package/dist/hooks/cloud-session-start.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/session-end.d.ts +67 -0
- package/dist/hooks/session-end.d.ts.map +1 -0
- package/dist/hooks/session-end.js +268 -0
- package/dist/hooks/session-end.js.map +1 -0
- package/dist/hooks/startup-verify.d.ts +31 -0
- package/dist/hooks/startup-verify.d.ts.map +1 -0
- package/dist/hooks/startup-verify.js +360 -0
- package/dist/hooks/startup-verify.js.map +1 -0
- package/dist/mcp/schemas.d.ts +2 -2
- package/dist/performance/Debouncer.d.ts +57 -0
- package/dist/performance/Debouncer.d.ts.map +1 -1
- package/dist/performance/Debouncer.js +149 -0
- package/dist/performance/Debouncer.js.map +1 -1
- package/dist/performance/index.d.ts +1 -1
- package/dist/performance/index.d.ts.map +1 -1
- package/dist/performance/index.js +3 -1
- package/dist/performance/index.js.map +1 -1
- package/dist/plugins/PluginManager.d.ts +160 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +417 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/index.d.ts +7 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +7 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/schema/expert-types.d.ts +2 -2
- package/dist/services/AuditLog.d.ts +205 -0
- package/dist/services/AuditLog.d.ts.map +1 -0
- package/dist/services/AuditLog.js +352 -0
- package/dist/services/AuditLog.js.map +1 -0
- package/dist/services/FeedbackCollector.d.ts +71 -0
- package/dist/services/FeedbackCollector.d.ts.map +1 -0
- package/dist/services/FeedbackCollector.js +236 -0
- package/dist/services/FeedbackCollector.js.map +1 -0
- package/dist/services/GitIntegration.d.ts +140 -0
- package/dist/services/GitIntegration.d.ts.map +1 -0
- package/dist/services/GitIntegration.js +423 -0
- package/dist/services/GitIntegration.js.map +1 -0
- package/dist/services/HookVerifier.d.ts +95 -0
- package/dist/services/HookVerifier.d.ts.map +1 -0
- package/dist/services/HookVerifier.js +493 -0
- package/dist/services/HookVerifier.js.map +1 -0
- package/dist/services/MemoryVersioning.d.ts +108 -0
- package/dist/services/MemoryVersioning.d.ts.map +1 -0
- package/dist/services/MemoryVersioning.js +281 -0
- package/dist/services/MemoryVersioning.js.map +1 -0
- package/dist/services/context-injector.d.ts +8 -0
- package/dist/services/context-injector.d.ts.map +1 -1
- package/dist/services/context-injector.js +19 -2
- package/dist/services/context-injector.js.map +1 -1
- package/dist/services/index.d.ts +6 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/memory-router.d.ts +8 -0
- package/dist/services/memory-router.d.ts.map +1 -1
- package/dist/services/memory-router.js +19 -2
- package/dist/services/memory-router.js.map +1 -1
- package/dist/services/pattern-tracker.d.ts +63 -0
- package/dist/services/pattern-tracker.d.ts.map +1 -1
- package/dist/services/pattern-tracker.js +180 -2
- package/dist/services/pattern-tracker.js.map +1 -1
- package/dist/services/semantic-search.d.ts +4 -0
- package/dist/services/semantic-search.d.ts.map +1 -1
- package/dist/services/semantic-search.js +53 -13
- package/dist/services/semantic-search.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file FeedbackCollector Service
|
|
3
|
+
* @description Tracks memory usage feedback to enable learning loop
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Track when memories are used, dismissed, or rated
|
|
7
|
+
* - Update memory decay scores based on feedback
|
|
8
|
+
* - Enable relevance learning over time
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import type { DevSystem } from '../types/index.js';
|
|
13
|
+
export type FeedbackAction = 'used' | 'dismissed' | 'helpful' | 'wrong' | 'outdated';
|
|
14
|
+
export interface MemoryFeedback {
|
|
15
|
+
memoryId: string;
|
|
16
|
+
action: FeedbackAction;
|
|
17
|
+
toolContext?: string;
|
|
18
|
+
sessionId?: string;
|
|
19
|
+
timestamp?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface FeedbackStats {
|
|
22
|
+
totalFeedback: number;
|
|
23
|
+
usedCount: number;
|
|
24
|
+
dismissedCount: number;
|
|
25
|
+
helpfulCount: number;
|
|
26
|
+
wrongCount: number;
|
|
27
|
+
avgScore: number;
|
|
28
|
+
}
|
|
29
|
+
export interface MemoryWithScore {
|
|
30
|
+
id: string;
|
|
31
|
+
feedbackScore: number;
|
|
32
|
+
accessCount: number;
|
|
33
|
+
lastAccessedAt: string;
|
|
34
|
+
}
|
|
35
|
+
declare class FeedbackCollectorService {
|
|
36
|
+
/**
|
|
37
|
+
* Track feedback for a memory
|
|
38
|
+
*/
|
|
39
|
+
track(feedback: MemoryFeedback): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Track multiple memories used in a single tool call
|
|
42
|
+
*/
|
|
43
|
+
trackBatch(memoryIds: string[], action: FeedbackAction, toolContext?: string, sessionId?: string): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get feedback statistics for a memory
|
|
46
|
+
*/
|
|
47
|
+
getStats(memoryId: string): Promise<FeedbackStats | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Get memories sorted by feedback score (for relevance-based retrieval)
|
|
50
|
+
*/
|
|
51
|
+
getTopScoredMemories(system: DevSystem, limit?: number): Promise<MemoryWithScore[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Get memories with low scores that might need review or archival
|
|
54
|
+
*/
|
|
55
|
+
getLowScoredMemories(system: DevSystem, threshold?: number, limit?: number): Promise<MemoryWithScore[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Archive memories with very low scores (cleanup)
|
|
58
|
+
*/
|
|
59
|
+
archiveLowScoredMemories(system: DevSystem, threshold?: number, minAge?: number): Promise<number>;
|
|
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;
|
|
69
|
+
export declare const feedbackCollector: FeedbackCollectorService;
|
|
70
|
+
export default feedbackCollector;
|
|
71
|
+
//# sourceMappingURL=FeedbackCollector.d.ts.map
|
|
@@ -0,0 +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;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"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file FeedbackCollector Service
|
|
3
|
+
* @description Tracks memory usage feedback to enable learning loop
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Track when memories are used, dismissed, or rated
|
|
7
|
+
* - Update memory decay scores based on feedback
|
|
8
|
+
* - Enable relevance learning over time
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import { turso } from '../db/turso-client.js';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Score Adjustments
|
|
15
|
+
// =============================================================================
|
|
16
|
+
const SCORE_ADJUSTMENTS = {
|
|
17
|
+
used: 0.02, // Small positive for each use
|
|
18
|
+
dismissed: -0.05, // Negative when dismissed
|
|
19
|
+
helpful: 0.15, // Strong positive for explicit helpful
|
|
20
|
+
wrong: -0.25, // Strong negative for wrong info
|
|
21
|
+
outdated: -0.15 // Moderate negative for outdated
|
|
22
|
+
};
|
|
23
|
+
const MIN_SCORE = 0.0;
|
|
24
|
+
const MAX_SCORE = 1.0;
|
|
25
|
+
const DEFAULT_SCORE = 0.5;
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// FeedbackCollector Implementation
|
|
28
|
+
// =============================================================================
|
|
29
|
+
class FeedbackCollectorService {
|
|
30
|
+
/**
|
|
31
|
+
* Track feedback for a memory
|
|
32
|
+
*/
|
|
33
|
+
async track(feedback) {
|
|
34
|
+
const { memoryId, action, toolContext, sessionId } = feedback;
|
|
35
|
+
const timestamp = feedback.timestamp || new Date().toISOString();
|
|
36
|
+
try {
|
|
37
|
+
const db = turso.getClient();
|
|
38
|
+
// 1. Get current memory state
|
|
39
|
+
const result = await db.execute({
|
|
40
|
+
sql: `SELECT id, content FROM items WHERE id = ?`,
|
|
41
|
+
args: [memoryId]
|
|
42
|
+
});
|
|
43
|
+
if (result.rows.length === 0) {
|
|
44
|
+
console.warn(`[FeedbackCollector] Memory not found: ${memoryId}`);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const row = result.rows[0];
|
|
48
|
+
const content = typeof row.content === 'string'
|
|
49
|
+
? JSON.parse(row.content)
|
|
50
|
+
: row.content;
|
|
51
|
+
// 2. Calculate new score
|
|
52
|
+
const currentScore = content.feedbackScore ?? DEFAULT_SCORE;
|
|
53
|
+
const currentAccessCount = content.accessCount ?? 0;
|
|
54
|
+
const adjustment = SCORE_ADJUSTMENTS[action];
|
|
55
|
+
const newScore = Math.max(MIN_SCORE, Math.min(MAX_SCORE, currentScore + adjustment));
|
|
56
|
+
const newAccessCount = currentAccessCount + 1;
|
|
57
|
+
// 3. Build feedback history entry
|
|
58
|
+
const feedbackEntry = {
|
|
59
|
+
action,
|
|
60
|
+
toolContext,
|
|
61
|
+
sessionId,
|
|
62
|
+
timestamp
|
|
63
|
+
};
|
|
64
|
+
// Keep last 20 feedback entries
|
|
65
|
+
const feedbackHistory = content.feedbackHistory || [];
|
|
66
|
+
feedbackHistory.push(feedbackEntry);
|
|
67
|
+
if (feedbackHistory.length > 20) {
|
|
68
|
+
feedbackHistory.shift();
|
|
69
|
+
}
|
|
70
|
+
// 4. Update memory with new score and feedback
|
|
71
|
+
const updatedContent = {
|
|
72
|
+
...content,
|
|
73
|
+
feedbackScore: newScore,
|
|
74
|
+
accessCount: newAccessCount,
|
|
75
|
+
lastAccessedAt: timestamp,
|
|
76
|
+
feedbackHistory
|
|
77
|
+
};
|
|
78
|
+
await db.execute({
|
|
79
|
+
sql: `UPDATE items SET content = ?, updated_at = datetime('now') WHERE id = ?`,
|
|
80
|
+
args: [JSON.stringify(updatedContent), memoryId]
|
|
81
|
+
});
|
|
82
|
+
console.log(`[FeedbackCollector] Tracked ${action} for ${memoryId}: ${currentScore.toFixed(2)} -> ${newScore.toFixed(2)}`);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error(`[FeedbackCollector] Failed to track feedback:`, error);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Track multiple memories used in a single tool call
|
|
90
|
+
*/
|
|
91
|
+
async trackBatch(memoryIds, action, toolContext, sessionId) {
|
|
92
|
+
const timestamp = new Date().toISOString();
|
|
93
|
+
await Promise.all(memoryIds.map(memoryId => this.track({ memoryId, action, toolContext, sessionId, timestamp })));
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get feedback statistics for a memory
|
|
97
|
+
*/
|
|
98
|
+
async getStats(memoryId) {
|
|
99
|
+
try {
|
|
100
|
+
const db = turso.getClient();
|
|
101
|
+
const result = await db.execute({
|
|
102
|
+
sql: `SELECT content FROM items WHERE id = ?`,
|
|
103
|
+
args: [memoryId]
|
|
104
|
+
});
|
|
105
|
+
if (result.rows.length === 0)
|
|
106
|
+
return null;
|
|
107
|
+
const content = typeof result.rows[0].content === 'string'
|
|
108
|
+
? JSON.parse(result.rows[0].content)
|
|
109
|
+
: result.rows[0].content;
|
|
110
|
+
const history = content.feedbackHistory || [];
|
|
111
|
+
const stats = {
|
|
112
|
+
totalFeedback: history.length,
|
|
113
|
+
usedCount: history.filter((f) => f.action === 'used').length,
|
|
114
|
+
dismissedCount: history.filter((f) => f.action === 'dismissed').length,
|
|
115
|
+
helpfulCount: history.filter((f) => f.action === 'helpful').length,
|
|
116
|
+
wrongCount: history.filter((f) => f.action === 'wrong').length,
|
|
117
|
+
avgScore: content.feedbackScore ?? DEFAULT_SCORE
|
|
118
|
+
};
|
|
119
|
+
return stats;
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error(`[FeedbackCollector] Failed to get stats:`, error);
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get memories sorted by feedback score (for relevance-based retrieval)
|
|
128
|
+
*/
|
|
129
|
+
async getTopScoredMemories(system, limit = 20) {
|
|
130
|
+
try {
|
|
131
|
+
const db = turso.getClient();
|
|
132
|
+
const result = await db.execute({
|
|
133
|
+
sql: `SELECT id, content FROM items
|
|
134
|
+
WHERE system = ? AND type = 'memory' AND status = 'active'
|
|
135
|
+
ORDER BY COALESCE(json_extract(content, '$.feedbackScore'), 0.5) DESC,
|
|
136
|
+
COALESCE(json_extract(content, '$.accessCount'), 0) DESC
|
|
137
|
+
LIMIT ?`,
|
|
138
|
+
args: [system, limit]
|
|
139
|
+
});
|
|
140
|
+
return result.rows.map(row => {
|
|
141
|
+
const content = typeof row.content === 'string'
|
|
142
|
+
? JSON.parse(row.content)
|
|
143
|
+
: row.content;
|
|
144
|
+
return {
|
|
145
|
+
id: row.id,
|
|
146
|
+
feedbackScore: content.feedbackScore ?? DEFAULT_SCORE,
|
|
147
|
+
accessCount: content.accessCount ?? 0,
|
|
148
|
+
lastAccessedAt: content.lastAccessedAt ?? ''
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(`[FeedbackCollector] Failed to get top scored:`, error);
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get memories with low scores that might need review or archival
|
|
159
|
+
*/
|
|
160
|
+
async getLowScoredMemories(system, threshold = 0.3, limit = 20) {
|
|
161
|
+
try {
|
|
162
|
+
const db = turso.getClient();
|
|
163
|
+
const result = await db.execute({
|
|
164
|
+
sql: `SELECT id, content FROM items
|
|
165
|
+
WHERE system = ? AND type = 'memory' AND status = 'active'
|
|
166
|
+
AND COALESCE(json_extract(content, '$.feedbackScore'), 0.5) < ?
|
|
167
|
+
ORDER BY json_extract(content, '$.feedbackScore') ASC
|
|
168
|
+
LIMIT ?`,
|
|
169
|
+
args: [system, threshold, limit]
|
|
170
|
+
});
|
|
171
|
+
return result.rows.map(row => {
|
|
172
|
+
const content = typeof row.content === 'string'
|
|
173
|
+
? JSON.parse(row.content)
|
|
174
|
+
: row.content;
|
|
175
|
+
return {
|
|
176
|
+
id: row.id,
|
|
177
|
+
feedbackScore: content.feedbackScore ?? DEFAULT_SCORE,
|
|
178
|
+
accessCount: content.accessCount ?? 0,
|
|
179
|
+
lastAccessedAt: content.lastAccessedAt ?? ''
|
|
180
|
+
};
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.error(`[FeedbackCollector] Failed to get low scored:`, error);
|
|
185
|
+
return [];
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Archive memories with very low scores (cleanup)
|
|
190
|
+
*/
|
|
191
|
+
async archiveLowScoredMemories(system, threshold = 0.1, minAge = 30 // days
|
|
192
|
+
) {
|
|
193
|
+
try {
|
|
194
|
+
const db = turso.getClient();
|
|
195
|
+
const result = await db.execute({
|
|
196
|
+
sql: `UPDATE items SET status = 'archived', updated_at = datetime('now')
|
|
197
|
+
WHERE system = ? AND type = 'memory' AND status = 'active'
|
|
198
|
+
AND COALESCE(json_extract(content, '$.feedbackScore'), 0.5) < ?
|
|
199
|
+
AND created_at < datetime('now', '-' || ? || ' days')`,
|
|
200
|
+
args: [system, threshold, minAge]
|
|
201
|
+
});
|
|
202
|
+
const archived = result.rowsAffected ?? 0;
|
|
203
|
+
if (archived > 0) {
|
|
204
|
+
console.log(`[FeedbackCollector] Archived ${archived} low-scored memories`);
|
|
205
|
+
}
|
|
206
|
+
return archived;
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error(`[FeedbackCollector] Failed to archive:`, error);
|
|
210
|
+
return 0;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// =============================================================================
|
|
215
|
+
// Singleton Instance (Factory Pattern)
|
|
216
|
+
// =============================================================================
|
|
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();
|
|
235
|
+
export default feedbackCollector;
|
|
236
|
+
//# sourceMappingURL=FeedbackCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|