couchloop-eq-mcp 2.0.4 → 2.0.6

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.
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Correction Flow — Stateful error correction for AI mistakes.
3
+ *
4
+ * State machine:
5
+ * PENDING_ACKNOWLEDGMENT → user confirms issue → PENDING_FIX_APPROVAL → user approves fix → APPLIED
6
+ * → user says "no" → DISMISSED (ask user to explain)
7
+ *
8
+ * Memory auto-save happens at PENDING_FIX_APPROVAL (after user confirms the issue is correct),
9
+ * not at detection time — because until the user confirms, we don't know if we caught the right problem.
10
+ *
11
+ * SECURITY: Corrections are scoped by session_id. All lookups and mutations
12
+ * require a session_id to prevent cross-user state leakage in shared processes.
13
+ */
14
+ import { handleSmartContext } from './smart-context.js';
15
+ import { sanitizeText } from '../utils/inputSanitize.js';
16
+ import { logger } from '../utils/logger.js';
17
+ /**
18
+ * Redact common secret patterns from content before persisting.
19
+ * Catches API keys, tokens, passwords, and connection strings.
20
+ */
21
+ function redactSecrets(content) {
22
+ return content
23
+ .replace(/(?:key|token|secret|password|apikey|api_key|auth)[\s]*[=:]\s*['"]?[^\s'"]{8,}/gi, '[REDACTED_SECRET]')
24
+ .replace(/(?:sk|pk)[-_](?:live|test)[-_][a-zA-Z0-9]{20,}/g, '[REDACTED_KEY]')
25
+ .replace(/eyJ[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}/g, '[REDACTED_JWT]')
26
+ .replace(/(?:postgres|mysql|mongodb|redis):\/\/[^\s]{10,}/gi, '[REDACTED_CONNECTION_STRING]');
27
+ }
28
+ // ── Types ──────────────────────────────────────────────────────────────────────
29
+ export var CorrectionState;
30
+ (function (CorrectionState) {
31
+ CorrectionState["PENDING_ACKNOWLEDGMENT"] = "pending_acknowledgment";
32
+ CorrectionState["PENDING_FIX_APPROVAL"] = "pending_fix_approval";
33
+ CorrectionState["APPLIED"] = "applied";
34
+ CorrectionState["DISMISSED"] = "dismissed";
35
+ })(CorrectionState || (CorrectionState = {}));
36
+ // ── In-memory store keyed by correction ID, scoped by session_id ───────────────
37
+ const pendingCorrections = new Map();
38
+ let correctionCounter = 0;
39
+ function generateCorrectionId() {
40
+ correctionCounter++;
41
+ return `correction_${Date.now()}_${correctionCounter}`;
42
+ }
43
+ // ── Public API ─────────────────────────────────────────────────────────────────
44
+ /**
45
+ * Create a new correction from verify results.
46
+ * Returns the correction in PENDING_ACKNOWLEDGMENT state.
47
+ */
48
+ export function createCorrection(issues, fixes, content, sessionId, fixedCode, auth) {
49
+ const id = generateCorrectionId();
50
+ const now = Date.now();
51
+ const entry = {
52
+ id,
53
+ session_id: sessionId,
54
+ state: CorrectionState.PENDING_ACKNOWLEDGMENT,
55
+ created_at: new Date(now).toISOString(),
56
+ created_at_ms: now,
57
+ issues_detected: issues,
58
+ proposed_fixes: fixes,
59
+ verified_content: redactSecrets(sanitizeText(content.substring(0, 500))),
60
+ fixed_code: fixedCode,
61
+ user_confirmed_issue: false,
62
+ user_approved_fix: false,
63
+ saved_to_memory: false,
64
+ auth,
65
+ };
66
+ pendingCorrections.set(id, entry);
67
+ logger.info(`[Correction] Created ${id} for session ${sessionId} in PENDING_ACKNOWLEDGMENT state`);
68
+ return entry;
69
+ }
70
+ /**
71
+ * User confirms the detected issue is correct.
72
+ * Transitions to PENDING_FIX_APPROVAL and auto-saves to memory.
73
+ * Requires session_id to prevent cross-user confirmation.
74
+ */
75
+ export async function confirmIssue(correctionId, sessionId) {
76
+ const entry = pendingCorrections.get(correctionId);
77
+ if (!entry) {
78
+ throw new Error(`Correction ${correctionId} not found. It may have expired.`);
79
+ }
80
+ if (entry.session_id !== sessionId) {
81
+ throw new Error(`Correction ${correctionId} does not belong to this session.`);
82
+ }
83
+ if (entry.state !== CorrectionState.PENDING_ACKNOWLEDGMENT) {
84
+ throw new Error(`Correction ${correctionId} is in state ${entry.state}, expected ${CorrectionState.PENDING_ACKNOWLEDGMENT}.`);
85
+ }
86
+ entry.state = CorrectionState.PENDING_FIX_APPROVAL;
87
+ entry.user_confirmed_issue = true;
88
+ // Now that the user confirmed the issue is real, save to memory with auth context
89
+ try {
90
+ await handleSmartContext({
91
+ content: `AI mistake confirmed by user: ${entry.issues_detected.join('; ')}. Original content: ${entry.verified_content}`,
92
+ type: 'constraint',
93
+ tags: ['ai-mistake', 'do-not-repeat'],
94
+ session_id: entry.session_id,
95
+ auth: entry.auth,
96
+ });
97
+ entry.saved_to_memory = true;
98
+ logger.info(`[Correction] ${correctionId} → PENDING_FIX_APPROVAL, saved to memory`);
99
+ }
100
+ catch (err) {
101
+ logger.warn(`[Correction] Failed to save mistake to memory:`, err);
102
+ entry.memory_save_error = err instanceof Error ? err.message : 'Unknown error';
103
+ }
104
+ return entry;
105
+ }
106
+ /**
107
+ * User approves the proposed fix.
108
+ * Transitions to APPLIED and cleans up.
109
+ * Requires session_id to prevent cross-user approval.
110
+ */
111
+ export function approveFix(correctionId, sessionId) {
112
+ const entry = pendingCorrections.get(correctionId);
113
+ if (!entry) {
114
+ throw new Error(`Correction ${correctionId} not found. It may have expired.`);
115
+ }
116
+ if (entry.session_id !== sessionId) {
117
+ throw new Error(`Correction ${correctionId} does not belong to this session.`);
118
+ }
119
+ if (entry.state !== CorrectionState.PENDING_FIX_APPROVAL) {
120
+ throw new Error(`Correction ${correctionId} is in state ${entry.state}, expected ${CorrectionState.PENDING_FIX_APPROVAL}. Did you call confirm first?`);
121
+ }
122
+ entry.state = CorrectionState.APPLIED;
123
+ entry.user_approved_fix = true;
124
+ logger.info(`[Correction] ${correctionId} → APPLIED`);
125
+ // Clean up after a short delay (let the response be read first)
126
+ setTimeout(() => pendingCorrections.delete(correctionId), 60000);
127
+ return entry;
128
+ }
129
+ /**
130
+ * User says "no, that's not the issue".
131
+ * Can only dismiss from PENDING_ACKNOWLEDGMENT or PENDING_FIX_APPROVAL — not terminal states.
132
+ * Requires session_id to prevent cross-user dismissal.
133
+ */
134
+ export function dismissCorrection(correctionId, sessionId) {
135
+ const entry = pendingCorrections.get(correctionId);
136
+ if (!entry) {
137
+ throw new Error(`Correction ${correctionId} not found. It may have expired.`);
138
+ }
139
+ if (entry.session_id !== sessionId) {
140
+ throw new Error(`Correction ${correctionId} does not belong to this session.`);
141
+ }
142
+ if (entry.state === CorrectionState.APPLIED || entry.state === CorrectionState.DISMISSED) {
143
+ throw new Error(`Correction ${correctionId} is already in terminal state ${entry.state} and cannot be dismissed.`);
144
+ }
145
+ entry.state = CorrectionState.DISMISSED;
146
+ logger.info(`[Correction] ${correctionId} → DISMISSED`);
147
+ // Clean up after a delay
148
+ setTimeout(() => pendingCorrections.delete(correctionId), 60000);
149
+ return entry;
150
+ }
151
+ /**
152
+ * Get a pending correction by ID.
153
+ */
154
+ export function getCorrection(correctionId) {
155
+ return pendingCorrections.get(correctionId);
156
+ }
157
+ /**
158
+ * Get the most recent pending correction for a specific session.
159
+ * Only returns corrections belonging to the given session_id.
160
+ * Optionally filter by expected state to avoid returning entries
161
+ * that the caller's operation would immediately reject.
162
+ */
163
+ export function getMostRecentPendingCorrection(sessionId, expectedState) {
164
+ let latest;
165
+ for (const entry of pendingCorrections.values()) {
166
+ if (entry.session_id !== sessionId)
167
+ continue;
168
+ if (expectedState) {
169
+ if (entry.state !== expectedState)
170
+ continue;
171
+ }
172
+ else {
173
+ // Default: return any non-terminal correction
174
+ if (entry.state !== CorrectionState.PENDING_ACKNOWLEDGMENT &&
175
+ entry.state !== CorrectionState.PENDING_FIX_APPROVAL)
176
+ continue;
177
+ }
178
+ if (!latest || entry.created_at_ms > latest.created_at_ms) {
179
+ latest = entry;
180
+ }
181
+ }
182
+ return latest;
183
+ }
184
+ /**
185
+ * Clear all corrections. Used in tests to isolate state between test cases.
186
+ */
187
+ export function clearAllCorrections() {
188
+ pendingCorrections.clear();
189
+ }
190
+ // ── Cleanup expired corrections (older than 30 minutes) ────────────────────────
191
+ const cleanupInterval = setInterval(() => {
192
+ const cutoff = Date.now() - 30 * 60 * 1000;
193
+ let cleaned = 0;
194
+ for (const [id, entry] of pendingCorrections.entries()) {
195
+ if (entry.created_at_ms < cutoff) {
196
+ pendingCorrections.delete(id);
197
+ cleaned++;
198
+ }
199
+ }
200
+ if (cleaned > 0) {
201
+ logger.info(`[Correction] Cleaned up ${cleaned} expired corrections`);
202
+ }
203
+ }, 5 * 60 * 1000);
204
+ cleanupInterval.unref();
205
+ //# sourceMappingURL=correction-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correction-flow.js","sourceRoot":"","sources":["../../src/tools/correction-flow.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,23 @@ export declare function getUserContext(args: GetUserContextInput): Promise<{
43
43
  recent_sessions: RecentSession[];
44
44
  active_session: any;
45
45
  }>;
46
+ /**
47
+ * recallInsights — relevance-ranked recall for the memory tool.
48
+ *
49
+ * Priority order:
50
+ * 1. High-signal tags: constraint, decision, ai-mistake (always surfaced first)
51
+ * 2. Query match: ilike on content when a search term is provided
52
+ * 3. Recent: everything else, newest first
53
+ *
54
+ * Returns at most `limit` items total, deduplicated by id.
55
+ */
56
+ export declare function recallInsights(args: {
57
+ query?: string;
58
+ session_id?: string;
59
+ limit?: number;
60
+ auth?: Record<string, unknown>;
61
+ }): Promise<{
62
+ insights: Pick<Insight, 'content' | 'tags' | 'created_at'>[];
63
+ count: number;
64
+ }>;
46
65
  //# sourceMappingURL=insight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAA2C,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/H,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB;;;;;;GA+DvD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;;;;;;GA0D9G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;GAwF7D"}
1
+ {"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAA2C,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/H,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB;;;;;;GA+DvD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;;;;;;GA0D9G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;GAwF7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6E3F"}
@@ -175,4 +175,84 @@ export async function getUserContext(args) {
175
175
  return handleError(error);
176
176
  }
177
177
  }
