vibe-coding-mcp 2.12.1 → 2.14.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.
- package/CHANGELOG.md +74 -0
- package/LICENSE +21 -0
- package/README.md +205 -291
- package/SECURITY.md +65 -0
- package/dist/core/mcpServerFactory.d.ts +30 -0
- package/dist/core/mcpServerFactory.js +136 -0
- package/dist/core/mcpServerFactory.js.map +1 -0
- package/dist/core/prompts.d.ts +42 -0
- package/dist/core/prompts.js +158 -0
- package/dist/core/prompts.js.map +1 -0
- package/dist/core/resources.d.ts +47 -0
- package/dist/core/resources.js +99 -0
- package/dist/core/resources.js.map +1 -0
- package/dist/core/toolRegistry.d.ts +55 -0
- package/dist/core/toolRegistry.js +185 -0
- package/dist/core/toolRegistry.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +88 -147
- package/dist/index.js.map +1 -1
- package/dist/stdio.d.ts +7 -1
- package/dist/stdio.js +15 -137
- package/dist/stdio.js.map +1 -1
- package/package.json +10 -4
- package/dist/__tests__/collectCodeContext.test.d.ts +0 -2
- package/dist/__tests__/collectCodeContext.test.d.ts.map +0 -1
- package/dist/__tests__/collectCodeContext.test.js +0 -139
- package/dist/__tests__/collectCodeContext.test.js.map +0 -1
- package/dist/__tests__/createSessionLog.test.d.ts +0 -2
- package/dist/__tests__/createSessionLog.test.d.ts.map +0 -1
- package/dist/__tests__/createSessionLog.test.js +0 -130
- package/dist/__tests__/createSessionLog.test.js.map +0 -1
- package/dist/__tests__/exportSession.test.d.ts +0 -2
- package/dist/__tests__/exportSession.test.d.ts.map +0 -1
- package/dist/__tests__/exportSession.test.js +0 -180
- package/dist/__tests__/exportSession.test.js.map +0 -1
- package/dist/__tests__/generateDevDocument.test.d.ts +0 -2
- package/dist/__tests__/generateDevDocument.test.d.ts.map +0 -1
- package/dist/__tests__/generateDevDocument.test.js +0 -174
- package/dist/__tests__/generateDevDocument.test.js.map +0 -1
- package/dist/__tests__/git.test.d.ts +0 -2
- package/dist/__tests__/git.test.d.ts.map +0 -1
- package/dist/__tests__/git.test.js +0 -282
- package/dist/__tests__/git.test.js.map +0 -1
- package/dist/__tests__/normalizeForPlatform.test.d.ts +0 -2
- package/dist/__tests__/normalizeForPlatform.test.d.ts.map +0 -1
- package/dist/__tests__/normalizeForPlatform.test.js +0 -171
- package/dist/__tests__/normalizeForPlatform.test.js.map +0 -1
- package/dist/__tests__/projectProfile.test.d.ts +0 -2
- package/dist/__tests__/projectProfile.test.d.ts.map +0 -1
- package/dist/__tests__/projectProfile.test.js +0 -216
- package/dist/__tests__/projectProfile.test.js.map +0 -1
- package/dist/__tests__/publishDocument.test.d.ts +0 -2
- package/dist/__tests__/publishDocument.test.d.ts.map +0 -1
- package/dist/__tests__/publishDocument.test.js +0 -93
- package/dist/__tests__/publishDocument.test.js.map +0 -1
- package/dist/__tests__/sessionHistory.test.d.ts +0 -2
- package/dist/__tests__/sessionHistory.test.d.ts.map +0 -1
- package/dist/__tests__/sessionHistory.test.js +0 -229
- package/dist/__tests__/sessionHistory.test.js.map +0 -1
- package/dist/__tests__/summarizeDesignDecisions.test.d.ts +0 -2
- package/dist/__tests__/summarizeDesignDecisions.test.d.ts.map +0 -1
- package/dist/__tests__/summarizeDesignDecisions.test.js +0 -158
- package/dist/__tests__/summarizeDesignDecisions.test.js.map +0 -1
- package/dist/core/ai.d.ts.map +0 -1
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/profileStorage.d.ts.map +0 -1
- package/dist/core/schemas.d.ts.map +0 -1
- package/dist/core/security.d.ts.map +0 -1
- package/dist/core/sessionStorage.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/platforms/confluence.d.ts.map +0 -1
- package/dist/platforms/discord.d.ts.map +0 -1
- package/dist/platforms/github-wiki.d.ts.map +0 -1
- package/dist/platforms/notion.d.ts.map +0 -1
- package/dist/platforms/obsidian.d.ts.map +0 -1
- package/dist/platforms/slack.d.ts.map +0 -1
- package/dist/stdio.d.ts.map +0 -1
- package/dist/tools/analyzeCode.d.ts.map +0 -1
- package/dist/tools/autoTag.d.ts.map +0 -1
- package/dist/tools/batch.d.ts.map +0 -1
- package/dist/tools/collectCodeContext.d.ts.map +0 -1
- package/dist/tools/createSessionLog.d.ts.map +0 -1
- package/dist/tools/exportSession.d.ts.map +0 -1
- package/dist/tools/generateDevDocument.d.ts.map +0 -1
- package/dist/tools/git.d.ts.map +0 -1
- package/dist/tools/normalizeForPlatform.d.ts.map +0 -1
- package/dist/tools/projectProfile.d.ts.map +0 -1
- package/dist/tools/publishDocument.d.ts.map +0 -1
- package/dist/tools/sessionHistory.d.ts.map +0 -1
- package/dist/tools/sessionStats.d.ts.map +0 -1
- package/dist/tools/summarizeDesignDecisions.d.ts.map +0 -1
- package/dist/tools/template.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/astParser.d.ts.map +0 -1
- package/dist/utils/gitExecutor.d.ts.map +0 -1
- package/dist/utils/gitParsers.d.ts.map +0 -1
- package/dist/utils/i18n.d.ts.map +0 -1
- package/dist/utils/markdown.d.ts.map +0 -1
- package/dist/utils/mermaidGenerator.d.ts.map +0 -1
package/dist/stdio.js
CHANGED
|
@@ -1,152 +1,30 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Claude Desktop
|
|
3
|
+
* stdio entry point — used by Claude Desktop / Claude Code via the
|
|
4
|
+
* `vibe-coding-mcp` binary.
|
|
5
|
+
*
|
|
6
|
+
* As of v2.14.0 this file is a thin transport-bind around the shared
|
|
7
|
+
* `createMcpServer()` factory; the tool/resource/prompt registry lives in
|
|
8
|
+
* `src/core/{toolRegistry,resources,prompts}.ts` and is reused verbatim by
|
|
9
|
+
* the HTTP entry point in `src/index.ts`.
|
|
4
10
|
*/
|
|
5
|
-
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
11
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
7
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
// Core
|
|
9
|
-
import { createErrorResponse, ToolError } from './core/errors.js';
|
|
10
12
|
import { initializeAI } from './core/ai.js';
|
|
11
|
-
import {
|
|
12
|
-
// Tools
|
|
13
|
-
import { collectCodeContext, collectCodeContextSchema } from './tools/collectCodeContext.js';
|
|
14
|
-
import { summarizeDesignDecisions, summarizeDesignDecisionsSchema } from './tools/summarizeDesignDecisions.js';
|
|
15
|
-
import { generateDevDocument, generateDevDocumentSchema } from './tools/generateDevDocument.js';
|
|
16
|
-
import { normalizeForPlatform, normalizeForPlatformSchema } from './tools/normalizeForPlatform.js';
|
|
17
|
-
import { publishDocument, publishDocumentSchema } from './tools/publishDocument.js';
|
|
18
|
-
import { createSessionLog, createSessionLogSchema } from './tools/createSessionLog.js';
|
|
19
|
-
import { analyzeCodeTool, analyzeCodeSchema } from './tools/analyzeCode.js';
|
|
20
|
-
import { sessionHistoryTool, sessionHistorySchema } from './tools/sessionHistory.js';
|
|
21
|
-
import { exportSessionTool, exportSessionSchema } from './tools/exportSession.js';
|
|
22
|
-
import { projectProfileTool, projectProfileSchema } from './tools/projectProfile.js';
|
|
23
|
-
import { gitTool, gitSchema } from './tools/git.js';
|
|
24
|
-
import { sessionStatsTool, sessionStatsSchema } from './tools/sessionStats.js';
|
|
25
|
-
import { autoTagTool, autoTagSchema } from './tools/autoTag.js';
|
|
26
|
-
import { templateTool, templateSchema } from './tools/template.js';
|
|
27
|
-
import { batchTool, batchSchema } from './tools/batch.js';
|
|
28
|
-
// Tool handlers with validation
|
|
29
|
-
const toolHandlers = {
|
|
30
|
-
muse_collect_code_context: (args) => {
|
|
31
|
-
const validated = validateInput(CollectCodeContextSchema, args);
|
|
32
|
-
return collectCodeContext(validated);
|
|
33
|
-
},
|
|
34
|
-
muse_summarize_design_decisions: async (args) => {
|
|
35
|
-
const validated = validateInput(SummarizeDesignDecisionsSchema, args);
|
|
36
|
-
return summarizeDesignDecisions(validated);
|
|
37
|
-
},
|
|
38
|
-
muse_generate_dev_document: (args) => {
|
|
39
|
-
const validated = validateInput(GenerateDevDocumentSchema, args);
|
|
40
|
-
return generateDevDocument(validated);
|
|
41
|
-
},
|
|
42
|
-
muse_normalize_for_platform: (args) => {
|
|
43
|
-
const validated = validateInput(NormalizeForPlatformSchema, args);
|
|
44
|
-
return normalizeForPlatform(validated);
|
|
45
|
-
},
|
|
46
|
-
muse_publish_document: async (args) => {
|
|
47
|
-
const validated = validateInput(PublishDocumentSchema, args);
|
|
48
|
-
return publishDocument(validated);
|
|
49
|
-
},
|
|
50
|
-
muse_create_session_log: async (args) => {
|
|
51
|
-
const validated = validateInput(CreateSessionLogSchema, args);
|
|
52
|
-
return createSessionLog(validated);
|
|
53
|
-
},
|
|
54
|
-
muse_analyze_code: async (args) => {
|
|
55
|
-
const validated = validateInput(AnalyzeCodeSchema, args);
|
|
56
|
-
return analyzeCodeTool(validated);
|
|
57
|
-
},
|
|
58
|
-
muse_session_history: async (args) => {
|
|
59
|
-
const validated = validateInput(SessionHistorySchema, args);
|
|
60
|
-
return sessionHistoryTool(validated);
|
|
61
|
-
},
|
|
62
|
-
muse_export_session: async (args) => {
|
|
63
|
-
const validated = validateInput(ExportSessionSchema, args);
|
|
64
|
-
return exportSessionTool(validated);
|
|
65
|
-
},
|
|
66
|
-
muse_project_profile: async (args) => {
|
|
67
|
-
const validated = validateInput(ProjectProfileSchema, args);
|
|
68
|
-
return projectProfileTool(validated);
|
|
69
|
-
},
|
|
70
|
-
muse_git: async (args) => {
|
|
71
|
-
const validated = validateInput(GitSchema, args);
|
|
72
|
-
return gitTool(validated);
|
|
73
|
-
},
|
|
74
|
-
muse_session_stats: async (args) => {
|
|
75
|
-
const validated = validateInput(SessionStatsSchema, args);
|
|
76
|
-
return sessionStatsTool(validated);
|
|
77
|
-
},
|
|
78
|
-
muse_auto_tag: async (args) => {
|
|
79
|
-
const validated = validateInput(AutoTagSchema, args);
|
|
80
|
-
return autoTagTool(validated);
|
|
81
|
-
},
|
|
82
|
-
muse_template: async (args) => {
|
|
83
|
-
const validated = validateInput(TemplateSchema, args);
|
|
84
|
-
return templateTool(validated);
|
|
85
|
-
},
|
|
86
|
-
muse_batch: async (args) => {
|
|
87
|
-
const validated = validateInput(BatchSchema, args);
|
|
88
|
-
return batchTool(validated);
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
function isValidToolName(name) {
|
|
92
|
-
return name in toolHandlers;
|
|
93
|
-
}
|
|
94
|
-
const server = new Server({
|
|
95
|
-
name: 'vibe-coding-mcp',
|
|
96
|
-
version: '2.12.0',
|
|
97
|
-
}, {
|
|
98
|
-
capabilities: {
|
|
99
|
-
tools: {},
|
|
100
|
-
},
|
|
101
|
-
});
|
|
102
|
-
// List available tools
|
|
103
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
104
|
-
return {
|
|
105
|
-
tools: [
|
|
106
|
-
collectCodeContextSchema,
|
|
107
|
-
summarizeDesignDecisionsSchema,
|
|
108
|
-
generateDevDocumentSchema,
|
|
109
|
-
normalizeForPlatformSchema,
|
|
110
|
-
publishDocumentSchema,
|
|
111
|
-
createSessionLogSchema,
|
|
112
|
-
analyzeCodeSchema,
|
|
113
|
-
sessionHistorySchema,
|
|
114
|
-
exportSessionSchema,
|
|
115
|
-
projectProfileSchema,
|
|
116
|
-
gitSchema,
|
|
117
|
-
sessionStatsSchema,
|
|
118
|
-
autoTagSchema,
|
|
119
|
-
templateSchema,
|
|
120
|
-
batchSchema,
|
|
121
|
-
],
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
// Handle tool calls
|
|
125
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
126
|
-
const { name, arguments: args } = request.params;
|
|
127
|
-
try {
|
|
128
|
-
if (!isValidToolName(name)) {
|
|
129
|
-
throw new ToolError(`Unknown tool: ${name}`, 'NOT_FOUND', { tool: name });
|
|
130
|
-
}
|
|
131
|
-
const handler = toolHandlers[name];
|
|
132
|
-
const result = await handler(args);
|
|
133
|
-
return {
|
|
134
|
-
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
return createErrorResponse(error);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
// Start stdio transport
|
|
13
|
+
import { createMcpServer, getCapabilityCounts } from './core/mcpServerFactory.js';
|
|
142
14
|
async function main() {
|
|
143
15
|
// Initialize AI if ANTHROPIC_API_KEY is available
|
|
144
16
|
const aiEnabled = initializeAI();
|
|
145
17
|
if (aiEnabled) {
|
|
146
18
|
console.error('[vibe-coding-mcp] AI features enabled (ANTHROPIC_API_KEY found)');
|
|
147
19
|
}
|
|
20
|
+
const server = createMcpServer();
|
|
21
|
+
const counts = getCapabilityCounts();
|
|
22
|
+
console.error(`[vibe-coding-mcp] stdio transport ready — ${counts.tools} tools, ${counts.resources} resources, ${counts.prompts} prompts`);
|
|
148
23
|
const transport = new StdioServerTransport();
|
|
149
24
|
await server.connect(transport);
|
|
150
25
|
}
|
|
151
|
-
main().catch(
|
|
26
|
+
main().catch((err) => {
|
|
27
|
+
console.error('[vibe-coding-mcp] fatal:', err);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
152
30
|
//# sourceMappingURL=stdio.js.map
|
package/dist/stdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAElF,KAAK,UAAU,IAAI;IACjB,kDAAkD;IAClD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,OAAO,CAAC,KAAK,CACX,6CAA6C,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,OAAO,UAAU,CAC5H,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe-coding-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"mcpName": "io.github.MUSE-CODE-SPACE/vibe-coding",
|
|
5
5
|
"description": "MCP server for automatically collecting, summarizing, documenting, and publishing vibe coding sessions",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,14 +9,20 @@
|
|
|
9
9
|
"vibe-coding-mcp": "dist/stdio.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
-
"dist",
|
|
13
|
-
"
|
|
12
|
+
"dist/**/*.js",
|
|
13
|
+
"dist/**/*.d.ts",
|
|
14
|
+
"dist/**/*.js.map",
|
|
15
|
+
"README.md",
|
|
16
|
+
"LICENSE",
|
|
17
|
+
"SECURITY.md",
|
|
18
|
+
"CHANGELOG.md"
|
|
14
19
|
],
|
|
15
20
|
"scripts": {
|
|
16
21
|
"build": "tsc",
|
|
17
22
|
"start": "node dist/index.js",
|
|
18
23
|
"stdio": "node dist/stdio.js",
|
|
19
24
|
"dev": "tsc --watch",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
20
26
|
"prepublishOnly": "npm run build",
|
|
21
27
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns='integration'",
|
|
22
28
|
"test:tools": "node scripts/test-tools.mjs",
|
|
@@ -47,7 +53,7 @@
|
|
|
47
53
|
},
|
|
48
54
|
"dependencies": {
|
|
49
55
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
50
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
51
57
|
"@notionhq/client": "^2.2.0",
|
|
52
58
|
"cors": "^2.8.5",
|
|
53
59
|
"dotenv": "^16.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectCodeContext.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/collectCodeContext.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { collectCodeContext } from '../tools/collectCodeContext.js';
|
|
2
|
-
describe('collectCodeContext', () => {
|
|
3
|
-
describe('basic functionality', () => {
|
|
4
|
-
it('should create a context with provided code blocks', () => {
|
|
5
|
-
const result = collectCodeContext({
|
|
6
|
-
codeBlocks: [
|
|
7
|
-
{ language: 'typescript', code: 'const x = 1;' }
|
|
8
|
-
],
|
|
9
|
-
conversationSummary: 'Test summary'
|
|
10
|
-
});
|
|
11
|
-
expect(result.context).toBeDefined();
|
|
12
|
-
expect(result.context.codeBlocks).toHaveLength(1);
|
|
13
|
-
expect(result.context.conversationSummary).toBe('Test summary');
|
|
14
|
-
expect(result.context.sessionId).toBeDefined();
|
|
15
|
-
expect(result.context.timestamp).toBeDefined();
|
|
16
|
-
});
|
|
17
|
-
it('should extract code blocks from raw text', () => {
|
|
18
|
-
const rawText = `
|
|
19
|
-
Here is some code:
|
|
20
|
-
\`\`\`javascript
|
|
21
|
-
function hello() {
|
|
22
|
-
console.log('Hello');
|
|
23
|
-
}
|
|
24
|
-
\`\`\`
|
|
25
|
-
`;
|
|
26
|
-
const result = collectCodeContext({
|
|
27
|
-
rawText,
|
|
28
|
-
conversationSummary: 'Extracted from raw text'
|
|
29
|
-
});
|
|
30
|
-
expect(result.context.codeBlocks).toHaveLength(1);
|
|
31
|
-
expect(result.context.codeBlocks[0].language).toBe('javascript');
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('language detection', () => {
|
|
35
|
-
it('should auto-detect TypeScript', () => {
|
|
36
|
-
const result = collectCodeContext({
|
|
37
|
-
codeBlocks: [
|
|
38
|
-
{ language: '', code: 'interface User { name: string; age: number; }' }
|
|
39
|
-
],
|
|
40
|
-
conversationSummary: 'TypeScript detection',
|
|
41
|
-
autoDetectLanguage: true
|
|
42
|
-
});
|
|
43
|
-
expect(result.context.codeBlocks[0].language).toBe('typescript');
|
|
44
|
-
});
|
|
45
|
-
it('should auto-detect Python', () => {
|
|
46
|
-
const result = collectCodeContext({
|
|
47
|
-
codeBlocks: [
|
|
48
|
-
{ language: '', code: 'def hello():\n print("Hello")' }
|
|
49
|
-
],
|
|
50
|
-
conversationSummary: 'Python detection',
|
|
51
|
-
autoDetectLanguage: true
|
|
52
|
-
});
|
|
53
|
-
expect(result.context.codeBlocks[0].language).toBe('python');
|
|
54
|
-
});
|
|
55
|
-
it('should auto-detect SQL', () => {
|
|
56
|
-
const result = collectCodeContext({
|
|
57
|
-
codeBlocks: [
|
|
58
|
-
{ language: '', code: 'SELECT * FROM users WHERE id = 1' }
|
|
59
|
-
],
|
|
60
|
-
conversationSummary: 'SQL detection'
|
|
61
|
-
});
|
|
62
|
-
expect(result.context.codeBlocks[0].language).toBe('sql');
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe('duplicate removal', () => {
|
|
66
|
-
it('should remove duplicate code blocks', () => {
|
|
67
|
-
const result = collectCodeContext({
|
|
68
|
-
codeBlocks: [
|
|
69
|
-
{ language: 'javascript', code: 'const x = 1;' },
|
|
70
|
-
{ language: 'javascript', code: 'const x = 1;' },
|
|
71
|
-
{ language: 'javascript', code: 'const y = 2;' }
|
|
72
|
-
],
|
|
73
|
-
conversationSummary: 'Duplicate test',
|
|
74
|
-
removeDuplicates: true
|
|
75
|
-
});
|
|
76
|
-
expect(result.context.codeBlocks).toHaveLength(2);
|
|
77
|
-
expect(result.warnings).toContain('Removed 1 duplicate code block(s)');
|
|
78
|
-
});
|
|
79
|
-
it('should keep duplicates when removeDuplicates is false', () => {
|
|
80
|
-
const result = collectCodeContext({
|
|
81
|
-
codeBlocks: [
|
|
82
|
-
{ language: 'javascript', code: 'const x = 1;' },
|
|
83
|
-
{ language: 'javascript', code: 'const x = 1;' }
|
|
84
|
-
],
|
|
85
|
-
conversationSummary: 'Keep duplicates',
|
|
86
|
-
removeDuplicates: false
|
|
87
|
-
});
|
|
88
|
-
expect(result.context.codeBlocks).toHaveLength(2);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe('statistics', () => {
|
|
92
|
-
it('should include stats when includeStats is true', () => {
|
|
93
|
-
const result = collectCodeContext({
|
|
94
|
-
codeBlocks: [
|
|
95
|
-
{ language: 'javascript', code: 'const x = 1;\nconst y = 2;' },
|
|
96
|
-
{ language: 'python', code: 'x = 1' }
|
|
97
|
-
],
|
|
98
|
-
conversationSummary: 'Stats test',
|
|
99
|
-
includeStats: true
|
|
100
|
-
});
|
|
101
|
-
expect(result.stats).toBeDefined();
|
|
102
|
-
expect(result.stats?.totalBlocks).toBe(2);
|
|
103
|
-
expect(result.stats?.languageBreakdown).toEqual({
|
|
104
|
-
javascript: 1,
|
|
105
|
-
python: 1
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
describe('tags', () => {
|
|
110
|
-
it('should auto-add language tags', () => {
|
|
111
|
-
const result = collectCodeContext({
|
|
112
|
-
codeBlocks: [
|
|
113
|
-
{ language: 'typescript', code: 'const x: number = 1;' }
|
|
114
|
-
],
|
|
115
|
-
conversationSummary: 'Tag test',
|
|
116
|
-
tags: ['custom-tag']
|
|
117
|
-
});
|
|
118
|
-
expect(result.context.tags).toContain('custom-tag');
|
|
119
|
-
expect(result.context.tags).toContain('typescript');
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
describe('validation', () => {
|
|
123
|
-
it('should warn on empty summary', () => {
|
|
124
|
-
const result = collectCodeContext({
|
|
125
|
-
codeBlocks: [{ language: 'js', code: 'x' }],
|
|
126
|
-
conversationSummary: ''
|
|
127
|
-
});
|
|
128
|
-
expect(result.warnings).toContain('Conversation summary is empty');
|
|
129
|
-
});
|
|
130
|
-
it('should warn on empty code block', () => {
|
|
131
|
-
const result = collectCodeContext({
|
|
132
|
-
codeBlocks: [{ language: 'js', code: '' }],
|
|
133
|
-
conversationSummary: 'Test'
|
|
134
|
-
});
|
|
135
|
-
expect(result.warnings).toContain('Code block 1 is empty');
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
//# sourceMappingURL=collectCodeContext.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectCodeContext.test.js","sourceRoot":"","sources":["../../src/__tests__/collectCodeContext.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSessionLog.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/createSessionLog.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { createSessionLog } from '../tools/createSessionLog.js';
|
|
2
|
-
describe('createSessionLog', () => {
|
|
3
|
-
describe('basic functionality', () => {
|
|
4
|
-
it('should create a session log with required fields', async () => {
|
|
5
|
-
const result = await createSessionLog({
|
|
6
|
-
title: 'Test Session',
|
|
7
|
-
summary: 'This is a test summary'
|
|
8
|
-
});
|
|
9
|
-
expect(result.sessionLog).toBeDefined();
|
|
10
|
-
expect(result.sessionLog.sessionId).toBeDefined();
|
|
11
|
-
expect(result.sessionLog.date).toBeDefined();
|
|
12
|
-
expect(result.sessionLog.title).toBe('Test Session');
|
|
13
|
-
expect(result.sessionLog.summary).toBe('This is a test summary');
|
|
14
|
-
expect(result.content).toBeDefined();
|
|
15
|
-
});
|
|
16
|
-
it('should include duration when provided', async () => {
|
|
17
|
-
const result = await createSessionLog({
|
|
18
|
-
title: 'Test Session',
|
|
19
|
-
summary: 'Test summary',
|
|
20
|
-
duration: 3600
|
|
21
|
-
});
|
|
22
|
-
expect(result.sessionLog.duration).toBe(3600);
|
|
23
|
-
expect(result.content).toContain('60 minutes');
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
describe('log formats', () => {
|
|
27
|
-
it('should create markdown log by default', async () => {
|
|
28
|
-
const result = await createSessionLog({
|
|
29
|
-
title: 'Test',
|
|
30
|
-
summary: 'Summary'
|
|
31
|
-
});
|
|
32
|
-
expect(result.content).toContain('#');
|
|
33
|
-
expect(result.content).toContain('Test');
|
|
34
|
-
});
|
|
35
|
-
it('should create JSON log when requested', async () => {
|
|
36
|
-
const result = await createSessionLog({
|
|
37
|
-
title: 'Test',
|
|
38
|
-
summary: 'Summary',
|
|
39
|
-
options: {
|
|
40
|
-
logType: 'session',
|
|
41
|
-
format: 'json'
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
expect(() => JSON.parse(result.content)).not.toThrow();
|
|
45
|
-
const parsed = JSON.parse(result.content);
|
|
46
|
-
expect(parsed.title).toBe('Test');
|
|
47
|
-
});
|
|
48
|
-
it('should create daily log type', async () => {
|
|
49
|
-
const result = await createSessionLog({
|
|
50
|
-
title: 'Daily',
|
|
51
|
-
summary: 'Daily summary',
|
|
52
|
-
options: {
|
|
53
|
-
logType: 'daily',
|
|
54
|
-
format: 'markdown'
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
expect(result.content).toContain('Daily Vibe Coding Log');
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe('code contexts', () => {
|
|
61
|
-
it('should include code contexts in log', async () => {
|
|
62
|
-
const result = await createSessionLog({
|
|
63
|
-
title: 'Test',
|
|
64
|
-
summary: 'Summary',
|
|
65
|
-
codeContexts: [
|
|
66
|
-
{
|
|
67
|
-
sessionId: '1',
|
|
68
|
-
timestamp: new Date().toISOString(),
|
|
69
|
-
codeBlocks: [{ language: 'typescript', code: 'const x = 1;' }],
|
|
70
|
-
conversationSummary: 'Created a variable'
|
|
71
|
-
}
|
|
72
|
-
]
|
|
73
|
-
});
|
|
74
|
-
expect(result.content).toContain('Code Contexts');
|
|
75
|
-
expect(result.content).toContain('const x = 1;');
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('design decisions', () => {
|
|
79
|
-
it('should include design decisions in log', async () => {
|
|
80
|
-
const result = await createSessionLog({
|
|
81
|
-
title: 'Test',
|
|
82
|
-
summary: 'Summary',
|
|
83
|
-
designDecisions: [
|
|
84
|
-
{
|
|
85
|
-
id: '1',
|
|
86
|
-
title: 'Use TypeScript',
|
|
87
|
-
description: 'Decided to use TypeScript',
|
|
88
|
-
rationale: 'Type safety',
|
|
89
|
-
alternatives: ['JavaScript'],
|
|
90
|
-
timestamp: new Date().toISOString(),
|
|
91
|
-
category: 'implementation'
|
|
92
|
-
}
|
|
93
|
-
]
|
|
94
|
-
});
|
|
95
|
-
expect(result.content).toContain('Design Decisions');
|
|
96
|
-
expect(result.content).toContain('Use TypeScript');
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe('tags', () => {
|
|
100
|
-
it('should include tags in log', async () => {
|
|
101
|
-
const result = await createSessionLog({
|
|
102
|
-
title: 'Test',
|
|
103
|
-
summary: 'Summary',
|
|
104
|
-
tags: ['react', 'typescript', 'api']
|
|
105
|
-
});
|
|
106
|
-
expect(result.sessionLog.tags).toContain('react');
|
|
107
|
-
expect(result.content).toContain('#react');
|
|
108
|
-
expect(result.content).toContain('#typescript');
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe('edge cases', () => {
|
|
112
|
-
it('should handle empty code contexts array', async () => {
|
|
113
|
-
const result = await createSessionLog({
|
|
114
|
-
title: 'Test',
|
|
115
|
-
summary: 'Summary',
|
|
116
|
-
codeContexts: []
|
|
117
|
-
});
|
|
118
|
-
expect(result.content).toBeDefined();
|
|
119
|
-
});
|
|
120
|
-
it('should handle empty design decisions array', async () => {
|
|
121
|
-
const result = await createSessionLog({
|
|
122
|
-
title: 'Test',
|
|
123
|
-
summary: 'Summary',
|
|
124
|
-
designDecisions: []
|
|
125
|
-
});
|
|
126
|
-
expect(result.content).toBeDefined();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
//# sourceMappingURL=createSessionLog.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSessionLog.test.js","sourceRoot":"","sources":["../../src/__tests__/createSessionLog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exportSession.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/exportSession.test.ts"],"names":[],"mappings":""}
|