vibe-coding-mcp 2.12.0 → 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 +11 -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
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { projectProfileTool } from '../tools/projectProfile.js';
|
|
2
|
-
import * as profileStorage from '../core/profileStorage.js';
|
|
3
|
-
import { promises as fs } from 'fs';
|
|
4
|
-
import * as path from 'path';
|
|
5
|
-
import * as os from 'os';
|
|
6
|
-
let testDir;
|
|
7
|
-
beforeAll(async () => {
|
|
8
|
-
testDir = path.join(os.tmpdir(), `vibe-coding-profile-test-${Date.now()}`);
|
|
9
|
-
await profileStorage.initializeProfileStorage(testDir);
|
|
10
|
-
});
|
|
11
|
-
afterAll(async () => {
|
|
12
|
-
try {
|
|
13
|
-
const files = await fs.readdir(testDir);
|
|
14
|
-
for (const file of files) {
|
|
15
|
-
await fs.unlink(path.join(testDir, file));
|
|
16
|
-
}
|
|
17
|
-
await fs.rmdir(testDir);
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
// Ignore cleanup errors
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
describe('projectProfileTool', () => {
|
|
24
|
-
let createdProfileId;
|
|
25
|
-
describe('create action', () => {
|
|
26
|
-
it('should create a new profile', async () => {
|
|
27
|
-
const result = await projectProfileTool({
|
|
28
|
-
action: 'create',
|
|
29
|
-
name: 'Test Project',
|
|
30
|
-
description: 'A test project profile',
|
|
31
|
-
projectPath: '/path/to/project',
|
|
32
|
-
repository: 'https://github.com/test/repo',
|
|
33
|
-
version: '1.0.0',
|
|
34
|
-
publishing: {
|
|
35
|
-
defaultPlatform: 'notion',
|
|
36
|
-
autoPublish: false
|
|
37
|
-
},
|
|
38
|
-
codeAnalysis: {
|
|
39
|
-
defaultLanguage: 'typescript',
|
|
40
|
-
defaultDiagramTypes: ['class', 'flowchart'],
|
|
41
|
-
useAI: true
|
|
42
|
-
},
|
|
43
|
-
documentation: {
|
|
44
|
-
defaultDocType: 'README',
|
|
45
|
-
language: 'en',
|
|
46
|
-
author: 'Test Author'
|
|
47
|
-
},
|
|
48
|
-
defaultTags: ['project', 'test']
|
|
49
|
-
});
|
|
50
|
-
expect(result.success).toBe(true);
|
|
51
|
-
expect(result.action).toBe('create');
|
|
52
|
-
expect(result.profile).toBeDefined();
|
|
53
|
-
expect(result.profile?.name).toBe('Test Project');
|
|
54
|
-
expect(result.profile?.publishing?.defaultPlatform).toBe('notion');
|
|
55
|
-
createdProfileId = result.profile.id;
|
|
56
|
-
});
|
|
57
|
-
it('should fail without name', async () => {
|
|
58
|
-
const result = await projectProfileTool({
|
|
59
|
-
action: 'create'
|
|
60
|
-
});
|
|
61
|
-
expect(result.success).toBe(false);
|
|
62
|
-
expect(result.error).toContain('name');
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe('get action', () => {
|
|
66
|
-
it('should retrieve profile by ID', async () => {
|
|
67
|
-
const result = await projectProfileTool({
|
|
68
|
-
action: 'get',
|
|
69
|
-
profileId: createdProfileId
|
|
70
|
-
});
|
|
71
|
-
expect(result.success).toBe(true);
|
|
72
|
-
expect(result.profile?.name).toBe('Test Project');
|
|
73
|
-
});
|
|
74
|
-
it('should retrieve profile by name', async () => {
|
|
75
|
-
const result = await projectProfileTool({
|
|
76
|
-
action: 'get',
|
|
77
|
-
name: 'Test Project'
|
|
78
|
-
});
|
|
79
|
-
expect(result.success).toBe(true);
|
|
80
|
-
expect(result.profile?.id).toBe(createdProfileId);
|
|
81
|
-
});
|
|
82
|
-
it('should fail for non-existent profile', async () => {
|
|
83
|
-
const result = await projectProfileTool({
|
|
84
|
-
action: 'get',
|
|
85
|
-
profileId: 'non-existent'
|
|
86
|
-
});
|
|
87
|
-
expect(result.success).toBe(false);
|
|
88
|
-
expect(result.error).toContain('not found');
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe('update action', () => {
|
|
92
|
-
it('should update profile settings', async () => {
|
|
93
|
-
const result = await projectProfileTool({
|
|
94
|
-
action: 'update',
|
|
95
|
-
profileId: createdProfileId,
|
|
96
|
-
version: '2.0.0',
|
|
97
|
-
documentation: {
|
|
98
|
-
language: 'ko',
|
|
99
|
-
includeTableOfContents: true
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
expect(result.success).toBe(true);
|
|
103
|
-
expect(result.profile?.version).toBe('2.0.0');
|
|
104
|
-
expect(result.profile?.documentation?.language).toBe('ko');
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('list action', () => {
|
|
108
|
-
beforeAll(async () => {
|
|
109
|
-
await projectProfileTool({
|
|
110
|
-
action: 'create',
|
|
111
|
-
name: 'Second Project',
|
|
112
|
-
description: 'Another project'
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
it('should list all profiles', async () => {
|
|
116
|
-
const result = await projectProfileTool({
|
|
117
|
-
action: 'list'
|
|
118
|
-
});
|
|
119
|
-
expect(result.success).toBe(true);
|
|
120
|
-
expect(result.profiles?.length).toBeGreaterThanOrEqual(2);
|
|
121
|
-
expect(result.total).toBeGreaterThanOrEqual(2);
|
|
122
|
-
});
|
|
123
|
-
it('should support pagination', async () => {
|
|
124
|
-
const result = await projectProfileTool({
|
|
125
|
-
action: 'list',
|
|
126
|
-
limit: 1,
|
|
127
|
-
offset: 0
|
|
128
|
-
});
|
|
129
|
-
expect(result.success).toBe(true);
|
|
130
|
-
expect(result.profiles?.length).toBe(1);
|
|
131
|
-
});
|
|
132
|
-
it('should support sorting', async () => {
|
|
133
|
-
const result = await projectProfileTool({
|
|
134
|
-
action: 'list',
|
|
135
|
-
sortBy: 'name',
|
|
136
|
-
sortOrder: 'asc'
|
|
137
|
-
});
|
|
138
|
-
expect(result.success).toBe(true);
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
describe('setActive and getActive actions', () => {
|
|
142
|
-
it('should set active profile', async () => {
|
|
143
|
-
const result = await projectProfileTool({
|
|
144
|
-
action: 'setActive',
|
|
145
|
-
profileId: createdProfileId
|
|
146
|
-
});
|
|
147
|
-
expect(result.success).toBe(true);
|
|
148
|
-
});
|
|
149
|
-
it('should get active profile', async () => {
|
|
150
|
-
const result = await projectProfileTool({
|
|
151
|
-
action: 'getActive'
|
|
152
|
-
});
|
|
153
|
-
expect(result.success).toBe(true);
|
|
154
|
-
expect(result.profile?.id).toBe(createdProfileId);
|
|
155
|
-
});
|
|
156
|
-
it('should clear active profile', async () => {
|
|
157
|
-
await projectProfileTool({
|
|
158
|
-
action: 'setActive',
|
|
159
|
-
profileId: undefined
|
|
160
|
-
});
|
|
161
|
-
const result = await projectProfileTool({
|
|
162
|
-
action: 'getActive'
|
|
163
|
-
});
|
|
164
|
-
expect(result.success).toBe(true);
|
|
165
|
-
expect(result.profile).toBeUndefined();
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
describe('clone action', () => {
|
|
169
|
-
it('should clone a profile', async () => {
|
|
170
|
-
const result = await projectProfileTool({
|
|
171
|
-
action: 'clone',
|
|
172
|
-
profileId: createdProfileId,
|
|
173
|
-
newName: 'Cloned Project'
|
|
174
|
-
});
|
|
175
|
-
expect(result.success).toBe(true);
|
|
176
|
-
expect(result.profile?.name).toBe('Cloned Project');
|
|
177
|
-
expect(result.profile?.id).not.toBe(createdProfileId);
|
|
178
|
-
});
|
|
179
|
-
it('should fail without newName', async () => {
|
|
180
|
-
const result = await projectProfileTool({
|
|
181
|
-
action: 'clone',
|
|
182
|
-
profileId: createdProfileId
|
|
183
|
-
});
|
|
184
|
-
expect(result.success).toBe(false);
|
|
185
|
-
expect(result.error).toContain('newName');
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
describe('delete action', () => {
|
|
189
|
-
it('should delete a profile', async () => {
|
|
190
|
-
// 삭제할 프로파일 생성
|
|
191
|
-
const createResult = await projectProfileTool({
|
|
192
|
-
action: 'create',
|
|
193
|
-
name: 'To Delete'
|
|
194
|
-
});
|
|
195
|
-
const deleteResult = await projectProfileTool({
|
|
196
|
-
action: 'delete',
|
|
197
|
-
profileId: createResult.profile.id
|
|
198
|
-
});
|
|
199
|
-
expect(deleteResult.success).toBe(true);
|
|
200
|
-
// 삭제 확인
|
|
201
|
-
const getResult = await projectProfileTool({
|
|
202
|
-
action: 'get',
|
|
203
|
-
profileId: createResult.profile.id
|
|
204
|
-
});
|
|
205
|
-
expect(getResult.success).toBe(false);
|
|
206
|
-
});
|
|
207
|
-
it('should fail for non-existent profile', async () => {
|
|
208
|
-
const result = await projectProfileTool({
|
|
209
|
-
action: 'delete',
|
|
210
|
-
profileId: 'non-existent'
|
|
211
|
-
});
|
|
212
|
-
expect(result.success).toBe(false);
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
//# sourceMappingURL=projectProfile.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projectProfile.test.js","sourceRoot":"","sources":["../../src/__tests__/projectProfile.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishDocument.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/publishDocument.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { publishDocument } from '../tools/publishDocument.js';
|
|
2
|
-
describe('publishDocument', () => {
|
|
3
|
-
const sampleDocument = `# Test Document
|
|
4
|
-
|
|
5
|
-
This is a test document for publishing.
|
|
6
|
-
|
|
7
|
-
## Features
|
|
8
|
-
- Feature 1
|
|
9
|
-
- Feature 2
|
|
10
|
-
`;
|
|
11
|
-
describe('Notion publishing', () => {
|
|
12
|
-
it('should return result for Notion platform', async () => {
|
|
13
|
-
const result = await publishDocument({
|
|
14
|
-
document: sampleDocument,
|
|
15
|
-
title: 'Test Doc',
|
|
16
|
-
platform: 'notion'
|
|
17
|
-
});
|
|
18
|
-
expect(result.result).toBeDefined();
|
|
19
|
-
expect(result.result.platform).toBe('notion');
|
|
20
|
-
});
|
|
21
|
-
it('should handle missing Notion API key gracefully', async () => {
|
|
22
|
-
const result = await publishDocument({
|
|
23
|
-
document: sampleDocument,
|
|
24
|
-
title: 'Test Doc',
|
|
25
|
-
platform: 'notion'
|
|
26
|
-
});
|
|
27
|
-
expect(result.result).toBeDefined();
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('GitHub Wiki publishing', () => {
|
|
31
|
-
it('should return result for GitHub Wiki platform', async () => {
|
|
32
|
-
const result = await publishDocument({
|
|
33
|
-
document: sampleDocument,
|
|
34
|
-
title: 'Test Doc',
|
|
35
|
-
platform: 'github-wiki'
|
|
36
|
-
});
|
|
37
|
-
expect(result.result).toBeDefined();
|
|
38
|
-
expect(result.result.platform).toBe('github-wiki');
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
describe('Obsidian publishing', () => {
|
|
42
|
-
it('should return result for Obsidian platform', async () => {
|
|
43
|
-
const result = await publishDocument({
|
|
44
|
-
document: sampleDocument,
|
|
45
|
-
title: 'Test Doc',
|
|
46
|
-
platform: 'obsidian'
|
|
47
|
-
});
|
|
48
|
-
expect(result.result).toBeDefined();
|
|
49
|
-
expect(result.result.platform).toBe('obsidian');
|
|
50
|
-
});
|
|
51
|
-
it('should work with vault path option', async () => {
|
|
52
|
-
const result = await publishDocument({
|
|
53
|
-
document: sampleDocument,
|
|
54
|
-
title: 'Test Doc',
|
|
55
|
-
platform: 'obsidian',
|
|
56
|
-
options: {
|
|
57
|
-
vaultPath: '/path/to/vault'
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
expect(result.result).toBeDefined();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
describe('output format', () => {
|
|
64
|
-
it('should include platform in result', async () => {
|
|
65
|
-
const result = await publishDocument({
|
|
66
|
-
document: sampleDocument,
|
|
67
|
-
title: 'Test',
|
|
68
|
-
platform: 'notion'
|
|
69
|
-
});
|
|
70
|
-
expect(result.result.platform).toBe('notion');
|
|
71
|
-
});
|
|
72
|
-
it('should include success status', async () => {
|
|
73
|
-
const result = await publishDocument({
|
|
74
|
-
document: sampleDocument,
|
|
75
|
-
title: 'Test',
|
|
76
|
-
platform: 'obsidian'
|
|
77
|
-
});
|
|
78
|
-
expect(typeof result.result.success).toBe('boolean');
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
describe('error handling', () => {
|
|
82
|
-
it('should handle unsupported platform', async () => {
|
|
83
|
-
const result = await publishDocument({
|
|
84
|
-
document: sampleDocument,
|
|
85
|
-
title: 'Test',
|
|
86
|
-
platform: 'unknown-platform'
|
|
87
|
-
});
|
|
88
|
-
expect(result.result.success).toBe(false);
|
|
89
|
-
expect(result.result.error).toContain('Unsupported platform');
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=publishDocument.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishDocument.test.js","sourceRoot":"","sources":["../../src/__tests__/publishDocument.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionHistory.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/sessionHistory.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { sessionHistoryTool } from '../tools/sessionHistory.js';
|
|
2
|
-
import * as sessionStorage from '../core/sessionStorage.js';
|
|
3
|
-
import { promises as fs } from 'fs';
|
|
4
|
-
import * as path from 'path';
|
|
5
|
-
import * as os from 'os';
|
|
6
|
-
// Create a temp directory for tests
|
|
7
|
-
let testDir;
|
|
8
|
-
beforeAll(async () => {
|
|
9
|
-
testDir = path.join(os.tmpdir(), `vibe-coding-test-${Date.now()}`);
|
|
10
|
-
await sessionStorage.initializeStorage(testDir);
|
|
11
|
-
});
|
|
12
|
-
afterAll(async () => {
|
|
13
|
-
// Clean up test directory
|
|
14
|
-
try {
|
|
15
|
-
const files = await fs.readdir(testDir);
|
|
16
|
-
for (const file of files) {
|
|
17
|
-
await fs.unlink(path.join(testDir, file));
|
|
18
|
-
}
|
|
19
|
-
await fs.rmdir(testDir);
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
// Ignore cleanup errors
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
describe('sessionHistoryTool', () => {
|
|
26
|
-
let savedSessionId;
|
|
27
|
-
describe('save action', () => {
|
|
28
|
-
it('should save a new session', async () => {
|
|
29
|
-
const result = await sessionHistoryTool({
|
|
30
|
-
action: 'save',
|
|
31
|
-
title: 'Test Session',
|
|
32
|
-
summary: 'This is a test session',
|
|
33
|
-
tags: ['test', 'example'],
|
|
34
|
-
codeContexts: [
|
|
35
|
-
{
|
|
36
|
-
sessionId: 'ctx-1',
|
|
37
|
-
timestamp: new Date().toISOString(),
|
|
38
|
-
codeBlocks: [{ language: 'typescript', code: 'const x = 1;' }],
|
|
39
|
-
conversationSummary: 'Test context'
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
designDecisions: [
|
|
43
|
-
{
|
|
44
|
-
id: 'dd-1',
|
|
45
|
-
title: 'Use TypeScript',
|
|
46
|
-
description: 'Chose TypeScript for type safety',
|
|
47
|
-
rationale: 'Better maintainability',
|
|
48
|
-
category: 'implementation',
|
|
49
|
-
timestamp: new Date().toISOString()
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
});
|
|
53
|
-
expect(result.success).toBe(true);
|
|
54
|
-
expect(result.action).toBe('save');
|
|
55
|
-
expect(result.session).toBeDefined();
|
|
56
|
-
expect(result.session?.title).toBe('Test Session');
|
|
57
|
-
expect(result.session?.id).toMatch(/^session_/);
|
|
58
|
-
savedSessionId = result.session.id;
|
|
59
|
-
});
|
|
60
|
-
it('should fail without required fields', async () => {
|
|
61
|
-
const result = await sessionHistoryTool({
|
|
62
|
-
action: 'save',
|
|
63
|
-
title: 'Only Title'
|
|
64
|
-
// missing summary
|
|
65
|
-
});
|
|
66
|
-
expect(result.success).toBe(false);
|
|
67
|
-
expect(result.error).toContain('summary');
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
describe('get action', () => {
|
|
71
|
-
it('should retrieve a session by ID', async () => {
|
|
72
|
-
const result = await sessionHistoryTool({
|
|
73
|
-
action: 'get',
|
|
74
|
-
sessionId: savedSessionId
|
|
75
|
-
});
|
|
76
|
-
expect(result.success).toBe(true);
|
|
77
|
-
expect(result.session?.title).toBe('Test Session');
|
|
78
|
-
expect(result.session?.tags).toContain('test');
|
|
79
|
-
});
|
|
80
|
-
it('should fail for non-existent session', async () => {
|
|
81
|
-
const result = await sessionHistoryTool({
|
|
82
|
-
action: 'get',
|
|
83
|
-
sessionId: 'non-existent-id'
|
|
84
|
-
});
|
|
85
|
-
expect(result.success).toBe(false);
|
|
86
|
-
expect(result.error).toContain('not found');
|
|
87
|
-
});
|
|
88
|
-
it('should fail without sessionId', async () => {
|
|
89
|
-
const result = await sessionHistoryTool({
|
|
90
|
-
action: 'get'
|
|
91
|
-
});
|
|
92
|
-
expect(result.success).toBe(false);
|
|
93
|
-
expect(result.error).toContain('sessionId');
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
describe('update action', () => {
|
|
97
|
-
it('should update an existing session', async () => {
|
|
98
|
-
const result = await sessionHistoryTool({
|
|
99
|
-
action: 'update',
|
|
100
|
-
sessionId: savedSessionId,
|
|
101
|
-
title: 'Updated Test Session',
|
|
102
|
-
tags: ['test', 'updated']
|
|
103
|
-
});
|
|
104
|
-
expect(result.success).toBe(true);
|
|
105
|
-
expect(result.session?.title).toBe('Updated Test Session');
|
|
106
|
-
expect(result.session?.tags).toContain('updated');
|
|
107
|
-
});
|
|
108
|
-
it('should fail for non-existent session', async () => {
|
|
109
|
-
const result = await sessionHistoryTool({
|
|
110
|
-
action: 'update',
|
|
111
|
-
sessionId: 'non-existent-id',
|
|
112
|
-
title: 'New Title'
|
|
113
|
-
});
|
|
114
|
-
expect(result.success).toBe(false);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('list action', () => {
|
|
118
|
-
beforeAll(async () => {
|
|
119
|
-
// Add more sessions for list testing
|
|
120
|
-
await sessionHistoryTool({
|
|
121
|
-
action: 'save',
|
|
122
|
-
title: 'Session 2',
|
|
123
|
-
summary: 'Second session',
|
|
124
|
-
tags: ['second']
|
|
125
|
-
});
|
|
126
|
-
await sessionHistoryTool({
|
|
127
|
-
action: 'save',
|
|
128
|
-
title: 'Session 3',
|
|
129
|
-
summary: 'Third session with special',
|
|
130
|
-
tags: ['third', 'special']
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
it('should list all sessions', async () => {
|
|
134
|
-
const result = await sessionHistoryTool({
|
|
135
|
-
action: 'list'
|
|
136
|
-
});
|
|
137
|
-
expect(result.success).toBe(true);
|
|
138
|
-
expect(result.sessions).toBeDefined();
|
|
139
|
-
expect(result.total).toBeGreaterThanOrEqual(3);
|
|
140
|
-
});
|
|
141
|
-
it('should filter by tags', async () => {
|
|
142
|
-
const result = await sessionHistoryTool({
|
|
143
|
-
action: 'list',
|
|
144
|
-
filterTags: ['special']
|
|
145
|
-
});
|
|
146
|
-
expect(result.success).toBe(true);
|
|
147
|
-
expect(result.sessions?.length).toBe(1);
|
|
148
|
-
expect(result.sessions?.[0].tags).toContain('special');
|
|
149
|
-
});
|
|
150
|
-
it('should support pagination', async () => {
|
|
151
|
-
const result = await sessionHistoryTool({
|
|
152
|
-
action: 'list',
|
|
153
|
-
limit: 2,
|
|
154
|
-
offset: 0
|
|
155
|
-
});
|
|
156
|
-
expect(result.success).toBe(true);
|
|
157
|
-
expect(result.sessions?.length).toBeLessThanOrEqual(2);
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
describe('search action', () => {
|
|
161
|
-
it('should search sessions by keyword in title', async () => {
|
|
162
|
-
const result = await sessionHistoryTool({
|
|
163
|
-
action: 'search',
|
|
164
|
-
keyword: 'Updated',
|
|
165
|
-
searchIn: ['title']
|
|
166
|
-
});
|
|
167
|
-
expect(result.success).toBe(true);
|
|
168
|
-
expect(result.sessions?.length).toBeGreaterThanOrEqual(1);
|
|
169
|
-
});
|
|
170
|
-
it('should search sessions by keyword in summary', async () => {
|
|
171
|
-
const result = await sessionHistoryTool({
|
|
172
|
-
action: 'search',
|
|
173
|
-
keyword: 'special',
|
|
174
|
-
searchIn: ['summary']
|
|
175
|
-
});
|
|
176
|
-
expect(result.success).toBe(true);
|
|
177
|
-
expect(result.sessions?.length).toBeGreaterThanOrEqual(1);
|
|
178
|
-
});
|
|
179
|
-
it('should fail without keyword', async () => {
|
|
180
|
-
const result = await sessionHistoryTool({
|
|
181
|
-
action: 'search'
|
|
182
|
-
});
|
|
183
|
-
expect(result.success).toBe(false);
|
|
184
|
-
expect(result.error).toContain('keyword');
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
describe('stats action', () => {
|
|
188
|
-
it('should return storage statistics', async () => {
|
|
189
|
-
const result = await sessionHistoryTool({
|
|
190
|
-
action: 'stats'
|
|
191
|
-
});
|
|
192
|
-
expect(result.success).toBe(true);
|
|
193
|
-
expect(result.stats).toBeDefined();
|
|
194
|
-
expect(result.stats?.totalSessions).toBeGreaterThanOrEqual(3);
|
|
195
|
-
expect(result.stats?.storageDir).toBe(testDir);
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
describe('delete action', () => {
|
|
199
|
-
it('should delete a session', async () => {
|
|
200
|
-
// First save a session to delete
|
|
201
|
-
const saveResult = await sessionHistoryTool({
|
|
202
|
-
action: 'save',
|
|
203
|
-
title: 'To Delete',
|
|
204
|
-
summary: 'This will be deleted'
|
|
205
|
-
});
|
|
206
|
-
const deleteResult = await sessionHistoryTool({
|
|
207
|
-
action: 'delete',
|
|
208
|
-
sessionId: saveResult.session.id
|
|
209
|
-
});
|
|
210
|
-
expect(deleteResult.success).toBe(true);
|
|
211
|
-
// Verify it's deleted
|
|
212
|
-
const getResult = await sessionHistoryTool({
|
|
213
|
-
action: 'get',
|
|
214
|
-
sessionId: saveResult.session.id
|
|
215
|
-
});
|
|
216
|
-
expect(getResult.success).toBe(false);
|
|
217
|
-
expect(getResult.error).toContain('not found');
|
|
218
|
-
});
|
|
219
|
-
it('should fail for non-existent session', async () => {
|
|
220
|
-
const result = await sessionHistoryTool({
|
|
221
|
-
action: 'delete',
|
|
222
|
-
sessionId: 'non-existent-id'
|
|
223
|
-
});
|
|
224
|
-
expect(result.success).toBe(false);
|
|
225
|
-
expect(result.error).toContain('not found');
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
//# sourceMappingURL=sessionHistory.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionHistory.test.js","sourceRoot":"","sources":["../../src/__tests__/sessionHistory.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,oCAAoC;AACpC,IAAI,OAAe,CAAC;AAEpB,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,cAAsB,CAAC;IAE3B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,wBAAwB;gBACjC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;gBACzB,YAAY,EAAE;oBACZ;wBACE,SAAS,EAAE,OAAO;wBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;wBAC9D,mBAAmB,EAAE,cAAc;qBACpC;iBACF;gBACD,eAAe,EAAE;oBACf;wBACE,EAAE,EAAE,MAAM;wBACV,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EAAE,kCAAkC;wBAC/C,SAAS,EAAE,wBAAwB;wBACnC,QAAQ,EAAE,gBAAgB;wBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEhD,cAAc,GAAG,MAAM,CAAC,OAAQ,CAAC,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,YAAY;gBACnB,kBAAkB;aACnB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC1B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,iBAAiB;gBAC5B,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,qCAAqC;YACrC,MAAM,kBAAkB,CAAC;gBACvB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB,CAAC,CAAC;YACH,MAAM,kBAAkB,CAAC;gBACvB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,4BAA4B;gBACrC,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,CAAC,SAAS,CAAC;aACxB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,iCAAiC;YACjC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;gBAC1C,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;gBAC5C,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,UAAU,CAAC,OAAQ,CAAC,EAAE;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExC,sBAAsB;YACtB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC;gBACzC,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,UAAU,CAAC,OAAQ,CAAC,EAAE;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summarizeDesignDecisions.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/summarizeDesignDecisions.test.ts"],"names":[],"mappings":""}
|