178
+ /**
179
+ * recallInsights — relevance-ranked recall for the memory tool.
180
+ *
181
+ * Priority order:
182
+ * 1. High-signal tags: constraint, decision, ai-mistake (always surfaced first)
183
+ * 2. Query match: ilike on content when a search term is provided
184
+ * 3. Recent: everything else, newest first
185
+ *
186
+ * Returns at most `limit` items total, deduplicated by id.
187
+ */
188
+ export async function recallInsights(args) {
189
+ const { query, session_id, limit = 5, auth } = args;
190
+ try {
191
+ const supabase = getSupabaseClient();
192
+ const externalUserId = await extractUserFromContext(auth);
193
+ const user = throwOnError(await supabase
194
+ .from('users')
195
+ .select('id')
196
+ .eq('external_id', externalUserId)
197
+ .maybeSingle());
198
+ if (!user) {
199
+ return { insights: [], count: 0 };
200
+ }
201
+ // Tier 1: high-signal constraints and decisions
202
+ let priorityQuery = supabase
203
+ .from('insights')
204
+ .select('content, tags, created_at')
205
+ .eq('user_id', user.id)
206
+ .overlaps('tags', ['constraint', 'decision', 'ai-mistake'])
207
+ .order('created_at', { ascending: false })
208
+ .limit(limit);
209
+ if (session_id) {
210
+ priorityQuery = priorityQuery.eq('session_id', session_id);
211
+ }
212
+ const priorityItems = (throwOnError(await priorityQuery) ?? []);
213
+ // Tier 2: query match (ilike on content) when a search term is provided
214
+ let queryItems = [];
215
+ if (query) {
216
+ let contentQuery = supabase
217
+ .from('insights')
218
+ .select('content, tags, created_at')
219
+ .eq('user_id', user.id)
220
+ .ilike('content', `%${query}%`)
221
+ .order('created_at', { ascending: false })
222
+ .limit(limit);
223
+ if (session_id) {
224
+ contentQuery = contentQuery.eq('session_id', session_id);
225
+ }
226
+ queryItems = (throwOnError(await contentQuery) ?? []);
227
+ }
228
+ // Tier 3: recent items
229
+ let recentQuery = supabase
230
+ .from('insights')
231
+ .select('content, tags, created_at')
232
+ .eq('user_id', user.id)
233
+ .order('created_at', { ascending: false })
234
+ .limit(limit);
235
+ if (session_id) {
236
+ recentQuery = recentQuery.eq('session_id', session_id);
237
+ }
238
+ const recentItems = (throwOnError(await recentQuery) ?? []);
239
+ // Merge: priority first, then query matches, then recent — deduplicate by content+date
240
+ const seen = new Set();
241
+ const merged = [];
242
+ for (const item of [...priorityItems, ...queryItems, ...recentItems]) {
243
+ const key = `${item.content}|${item.created_at}`;
244
+ if (!seen.has(key)) {
245
+ seen.add(key);
246
+ merged.push(item);
247
+ }
248
+ if (merged.length >= limit)
249
+ break;
250
+ }
251
+ return { insights: merged, count: merged.length };
252
+ }
253
+ catch (error) {
254
+ logger.error('Error recalling insights:', error);
255
+ return { insights: [], count: 0 };
256
+ }
257
+ }
178
258
  //# sourceMappingURL=insight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insight.js","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insight.js","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,10 @@ export declare function setupTools(): Promise<({
158
158
  type: string;
159
159
  description: string;
160
160
  };
161
+ correction_id: {
162
+ type: string;
163
+ description: string;
164
+ };
161
165
  packages: {
162
166
  type: string;
163
167
  items: {
@@ -178,6 +182,14 @@ export declare function setupTools(): Promise<({
178
182
  type: string;
179
183
  description: string;
180
184
  };
185
+ session_id: {
186
+ type: string;
187
+ description: string;
188
+ };
189
+ auth: {
190
+ type: string;
191
+ description: string;
192
+ };
181
193
  };
182
194
  required: string[];
183
195
  };
@@ -1 +1 @@
1
- {"version":3,"file":"primary-tools.d.ts","sourceRoot":"","sources":["../../src/tools/primary-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAyT3E,wBAAsB,UAAU;oBAZV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqDrF;AAGD,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"primary-tools.d.ts","sourceRoot":"","sources":["../../src/tools/primary-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAcxD,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAyf3E,wBAAsB,UAAU;oBAZV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqDrF;AAGD,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,kBAAkB,GACnB,CAAC"}