couchloop-eq-mcp 1.1.3 → 1.1.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.
- package/README.md +6 -0
- package/dist/clients/shrinkChatClient.d.ts +4 -4
- package/dist/index.js +168 -6
- package/dist/index.js.map +1 -1
- package/dist/server/chatgpt-mcp.d.ts.map +1 -1
- package/dist/server/chatgpt-mcp.js +112 -2
- package/dist/server/chatgpt-mcp.js.map +1 -1
- package/dist/server/http-mcp.d.ts +11 -0
- package/dist/server/http-mcp.d.ts.map +1 -0
- package/dist/server/http-mcp.js +431 -0
- package/dist/server/http-mcp.js.map +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +28 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/sse.d.ts +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +320 -69
- package/dist/server/sse.js.map +1 -1
- package/dist/tools/check-versions.d.ts +7 -7
- package/dist/tools/check-versions.d.ts.map +1 -1
- package/dist/tools/check-versions.js +17 -22
- package/dist/tools/check-versions.js.map +1 -1
- package/dist/tools/checkpoint.d.ts +4 -18
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +85 -11
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/comprehensive-code-review.d.ts +78 -0
- package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
- package/dist/tools/comprehensive-code-review.js +177 -0
- package/dist/tools/comprehensive-code-review.js.map +1 -0
- package/dist/tools/comprehensive-package-audit.d.ts +75 -0
- package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
- package/dist/tools/comprehensive-package-audit.js +151 -0
- package/dist/tools/comprehensive-package-audit.js.map +1 -0
- package/dist/tools/detect-build-context.d.ts +59 -0
- package/dist/tools/detect-build-context.d.ts.map +1 -0
- package/dist/tools/detect-build-context.js +80 -0
- package/dist/tools/detect-build-context.js.map +1 -0
- package/dist/tools/generate-upgrade-report.d.ts +85 -0
- package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
- package/dist/tools/generate-upgrade-report.js +102 -0
- package/dist/tools/generate-upgrade-report.js.map +1 -0
- package/dist/tools/index-full.d.ts +1355 -0
- package/dist/tools/index-full.d.ts.map +1 -0
- package/dist/tools/index-full.js +611 -0
- package/dist/tools/index-full.js.map +1 -0
- package/dist/tools/index.d.ts +27 -968
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -531
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insight.d.ts +25 -6
- package/dist/tools/insight.d.ts.map +1 -1
- package/dist/tools/insight.js +2 -1
- package/dist/tools/insight.js.map +1 -1
- package/dist/tools/prevent-ai-errors.d.ts +85 -0
- package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
- package/dist/tools/prevent-ai-errors.js +97 -0
- package/dist/tools/prevent-ai-errors.js.map +1 -0
- package/dist/tools/primary-tools.d.ts +430 -0
- package/dist/tools/primary-tools.d.ts.map +1 -0
- package/dist/tools/primary-tools.js +294 -0
- package/dist/tools/primary-tools.js.map +1 -0
- package/dist/tools/sendMessage.d.ts +3 -5
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +47 -22
- package/dist/tools/sendMessage.js.map +1 -1
- package/dist/tools/session-manager.d.ts +32 -0
- package/dist/tools/session-manager.d.ts.map +1 -0
- package/dist/tools/session-manager.js +184 -0
- package/dist/tools/session-manager.js.map +1 -0
- package/dist/tools/smart-context.d.ts +66 -0
- package/dist/tools/smart-context.d.ts.map +1 -0
- package/dist/tools/smart-context.js +167 -0
- package/dist/tools/smart-context.js.map +1 -0
- package/dist/tools/validate_packages.d.ts.map +1 -1
- package/dist/tools/validate_packages.js +6 -4
- package/dist/tools/validate_packages.js.map +1 -1
- package/dist/types/checkpoint.d.ts +59 -4
- package/dist/types/checkpoint.d.ts.map +1 -1
- package/dist/types/checkpoint.js +20 -1
- package/dist/types/checkpoint.js.map +1 -1
- package/dist/types/journey.d.ts +6 -6
- package/dist/types/session.d.ts +3 -3
- package/dist/utils/sanitize.d.ts +24 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +117 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/workflows/index.d.ts +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Manager - Handles implicit session creation and lifecycle
|
|
3
|
+
*
|
|
4
|
+
* Sessions are created implicitly on first stateful tool use and remain
|
|
5
|
+
* open until explicitly ended by the user.
|
|
6
|
+
*/
|
|
7
|
+
import { getDb } from '../db/client.js';
|
|
8
|
+
import { sessions, users } from '../db/schema.js';
|
|
9
|
+
import { eq, desc, and } from 'drizzle-orm';
|
|
10
|
+
import { extractUserFromContext } from '../types/auth.js';
|
|
11
|
+
import { logger } from '../utils/logger.js';
|
|
12
|
+
// In-memory cache of current active session per user
|
|
13
|
+
// This provides instant lookups without DB queries for subsequent calls
|
|
14
|
+
const activeSessionCache = new Map();
|
|
15
|
+
/**
|
|
16
|
+
* Get existing active session or create one implicitly
|
|
17
|
+
*
|
|
18
|
+
* @param sessionId - Optional explicit session ID
|
|
19
|
+
* @param authContext - Optional auth context for user identification
|
|
20
|
+
* @param context - Optional context for new session creation
|
|
21
|
+
* @returns Session ID (existing or newly created)
|
|
22
|
+
*/
|
|
23
|
+
export async function getOrCreateSession(sessionId, authContext, context) {
|
|
24
|
+
const db = getDb();
|
|
25
|
+
// If explicit session ID provided, verify it exists and is active
|
|
26
|
+
if (sessionId) {
|
|
27
|
+
const [session] = await db
|
|
28
|
+
.select()
|
|
29
|
+
.from(sessions)
|
|
30
|
+
.where(eq(sessions.id, sessionId))
|
|
31
|
+
.limit(1);
|
|
32
|
+
if (session) {
|
|
33
|
+
// Update last active timestamp
|
|
34
|
+
await db
|
|
35
|
+
.update(sessions)
|
|
36
|
+
.set({ lastActiveAt: new Date() })
|
|
37
|
+
.where(eq(sessions.id, sessionId));
|
|
38
|
+
return { sessionId: session.id, isNew: false };
|
|
39
|
+
}
|
|
40
|
+
// Session ID provided but doesn't exist - fall through to create new
|
|
41
|
+
logger.warn(`Session ${sessionId} not found, creating new session`);
|
|
42
|
+
}
|
|
43
|
+
// Get or create user
|
|
44
|
+
const externalUserId = await extractUserFromContext(authContext);
|
|
45
|
+
// Check cache first
|
|
46
|
+
const cachedSessionId = activeSessionCache.get(externalUserId);
|
|
47
|
+
if (cachedSessionId) {
|
|
48
|
+
// Verify cached session is still valid
|
|
49
|
+
const [cachedSession] = await db
|
|
50
|
+
.select()
|
|
51
|
+
.from(sessions)
|
|
52
|
+
.where(and(eq(sessions.id, cachedSessionId), eq(sessions.status, 'active')))
|
|
53
|
+
.limit(1);
|
|
54
|
+
if (cachedSession) {
|
|
55
|
+
await db
|
|
56
|
+
.update(sessions)
|
|
57
|
+
.set({ lastActiveAt: new Date() })
|
|
58
|
+
.where(eq(sessions.id, cachedSessionId));
|
|
59
|
+
return { sessionId: cachedSession.id, isNew: false };
|
|
60
|
+
}
|
|
61
|
+
// Cached session no longer valid, remove from cache
|
|
62
|
+
activeSessionCache.delete(externalUserId);
|
|
63
|
+
}
|
|
64
|
+
// Look for existing active session in DB
|
|
65
|
+
const userResult = await db
|
|
66
|
+
.select()
|
|
67
|
+
.from(users)
|
|
68
|
+
.where(eq(users.externalId, externalUserId))
|
|
69
|
+
.limit(1);
|
|
70
|
+
let user = userResult[0];
|
|
71
|
+
if (user) {
|
|
72
|
+
// Check for active session
|
|
73
|
+
const [existingSession] = await db
|
|
74
|
+
.select()
|
|
75
|
+
.from(sessions)
|
|
76
|
+
.where(and(eq(sessions.userId, user.id), eq(sessions.status, 'active')))
|
|
77
|
+
.orderBy(desc(sessions.lastActiveAt))
|
|
78
|
+
.limit(1);
|
|
79
|
+
if (existingSession) {
|
|
80
|
+
// Update last active and cache
|
|
81
|
+
await db
|
|
82
|
+
.update(sessions)
|
|
83
|
+
.set({ lastActiveAt: new Date() })
|
|
84
|
+
.where(eq(sessions.id, existingSession.id));
|
|
85
|
+
activeSessionCache.set(externalUserId, existingSession.id);
|
|
86
|
+
return { sessionId: existingSession.id, isNew: false };
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// No active session found - create new one implicitly
|
|
90
|
+
if (!user) {
|
|
91
|
+
const [newUser] = await db
|
|
92
|
+
.insert(users)
|
|
93
|
+
.values({
|
|
94
|
+
externalId: externalUserId,
|
|
95
|
+
preferences: {},
|
|
96
|
+
})
|
|
97
|
+
.returning();
|
|
98
|
+
user = newUser;
|
|
99
|
+
}
|
|
100
|
+
// Create new session
|
|
101
|
+
const [newSession] = await db
|
|
102
|
+
.insert(sessions)
|
|
103
|
+
.values({
|
|
104
|
+
userId: user.id,
|
|
105
|
+
journeyId: null,
|
|
106
|
+
status: 'active',
|
|
107
|
+
currentStep: 0,
|
|
108
|
+
metadata: {
|
|
109
|
+
context: context || 'Implicit session',
|
|
110
|
+
createdImplicitly: true,
|
|
111
|
+
},
|
|
112
|
+
})
|
|
113
|
+
.returning();
|
|
114
|
+
if (!newSession) {
|
|
115
|
+
throw new Error('Failed to create session');
|
|
116
|
+
}
|
|
117
|
+
logger.info(`Implicitly created new session: ${newSession.id}`);
|
|
118
|
+
// Cache the new session
|
|
119
|
+
activeSessionCache.set(externalUserId, newSession.id);
|
|
120
|
+
return { sessionId: newSession.id, isNew: true };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* End the current session explicitly
|
|
124
|
+
*/
|
|
125
|
+
export async function endSession(sessionId, authContext) {
|
|
126
|
+
const db = getDb();
|
|
127
|
+
let sessionToEnd = sessionId;
|
|
128
|
+
if (!sessionToEnd) {
|
|
129
|
+
// Find active session for user
|
|
130
|
+
const externalUserId = await extractUserFromContext(authContext);
|
|
131
|
+
// Check cache
|
|
132
|
+
sessionToEnd = activeSessionCache.get(externalUserId);
|
|
133
|
+
if (!sessionToEnd) {
|
|
134
|
+
// Check DB
|
|
135
|
+
const [user] = await db
|
|
136
|
+
.select()
|
|
137
|
+
.from(users)
|
|
138
|
+
.where(eq(users.externalId, externalUserId))
|
|
139
|
+
.limit(1);
|
|
140
|
+
if (user) {
|
|
141
|
+
const [activeSession] = await db
|
|
142
|
+
.select()
|
|
143
|
+
.from(sessions)
|
|
144
|
+
.where(and(eq(sessions.userId, user.id), eq(sessions.status, 'active')))
|
|
145
|
+
.limit(1);
|
|
146
|
+
sessionToEnd = activeSession?.id;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (!sessionToEnd) {
|
|
151
|
+
return {
|
|
152
|
+
success: false,
|
|
153
|
+
message: 'No active session to end.'
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
// End the session
|
|
157
|
+
await db
|
|
158
|
+
.update(sessions)
|
|
159
|
+
.set({
|
|
160
|
+
status: 'completed',
|
|
161
|
+
completedAt: new Date(),
|
|
162
|
+
lastActiveAt: new Date(),
|
|
163
|
+
})
|
|
164
|
+
.where(eq(sessions.id, sessionToEnd));
|
|
165
|
+
// Clear from cache
|
|
166
|
+
for (const [userId, cachedId] of activeSessionCache.entries()) {
|
|
167
|
+
if (cachedId === sessionToEnd) {
|
|
168
|
+
activeSessionCache.delete(userId);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
logger.info(`Ended session: ${sessionToEnd}`);
|
|
173
|
+
return {
|
|
174
|
+
success: true,
|
|
175
|
+
message: `Session ended successfully.`
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Clear session cache (useful for testing)
|
|
180
|
+
*/
|
|
181
|
+
export function clearSessionCache() {
|
|
182
|
+
activeSessionCache.clear();
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=session-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/tools/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool: smart_context
|
|
3
|
+
*
|
|
4
|
+
* Intelligent context management that bundles:
|
|
5
|
+
* - Save checkpoint (progress capture)
|
|
6
|
+
* - Save insight (meaningful realizations)
|
|
7
|
+
* - Preserve context (project knowledge)
|
|
8
|
+
* - Build context detection (understand project setup)
|
|
9
|
+
*
|
|
10
|
+
* One call to capture everything important from a conversation.
|
|
11
|
+
*/
|
|
12
|
+
export declare const smartContextTool: {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
annotations: {
|
|
16
|
+
readOnlyHint: boolean;
|
|
17
|
+
destructiveHint: boolean;
|
|
18
|
+
openWorldHint: boolean;
|
|
19
|
+
};
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: string;
|
|
22
|
+
properties: {
|
|
23
|
+
content: {
|
|
24
|
+
type: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
key: {
|
|
28
|
+
type: string;
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
type: {
|
|
32
|
+
type: string;
|
|
33
|
+
enum: string[];
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
tags: {
|
|
37
|
+
type: string;
|
|
38
|
+
items: {
|
|
39
|
+
type: string;
|
|
40
|
+
};
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
session_id: {
|
|
44
|
+
type: string;
|
|
45
|
+
description: string;
|
|
46
|
+
};
|
|
47
|
+
detect_project: {
|
|
48
|
+
type: string;
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
required: string[];
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export declare function handleSmartContext(args: unknown): Promise<{
|
|
56
|
+
success: boolean;
|
|
57
|
+
type: "checkpoint" | "pattern" | "insight" | "decision" | "requirement" | "constraint" | "conversation";
|
|
58
|
+
message: string;
|
|
59
|
+
error?: undefined;
|
|
60
|
+
} | {
|
|
61
|
+
success: boolean;
|
|
62
|
+
error: string;
|
|
63
|
+
type?: undefined;
|
|
64
|
+
message?: undefined;
|
|
65
|
+
}>;
|
|
66
|
+
//# sourceMappingURL=smart-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-context.d.ts","sourceRoot":"","sources":["../../src/tools/smart-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkCH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;GAsGrD"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool: smart_context
|
|
3
|
+
*
|
|
4
|
+
* Intelligent context management that bundles:
|
|
5
|
+
* - Save checkpoint (progress capture)
|
|
6
|
+
* - Save insight (meaningful realizations)
|
|
7
|
+
* - Preserve context (project knowledge)
|
|
8
|
+
* - Build context detection (understand project setup)
|
|
9
|
+
*
|
|
10
|
+
* One call to capture everything important from a conversation.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { saveCheckpoint } from './checkpoint.js';
|
|
14
|
+
import { saveInsight } from './insight.js';
|
|
15
|
+
import { storeContext } from './preserve-context.js';
|
|
16
|
+
import { handleDetectBuildContext } from './detect-build-context.js';
|
|
17
|
+
import { logger } from '../utils/logger.js';
|
|
18
|
+
const SmartContextInputSchema = z.object({
|
|
19
|
+
// What to capture
|
|
20
|
+
content: z.string().describe('The content to capture'),
|
|
21
|
+
key: z.string().optional().describe('Key/label for the content'),
|
|
22
|
+
// Context type - determines what gets saved where
|
|
23
|
+
type: z.enum([
|
|
24
|
+
'checkpoint', // Progress in a journey
|
|
25
|
+
'insight', // User realization/learning
|
|
26
|
+
'decision', // Architectural decision
|
|
27
|
+
'requirement', // Project requirement
|
|
28
|
+
'constraint', // Technical constraint
|
|
29
|
+
'pattern', // Code pattern to remember
|
|
30
|
+
'conversation', // General conversation context
|
|
31
|
+
]).describe('Type of context being saved'),
|
|
32
|
+
// Optional enrichment
|
|
33
|
+
tags: z.array(z.string()).optional().describe('Tags for categorization'),
|
|
34
|
+
session_id: z.string().uuid().optional().describe('Session to associate with'),
|
|
35
|
+
detect_project: z.boolean().default(false).describe('Also detect and store build context'),
|
|
36
|
+
// Auth
|
|
37
|
+
auth: z.any().optional(),
|
|
38
|
+
});
|
|
39
|
+
export const smartContextTool = {
|
|
40
|
+
name: 'smart_context',
|
|
41
|
+
description: 'Intelligently capture and preserve context from conversations. Automatically routes to the right storage: checkpoints for progress, insights for realizations, context for technical decisions. One tool to remember everything important.',
|
|
42
|
+
annotations: {
|
|
43
|
+
readOnlyHint: false,
|
|
44
|
+
destructiveHint: false,
|
|
45
|
+
openWorldHint: false,
|
|
46
|
+
},
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
content: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'The content to capture',
|
|
53
|
+
},
|
|
54
|
+
key: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'Key/label for the content',
|
|
57
|
+
},
|
|
58
|
+
type: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
enum: ['checkpoint', 'insight', 'decision', 'requirement', 'constraint', 'pattern', 'conversation'],
|
|
61
|
+
description: 'Type of context being saved',
|
|
62
|
+
},
|
|
63
|
+
tags: {
|
|
64
|
+
type: 'array',
|
|
65
|
+
items: { type: 'string' },
|
|
66
|
+
description: 'Tags for categorization',
|
|
67
|
+
},
|
|
68
|
+
session_id: {
|
|
69
|
+
type: 'string',
|
|
70
|
+
description: 'Session to associate with',
|
|
71
|
+
},
|
|
72
|
+
detect_project: {
|
|
73
|
+
type: 'boolean',
|
|
74
|
+
description: 'Also detect and store build context (default: false)',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
required: ['content', 'type'],
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
export async function handleSmartContext(args) {
|
|
81
|
+
try {
|
|
82
|
+
const input = SmartContextInputSchema.parse(args);
|
|
83
|
+
const key = input.key || input.type;
|
|
84
|
+
logger.info(`Smart context capture: ${input.type}`);
|
|
85
|
+
const results = {};
|
|
86
|
+
// Route based on type
|
|
87
|
+
switch (input.type) {
|
|
88
|
+
case 'checkpoint':
|
|
89
|
+
// Save as checkpoint
|
|
90
|
+
results.checkpoint = await saveCheckpoint({
|
|
91
|
+
key,
|
|
92
|
+
value: { content: input.content, tags: input.tags },
|
|
93
|
+
session_id: input.session_id,
|
|
94
|
+
save_as_insight: false,
|
|
95
|
+
preserve_context: false,
|
|
96
|
+
auth: input.auth,
|
|
97
|
+
});
|
|
98
|
+
break;
|
|
99
|
+
case 'insight':
|
|
100
|
+
// Save as insight
|
|
101
|
+
results.insight = await saveInsight({
|
|
102
|
+
content: input.content,
|
|
103
|
+
session_id: input.session_id,
|
|
104
|
+
tags: input.tags || ['insight'],
|
|
105
|
+
auth: input.auth,
|
|
106
|
+
});
|
|
107
|
+
break;
|
|
108
|
+
case 'decision':
|
|
109
|
+
case 'requirement':
|
|
110
|
+
case 'constraint':
|
|
111
|
+
case 'pattern': {
|
|
112
|
+
// Map to context categories
|
|
113
|
+
const categoryMap = {
|
|
114
|
+
decision: 'decisions',
|
|
115
|
+
requirement: 'requirements',
|
|
116
|
+
constraint: 'constraints',
|
|
117
|
+
pattern: 'technical-patterns',
|
|
118
|
+
};
|
|
119
|
+
const category = categoryMap[input.type] || 'decisions';
|
|
120
|
+
await storeContext(category, `[${key}] ${input.content}`);
|
|
121
|
+
results.context = { category, stored: true };
|
|
122
|
+
// Also save as insight for searchability
|
|
123
|
+
results.insight = await saveInsight({
|
|
124
|
+
content: input.content,
|
|
125
|
+
session_id: input.session_id,
|
|
126
|
+
tags: [input.type, ...(input.tags || [])],
|
|
127
|
+
auth: input.auth,
|
|
128
|
+
});
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case 'conversation':
|
|
132
|
+
// Save to both checkpoint and context
|
|
133
|
+
if (input.session_id) {
|
|
134
|
+
results.checkpoint = await saveCheckpoint({
|
|
135
|
+
key: key || 'conversation',
|
|
136
|
+
value: { content: input.content, tags: input.tags },
|
|
137
|
+
session_id: input.session_id,
|
|
138
|
+
auth: input.auth,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
// Also preserve as context
|
|
142
|
+
await storeContext('project-metadata', `[conversation] ${input.content}`);
|
|
143
|
+
results.context = { category: 'project-metadata', stored: true };
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
// Optionally detect build context
|
|
147
|
+
if (input.detect_project) {
|
|
148
|
+
results.build_context = await handleDetectBuildContext({});
|
|
149
|
+
}
|
|
150
|
+
// Log full results server-side
|
|
151
|
+
logger.debug('[SmartContext] Full results:', results);
|
|
152
|
+
// Return sanitized response
|
|
153
|
+
return {
|
|
154
|
+
success: true,
|
|
155
|
+
type: input.type,
|
|
156
|
+
message: `Context captured as ${input.type}`,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
logger.error('Error in smart_context:', error);
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=smart-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-context.js","sourceRoot":"","sources":["../../src/tools/smart-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_packages.d.ts","sourceRoot":"","sources":["../../src/tools/validate_packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAgB1D,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"validate_packages.d.ts","sourceRoot":"","sources":["../../src/tools/validate_packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAgB1D,eAAO,MAAM,oBAAoB,EAAE,IAiDlC,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA2F5E"}
|
|
@@ -40,11 +40,12 @@ export const validatePackagesTool = {
|
|
|
40
40
|
items: {
|
|
41
41
|
type: 'object',
|
|
42
42
|
properties: {
|
|
43
|
-
name: { type: 'string' },
|
|
44
|
-
version: { type: 'string' },
|
|
43
|
+
name: { type: 'string', description: 'Package name to validate' },
|
|
44
|
+
version: { type: 'string', description: 'Specific version to check (optional)' },
|
|
45
45
|
registry: {
|
|
46
46
|
type: 'string',
|
|
47
|
-
enum: ['npm', 'pypi', 'maven']
|
|
47
|
+
enum: ['npm', 'pypi', 'maven'],
|
|
48
|
+
description: 'Package registry (npm, pypi, or maven)'
|
|
48
49
|
}
|
|
49
50
|
},
|
|
50
51
|
required: ['name']
|
|
@@ -54,7 +55,8 @@ export const validatePackagesTool = {
|
|
|
54
55
|
language: {
|
|
55
56
|
type: 'string',
|
|
56
57
|
enum: ['javascript', 'typescript', 'python', 'java', 'unknown'],
|
|
57
|
-
default: 'unknown'
|
|
58
|
+
default: 'unknown',
|
|
59
|
+
description: 'Programming language of the code being validated'
|
|
58
60
|
},
|
|
59
61
|
autoFix: {
|
|
60
62
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_packages.js","sourceRoot":"","sources":["../../src/tools/validate_packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACxF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACnG,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACxD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,6FAA6F;IAC1G,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,aAAa,EAAE,IAAI;KACpB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;aACxE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"validate_packages.js","sourceRoot":"","sources":["../../src/tools/validate_packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,80 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
declare const ContextCategoryEnum: z.ZodEnum<["architecture", "requirements", "constraints", "decisions", "technical-patterns", "project-metadata"]>;
|
|
2
3
|
export declare const SaveCheckpointSchema: z.ZodObject<{
|
|
3
|
-
session_id: z.ZodString
|
|
4
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
4
5
|
key: z.ZodString;
|
|
5
6
|
value: z.ZodAny;
|
|
6
7
|
advance_step: z.ZodDefault<z.ZodBoolean>;
|
|
8
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
token: z.ZodOptional<z.ZodString>;
|
|
10
|
+
user_id: z.ZodOptional<z.ZodString>;
|
|
11
|
+
client_id: z.ZodOptional<z.ZodString>;
|
|
12
|
+
conversation_id: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
user_id?: string | undefined;
|
|
15
|
+
client_id?: string | undefined;
|
|
16
|
+
token?: string | undefined;
|
|
17
|
+
conversation_id?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
user_id?: string | undefined;
|
|
20
|
+
client_id?: string | undefined;
|
|
21
|
+
token?: string | undefined;
|
|
22
|
+
conversation_id?: string | undefined;
|
|
23
|
+
}>>;
|
|
24
|
+
save_as_insight: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
insight_tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
26
|
+
preserve_context: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
context_category: z.ZodOptional<z.ZodEnum<["architecture", "requirements", "constraints", "decisions", "technical-patterns", "project-metadata"]>>;
|
|
28
|
+
governance_check: z.ZodDefault<z.ZodBoolean>;
|
|
7
29
|
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
session_id: string;
|
|
9
30
|
key: string;
|
|
10
31
|
advance_step: boolean;
|
|
32
|
+
save_as_insight: boolean;
|
|
33
|
+
preserve_context: boolean;
|
|
34
|
+
governance_check: boolean;
|
|
35
|
+
session_id?: string | undefined;
|
|
11
36
|
value?: any;
|
|
37
|
+
auth?: {
|
|
38
|
+
user_id?: string | undefined;
|
|
39
|
+
client_id?: string | undefined;
|
|
40
|
+
token?: string | undefined;
|
|
41
|
+
conversation_id?: string | undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
insight_tags?: string[] | undefined;
|
|
44
|
+
context_category?: "architecture" | "requirements" | "constraints" | "decisions" | "technical-patterns" | "project-metadata" | undefined;
|
|
12
45
|
}, {
|
|
13
|
-
session_id: string;
|
|
14
46
|
key: string;
|
|
47
|
+
session_id?: string | undefined;
|
|
15
48
|
value?: any;
|
|
49
|
+
auth?: {
|
|
50
|
+
user_id?: string | undefined;
|
|
51
|
+
client_id?: string | undefined;
|
|
52
|
+
token?: string | undefined;
|
|
53
|
+
conversation_id?: string | undefined;
|
|
54
|
+
} | undefined;
|
|
16
55
|
advance_step?: boolean | undefined;
|
|
56
|
+
save_as_insight?: boolean | undefined;
|
|
57
|
+
insight_tags?: string[] | undefined;
|
|
58
|
+
preserve_context?: boolean | undefined;
|
|
59
|
+
context_category?: "architecture" | "requirements" | "constraints" | "decisions" | "technical-patterns" | "project-metadata" | undefined;
|
|
60
|
+
governance_check?: boolean | undefined;
|
|
17
61
|
}>;
|
|
18
62
|
export type SaveCheckpointInput = z.infer<typeof SaveCheckpointSchema>;
|
|
63
|
+
export type ContextCategory = z.infer<typeof ContextCategoryEnum>;
|
|
19
64
|
export interface CheckpointResponse {
|
|
20
65
|
checkpoint_id: string;
|
|
21
|
-
|
|
66
|
+
session_id: string;
|
|
67
|
+
session_created: boolean;
|
|
68
|
+
next_step: unknown | null;
|
|
22
69
|
journey_complete: boolean;
|
|
23
70
|
message: string;
|
|
71
|
+
insight_id?: string;
|
|
72
|
+
context_stored?: boolean;
|
|
73
|
+
governance_result?: {
|
|
74
|
+
allowed: boolean;
|
|
75
|
+
issues: string[];
|
|
76
|
+
confidence: number;
|
|
77
|
+
};
|
|
24
78
|
}
|
|
79
|
+
export {};
|
|
25
80
|
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,mBAAmB,mHAOvB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
|
package/dist/types/checkpoint.js
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { AuthContextSchema } from './auth.js';
|
|
3
|
+
// Context categories for preserve_context integration
|
|
4
|
+
const ContextCategoryEnum = z.enum([
|
|
5
|
+
'architecture',
|
|
6
|
+
'requirements',
|
|
7
|
+
'constraints',
|
|
8
|
+
'decisions',
|
|
9
|
+
'technical-patterns',
|
|
10
|
+
'project-metadata'
|
|
11
|
+
]);
|
|
2
12
|
export const SaveCheckpointSchema = z.object({
|
|
3
|
-
session_id: z.string().uuid().describe('Active session ID'),
|
|
13
|
+
session_id: z.string().uuid().optional().describe('Active session ID (auto-created if not provided)'),
|
|
4
14
|
key: z.string().describe('What is being captured (e.g., "mood", "reflection", "gratitude")'),
|
|
5
15
|
value: z.any().describe('The captured content'),
|
|
6
16
|
advance_step: z.boolean().default(true).describe('Whether to advance to next journey step'),
|
|
17
|
+
auth: AuthContextSchema.optional().describe('Authentication context for user identification'),
|
|
18
|
+
// === Consolidated from save_insight ===
|
|
19
|
+
save_as_insight: z.boolean().default(false).describe('Also save this as a user insight'),
|
|
20
|
+
insight_tags: z.array(z.string()).optional().describe('Tags for the insight if saving as insight'),
|
|
21
|
+
// === Consolidated from preserve_context ===
|
|
22
|
+
preserve_context: z.boolean().default(false).describe('Also store as persistent project context'),
|
|
23
|
+
context_category: ContextCategoryEnum.optional().describe('Category for context preservation'),
|
|
24
|
+
// === Governance metadata ===
|
|
25
|
+
governance_check: z.boolean().default(true).describe('Run governance validation on the value'),
|
|
7
26
|
});
|
|
8
27
|
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/types/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,sDAAsD;AACtD,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,cAAc;IACd,cAAc;IACd,aAAa;IACb,WAAW;IACX,oBAAoB;IACpB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACrG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC3F,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAE7F,yCAAyC;IACzC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAElG,6CAA6C;IAC7C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACjG,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAE9F,8BAA8B;IAC9B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC/F,CAAC,CAAC"}
|