couchloop-eq-mcp 1.1.6 → 1.2.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 (42) hide show
  1. package/README.md +40 -38
  2. package/dist/clients/shrinkChatClient.d.ts +8 -8
  3. package/dist/index.js +1 -1
  4. package/dist/server/http-mcp.d.ts.map +1 -1
  5. package/dist/server/http-mcp.js +17 -3
  6. package/dist/server/http-mcp.js.map +1 -1
  7. package/dist/server/sse.js +1 -1
  8. package/dist/tools/check-versions.d.ts +3 -3
  9. package/dist/tools/index.d.ts +1 -1
  10. package/dist/tools/index.js +1 -1
  11. package/dist/tools/insight.d.ts +7 -7
  12. package/dist/tools/intent-router.d.ts +142 -0
  13. package/dist/tools/intent-router.d.ts.map +1 -0
  14. package/dist/tools/intent-router.js +453 -0
  15. package/dist/tools/intent-router.js.map +1 -0
  16. package/dist/tools/primary-tools.d.ts +200 -15
  17. package/dist/tools/primary-tools.d.ts.map +1 -1
  18. package/dist/tools/primary-tools.js +76 -15
  19. package/dist/tools/primary-tools.js.map +1 -1
  20. package/dist/tools/protect-files.d.ts +1 -1
  21. package/dist/tools/sendMessage.d.ts.map +1 -1
  22. package/dist/tools/sendMessage.js +9 -147
  23. package/dist/tools/sendMessage.js.map +1 -1
  24. package/dist/tools/session.d.ts +1 -1
  25. package/dist/tools/smart-context.d.ts +1 -1
  26. package/dist/tools/status.d.ts +118 -0
  27. package/dist/tools/status.d.ts.map +1 -0
  28. package/dist/tools/status.js +366 -0
  29. package/dist/tools/status.js.map +1 -0
  30. package/dist/tools/verify.d.ts +126 -0
  31. package/dist/tools/verify.d.ts.map +1 -0
  32. package/dist/tools/verify.js +308 -0
  33. package/dist/tools/verify.js.map +1 -0
  34. package/dist/types/insight.d.ts +2 -2
  35. package/dist/types/journey.d.ts +12 -12
  36. package/dist/types/session.d.ts +2 -2
  37. package/dist/workflows/engine.d.ts +2 -1
  38. package/dist/workflows/engine.d.ts.map +1 -1
  39. package/dist/workflows/engine.js +7 -1
  40. package/dist/workflows/engine.js.map +1 -1
  41. package/dist/workflows/index.d.ts +2 -2
  42. package/package.json +1 -1
@@ -0,0 +1,366 @@
1
+ /**
2
+ * MCP Tool: status
3
+ *
4
+ * Dashboard and quick status checks for session, history, context, protection, and preferences.
5
+ * Provides personalized status with actionable next steps.
6
+ */
7
+ import { z } from 'zod';
8
+ import { getDb } from '../db/client.js';
9
+ import { sessions, checkpoints, insights } from '../db/schema.js';
10
+ import { eq, desc } from 'drizzle-orm';
11
+ import { WorkflowEngine } from '../workflows/engine.js';
12
+ import { ContextManager } from '../developer/managers/context-manager.js';
13
+ import { getProtectionStatus, listBackups } from './protect-files.js';
14
+ import { getUserContext } from './insight.js';
15
+ import { logger } from '../utils/logger.js';
16
+ const StatusInputSchema = z.object({
17
+ check: z.enum(['session', 'history', 'context', 'protection', 'preferences', 'all']).describe('What to check'),
18
+ session_id: z.string().optional().describe('Session ID for session-specific status'),
19
+ });
20
+ export const statusTool = {
21
+ definition: {
22
+ name: 'status',
23
+ description: `Dashboard and quick status checks. Use for: "how am I doing", "what's my progress", "show my history", "what do you know about me", "my settings", "context window", "backup status". Returns personalized status with actionable next steps.`,
24
+ annotations: {
25
+ readOnlyHint: true,
26
+ destructiveHint: false,
27
+ openWorldHint: false,
28
+ },
29
+ inputSchema: {
30
+ type: 'object',
31
+ properties: {
32
+ check: {
33
+ type: 'string',
34
+ enum: ['session', 'history', 'context', 'protection', 'preferences', 'all'],
35
+ description: "'session': current progress, time elapsed, checkpoints. 'history': recent sessions, insights, patterns. 'context': stored decisions, constraints, window usage. 'protection': backup status, freeze mode. 'preferences': timezone, journey length. 'all': full dashboard.",
36
+ },
37
+ session_id: {
38
+ type: 'string',
39
+ description: 'Session ID for session-specific status',
40
+ },
41
+ },
42
+ required: ['check'],
43
+ },
44
+ },
45
+ handler: handleStatus,
46
+ };
47
+ export async function handleStatus(args) {
48
+ try {
49
+ const input = StatusInputSchema.parse(args);
50
+ logger.info('Running status check', { check: input.check });
51
+ const result = {
52
+ check: input.check,
53
+ timestamp: new Date().toISOString(),
54
+ };
55
+ // Run appropriate checks based on type
56
+ if (input.check === 'session' || input.check === 'all') {
57
+ result.session = await getSessionStatus(input.session_id);
58
+ }
59
+ if (input.check === 'history' || input.check === 'all') {
60
+ result.history = await getHistoryStatus();
61
+ }
62
+ if (input.check === 'context' || input.check === 'all') {
63
+ result.context = await getContextStatus();
64
+ }
65
+ if (input.check === 'protection' || input.check === 'all') {
66
+ result.protection = await getProtectionStatusSummary();
67
+ }
68
+ if (input.check === 'preferences' || input.check === 'all') {
69
+ result.preferences = await getPreferencesStatus();
70
+ }
71
+ // Generate personalized summary and next steps
72
+ result.summary = generateSummary(result);
73
+ result.next_steps = generateNextSteps(result);
74
+ return {
75
+ success: true,
76
+ ...result,
77
+ };
78
+ }
79
+ catch (error) {
80
+ logger.error('Error in status:', error);
81
+ return {
82
+ success: false,
83
+ error: error instanceof Error ? error.message : 'Unknown error',
84
+ };
85
+ }
86
+ }
87
+ async function getSessionStatus(sessionId) {
88
+ try {
89
+ const db = getDb();
90
+ // Find active or specified session
91
+ let session;
92
+ if (sessionId) {
93
+ [session] = await db
94
+ .select()
95
+ .from(sessions)
96
+ .where(eq(sessions.id, sessionId))
97
+ .limit(1);
98
+ }
99
+ else {
100
+ // Get most recent active session
101
+ [session] = await db
102
+ .select()
103
+ .from(sessions)
104
+ .where(eq(sessions.status, 'active'))
105
+ .orderBy(desc(sessions.lastActiveAt))
106
+ .limit(1);
107
+ }
108
+ if (!session) {
109
+ return {
110
+ has_active_session: false,
111
+ checkpoints_saved: 0,
112
+ };
113
+ }
114
+ // Get progress
115
+ const engine = new WorkflowEngine();
116
+ const progress = await engine.getSessionProgress(session.id);
117
+ // Get checkpoint count
118
+ const sessionCheckpoints = await db
119
+ .select()
120
+ .from(checkpoints)
121
+ .where(eq(checkpoints.sessionId, session.id));
122
+ // Calculate time elapsed
123
+ const startTime = new Date(session.startedAt);
124
+ const now = new Date();
125
+ const timeElapsedMinutes = Math.round((now.getTime() - startTime.getTime()) / 60000);
126
+ return {
127
+ has_active_session: true,
128
+ session_id: session.id,
129
+ journey_name: session.journeyId || undefined,
130
+ current_step: progress.currentStep,
131
+ total_steps: progress.totalSteps,
132
+ percent_complete: progress.percentComplete,
133
+ checkpoints_saved: sessionCheckpoints.length,
134
+ time_elapsed_minutes: timeElapsedMinutes,
135
+ started_at: session.startedAt.toISOString(),
136
+ last_activity: session.lastActiveAt?.toISOString(),
137
+ status: session.status,
138
+ };
139
+ }
140
+ catch (error) {
141
+ logger.error('Error getting session status:', error);
142
+ return {
143
+ has_active_session: false,
144
+ checkpoints_saved: 0,
145
+ };
146
+ }
147
+ }
148
+ async function getHistoryStatus() {
149
+ try {
150
+ const db = getDb();
151
+ // Get recent sessions
152
+ const recentSessions = await db
153
+ .select()
154
+ .from(sessions)
155
+ .orderBy(desc(sessions.startedAt))
156
+ .limit(5);
157
+ // Get total session count
158
+ const allSessions = await db.select().from(sessions);
159
+ // Get recent insights
160
+ const recentInsights = await db
161
+ .select()
162
+ .from(insights)
163
+ .orderBy(desc(insights.createdAt))
164
+ .limit(5);
165
+ // Get all insights for pattern detection
166
+ const allInsights = await db.select().from(insights);
167
+ // Detect patterns from insight tags
168
+ const tagCounts = {};
169
+ for (const insight of allInsights) {
170
+ const tags = insight.tags;
171
+ if (tags) {
172
+ for (const tag of tags) {
173
+ tagCounts[tag] = (tagCounts[tag] || 0) + 1;
174
+ }
175
+ }
176
+ }
177
+ // Find recurring patterns (tags that appear 3+ times)
178
+ const patterns = Object.entries(tagCounts)
179
+ .filter(([, count]) => count >= 3)
180
+ .sort((a, b) => b[1] - a[1])
181
+ .slice(0, 5)
182
+ .map(([tag, count]) => `${tag} (${count} occurrences)`);
183
+ return {
184
+ recent_sessions: recentSessions.map(s => ({
185
+ id: s.id,
186
+ journey: s.journeyId || undefined,
187
+ status: s.status,
188
+ started_at: s.startedAt.toISOString(),
189
+ })),
190
+ total_sessions: allSessions.length,
191
+ total_insights: allInsights.length,
192
+ recent_insights: recentInsights.map(i => ({
193
+ content: i.content.substring(0, 100) + (i.content.length > 100 ? '...' : ''),
194
+ tags: i.tags,
195
+ created_at: i.createdAt.toISOString(),
196
+ })),
197
+ patterns_detected: patterns,
198
+ };
199
+ }
200
+ catch (error) {
201
+ logger.error('Error getting history status:', error);
202
+ return {
203
+ recent_sessions: [],
204
+ total_sessions: 0,
205
+ total_insights: 0,
206
+ recent_insights: [],
207
+ patterns_detected: [],
208
+ };
209
+ }
210
+ }
211
+ async function getContextStatus() {
212
+ try {
213
+ const contextManager = new ContextManager();
214
+ await contextManager.initialize();
215
+ const checkResult = await contextManager.check(true);
216
+ const metadata = (checkResult.data || {});
217
+ const entries = await contextManager.retrieve();
218
+ const allEntries = (Array.isArray(entries.data) ? entries.data : []);
219
+ // Categorize entries
220
+ const entriesByCategory = {};
221
+ const recentDecisions = [];
222
+ const recentConstraints = [];
223
+ const storedPatterns = [];
224
+ for (const entry of allEntries) {
225
+ entriesByCategory[entry.category] = (entriesByCategory[entry.category] || 0) + 1;
226
+ if (entry.category === 'decision') {
227
+ recentDecisions.push(entry.content.substring(0, 80));
228
+ }
229
+ else if (entry.category === 'constraint') {
230
+ recentConstraints.push(entry.content.substring(0, 80));
231
+ }
232
+ else if (entry.category === 'pattern') {
233
+ storedPatterns.push(entry.content.substring(0, 80));
234
+ }
235
+ }
236
+ return {
237
+ context_window_usage_percent: metadata.context_window_usage_percent || 0,
238
+ entries_by_category: entriesByCategory,
239
+ total_entries: allEntries.length,
240
+ recent_decisions: recentDecisions.slice(0, 3),
241
+ recent_constraints: recentConstraints.slice(0, 3),
242
+ stored_patterns: storedPatterns.slice(0, 3),
243
+ warning: metadata.context_window_usage_percent > 80
244
+ ? 'Context window is getting full. Consider archiving old entries.'
245
+ : undefined,
246
+ };
247
+ }
248
+ catch (error) {
249
+ logger.error('Error getting context status:', error);
250
+ return {
251
+ context_window_usage_percent: 0,
252
+ entries_by_category: {},
253
+ total_entries: 0,
254
+ recent_decisions: [],
255
+ recent_constraints: [],
256
+ stored_patterns: [],
257
+ };
258
+ }
259
+ }
260
+ async function getProtectionStatusSummary() {
261
+ try {
262
+ const status = await getProtectionStatus({});
263
+ const backups = await listBackups({});
264
+ const backupList = Array.isArray(backups) ? backups : backups.backups || [];
265
+ return {
266
+ code_freeze_enabled: status.codeFreezeEnabled || false,
267
+ total_backups: backupList.length,
268
+ recent_backups: backupList
269
+ .slice(0, 3)
270
+ .map(b => ({
271
+ file: b.path || b.filePath || 'unknown',
272
+ created_at: b.createdAt || 'unknown',
273
+ })),
274
+ protected_files: status.protectedFiles || 0,
275
+ };
276
+ }
277
+ catch (error) {
278
+ logger.error('Error getting protection status:', error);
279
+ return {
280
+ code_freeze_enabled: false,
281
+ total_backups: 0,
282
+ recent_backups: [],
283
+ protected_files: 0,
284
+ };
285
+ }
286
+ }
287
+ async function getPreferencesStatus() {
288
+ try {
289
+ // Get user preferences (using anonymous user for now)
290
+ const userContext = await getUserContext({
291
+ include_recent_insights: false,
292
+ include_session_history: false,
293
+ });
294
+ const prefs = userContext.preferences || {};
295
+ return {
296
+ has_preferences: Object.keys(prefs).length > 0,
297
+ timezone: prefs.timezone,
298
+ preferred_journey_length: prefs.preferredJourneyLength,
299
+ notification_preferences: prefs.notifications,
300
+ };
301
+ }
302
+ catch (error) {
303
+ logger.error('Error getting preferences status:', error);
304
+ return {
305
+ has_preferences: false,
306
+ };
307
+ }
308
+ }
309
+ // ============================================================
310
+ // SUMMARY AND NEXT STEPS
311
+ // ============================================================
312
+ function generateSummary(result) {
313
+ const parts = [];
314
+ if (result.session?.has_active_session) {
315
+ const s = result.session;
316
+ parts.push(`Active session: Step ${s.current_step}/${s.total_steps} (${s.percent_complete}% complete), ${s.checkpoints_saved} checkpoints saved, ${s.time_elapsed_minutes} min elapsed.`);
317
+ }
318
+ else if (result.session) {
319
+ parts.push('No active session.');
320
+ }
321
+ if (result.history) {
322
+ const h = result.history;
323
+ parts.push(`History: ${h.total_sessions} sessions, ${h.total_insights} insights.`);
324
+ if (h.patterns_detected.length > 0) {
325
+ parts.push(`Patterns: ${h.patterns_detected.slice(0, 2).join(', ')}.`);
326
+ }
327
+ }
328
+ if (result.context) {
329
+ const c = result.context;
330
+ parts.push(`Context: ${c.total_entries} entries stored, ${c.context_window_usage_percent.toFixed(0)}% window used.`);
331
+ if (c.warning) {
332
+ parts.push(`⚠️ ${c.warning}`);
333
+ }
334
+ }
335
+ if (result.protection) {
336
+ const p = result.protection;
337
+ parts.push(`Protection: ${p.total_backups} backups, freeze ${p.code_freeze_enabled ? 'enabled' : 'disabled'}.`);
338
+ }
339
+ return parts.join(' ');
340
+ }
341
+ function generateNextSteps(result) {
342
+ const steps = [];
343
+ if (!result.session?.has_active_session && result.history?.total_sessions === 0) {
344
+ steps.push('Start your first session with "start a reflection" or "let\'s begin"');
345
+ }
346
+ else if (!result.session?.has_active_session && result.history) {
347
+ steps.push('Resume a session with "continue" or start fresh with "new session"');
348
+ }
349
+ if (result.session?.has_active_session && result.session.percent_complete && result.session.percent_complete > 75) {
350
+ steps.push('You\'re almost done! Say "wrap up" to complete your session.');
351
+ }
352
+ if (result.context?.context_window_usage_percent && result.context.context_window_usage_percent > 80) {
353
+ steps.push('Consider cleaning up old context with "clean up context"');
354
+ }
355
+ if (result.protection && !result.protection.code_freeze_enabled && result.protection.total_backups === 0) {
356
+ steps.push('Enable protection with "backup my files" before making changes');
357
+ }
358
+ if (!result.preferences?.has_preferences) {
359
+ steps.push('Set your preferences with "remember my timezone" or "I prefer short journeys"');
360
+ }
361
+ if (steps.length === 0) {
362
+ steps.push('Everything looks good! What would you like to do next?');
363
+ }
364
+ return steps.slice(0, 3);
365
+ }
366
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * MCP Tool: verify
3
+ *
4
+ * Pre-delivery verification for AI-generated content.
5
+ * Catches hallucinations, incorrect packages, bad code, and unsafe responses
6
+ * BEFORE they reach the user.
7
+ */
8
+ import { z } from 'zod';
9
+ import { InterventionAction, RiskLevel } from '../governance/evaluationEngine.js';
10
+ declare const VerifyInputSchema: z.ZodObject<{
11
+ type: z.ZodEnum<["code", "packages", "facts", "response", "all"]>;
12
+ content: z.ZodString;
13
+ language: z.ZodOptional<z.ZodString>;
14
+ registry: z.ZodDefault<z.ZodOptional<z.ZodEnum<["npm", "pypi", "maven", "cargo", "go", "nuget", "gem"]>>>;
15
+ context: z.ZodOptional<z.ZodString>;
16
+ session_id: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ type: "all" | "code" | "packages" | "facts" | "response";
19
+ content: string;
20
+ registry: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go";
21
+ context?: string | undefined;
22
+ session_id?: string | undefined;
23
+ language?: string | undefined;
24
+ }, {
25
+ type: "all" | "code" | "packages" | "facts" | "response";
26
+ content: string;
27
+ context?: string | undefined;
28
+ session_id?: string | undefined;
29
+ language?: string | undefined;
30
+ registry?: "npm" | "maven" | "pypi" | "cargo" | "gem" | "nuget" | "go" | undefined;
31
+ }>;
32
+ export type VerifyInput = z.infer<typeof VerifyInputSchema>;
33
+ export declare const verifyTool: {
34
+ definition: {
35
+ name: string;
36
+ description: string;
37
+ annotations: {
38
+ readOnlyHint: boolean;
39
+ destructiveHint: boolean;
40
+ openWorldHint: boolean;
41
+ };
42
+ inputSchema: {
43
+ type: string;
44
+ properties: {
45
+ type: {
46
+ type: string;
47
+ enum: string[];
48
+ description: string;
49
+ };
50
+ content: {
51
+ type: string;
52
+ description: string;
53
+ };
54
+ language: {
55
+ type: string;
56
+ description: string;
57
+ };
58
+ registry: {
59
+ type: string;
60
+ enum: string[];
61
+ description: string;
62
+ };
63
+ context: {
64
+ type: string;
65
+ description: string;
66
+ };
67
+ };
68
+ required: string[];
69
+ };
70
+ };
71
+ handler: typeof handleVerify;
72
+ };
73
+ export declare function handleVerify(args: unknown): Promise<{
74
+ summary: string;
75
+ recommendation: string;
76
+ verified: boolean;
77
+ type: string;
78
+ checks_run: string[];
79
+ issues: string[];
80
+ fixes: string[];
81
+ warnings: string[];
82
+ confidence: number;
83
+ code_verification?: CodeVerificationResult;
84
+ package_verification?: PackageVerificationResult;
85
+ governance_verification?: GovernanceVerificationResult;
86
+ success: boolean;
87
+ error?: undefined;
88
+ } | {
89
+ success: boolean;
90
+ verified: boolean;
91
+ error: string;
92
+ recommendation: string;
93
+ }>;
94
+ interface CodeVerificationResult {
95
+ issues: string[];
96
+ fixes: string[];
97
+ warnings: string[];
98
+ ai_errors_found: number;
99
+ build_context?: {
100
+ language: string;
101
+ module_system?: string;
102
+ requires_js_extensions: boolean;
103
+ };
104
+ fixed_code?: string;
105
+ }
106
+ interface PackageVerificationResult {
107
+ packages_checked: string[];
108
+ valid: string[];
109
+ invalid: string[];
110
+ suggestions: string[];
111
+ typosquatting_detected: string[];
112
+ deprecated: string[];
113
+ }
114
+ interface GovernanceVerificationResult {
115
+ action: InterventionAction;
116
+ risk_level: RiskLevel;
117
+ risk_score: number;
118
+ issues: string[];
119
+ hallucination_detected: boolean;
120
+ inconsistency_detected: boolean;
121
+ tone_drift_detected: boolean;
122
+ unsafe_reasoning_detected: boolean;
123
+ modified_content?: string;
124
+ }
125
+ export {};
126
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAoC,kBAAkB,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAGpH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAOrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCtB,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO;;;cA0UpC,OAAO;UACX,MAAM;gBACA,MAAM,EAAE;YACZ,MAAM,EAAE;WACT,MAAM,EAAE;cACL,MAAM,EAAE;gBACN,MAAM;wBACE,sBAAsB;2BACnB,yBAAyB;8BACtB,4BAA4B;;;;;;;;GAtQvD;AAMD,UAAU,sBAAsB;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsCD,UAAU,yBAAyB;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAqHD,UAAU,4BAA4B;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,EAAE,OAAO,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yBAAyB,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}