@sumicom/quicksave 0.1.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/LICENSE +21 -0
- package/dist/ai/commitSummary.d.ts +26 -0
- package/dist/ai/commitSummary.d.ts.map +1 -0
- package/dist/ai/commitSummary.js +145 -0
- package/dist/ai/commitSummary.js.map +1 -0
- package/dist/config.d.ts +22 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +76 -0
- package/dist/config.js.map +1 -0
- package/dist/connection/connection.d.ts +54 -0
- package/dist/connection/connection.d.ts.map +1 -0
- package/dist/connection/connection.js +171 -0
- package/dist/connection/connection.js.map +1 -0
- package/dist/connection/signaling.d.ts +31 -0
- package/dist/connection/signaling.d.ts.map +1 -0
- package/dist/connection/signaling.js +144 -0
- package/dist/connection/signaling.js.map +1 -0
- package/dist/git/operations.d.ts +104 -0
- package/dist/git/operations.d.ts.map +1 -0
- package/dist/git/operations.js +383 -0
- package/dist/git/operations.js.map +1 -0
- package/dist/git/operations.test.d.ts +2 -0
- package/dist/git/operations.test.d.ts.map +1 -0
- package/dist/git/operations.test.js +232 -0
- package/dist/git/operations.test.js.map +1 -0
- package/dist/handlers/messageHandler.d.ts +33 -0
- package/dist/handlers/messageHandler.d.ts.map +1 -0
- package/dist/handlers/messageHandler.js +463 -0
- package/dist/handlers/messageHandler.js.map +1 -0
- package/dist/handlers/messageHandler.test.d.ts +2 -0
- package/dist/handlers/messageHandler.test.d.ts.map +1 -0
- package/dist/handlers/messageHandler.test.js +233 -0
- package/dist/handlers/messageHandler.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +127 -0
- package/dist/index.js.map +1 -0
- package/dist/webrtc/connection.d.ts +52 -0
- package/dist/webrtc/connection.d.ts.map +1 -0
- package/dist/webrtc/connection.js +255 -0
- package/dist/webrtc/connection.js.map +1 -0
- package/dist/webrtc/signaling.d.ts +41 -0
- package/dist/webrtc/signaling.d.ts.map +1 -0
- package/dist/webrtc/signaling.js +152 -0
- package/dist/webrtc/signaling.js.map +1 -0
- package/package.json +36 -0
- package/src/ai/commitSummary.ts +199 -0
- package/src/config.ts +97 -0
- package/src/connection/connection.ts +223 -0
- package/src/connection/signaling.ts +172 -0
- package/src/git/operations.test.ts +305 -0
- package/src/git/operations.ts +443 -0
- package/src/handlers/messageHandler.test.ts +294 -0
- package/src/handlers/messageHandler.ts +550 -0
- package/src/index.ts +151 -0
- package/src/types/webrtc.d.ts +38 -0
- package/tsconfig.json +13 -0
- package/vitest.config.ts +9 -0
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
import { createMessage, } from '@sumicom/quicksave-shared';
|
|
2
|
+
import { GitOperations } from '../git/operations.js';
|
|
3
|
+
import { getAnthropicApiKey, setAnthropicApiKey, hasAnthropicApiKey } from '../config.js';
|
|
4
|
+
import { CommitSummaryService } from '../ai/commitSummary.js';
|
|
5
|
+
import { readdir, stat } from 'fs/promises';
|
|
6
|
+
import { join, dirname, basename } from 'path';
|
|
7
|
+
import { homedir } from 'os';
|
|
8
|
+
export class MessageHandler {
|
|
9
|
+
repos;
|
|
10
|
+
agentVersion = '0.1.0';
|
|
11
|
+
currentRepoPath;
|
|
12
|
+
availableRepos;
|
|
13
|
+
aiService = null;
|
|
14
|
+
constructor(repos, _license) {
|
|
15
|
+
this.repos = new Map();
|
|
16
|
+
for (const repo of repos) {
|
|
17
|
+
this.repos.set(repo.path, new GitOperations(repo.path));
|
|
18
|
+
}
|
|
19
|
+
this.availableRepos = repos;
|
|
20
|
+
this.currentRepoPath = repos[0].path;
|
|
21
|
+
// License handling will be implemented later
|
|
22
|
+
}
|
|
23
|
+
get git() {
|
|
24
|
+
return this.repos.get(this.currentRepoPath);
|
|
25
|
+
}
|
|
26
|
+
getAiService() {
|
|
27
|
+
const apiKey = getAnthropicApiKey();
|
|
28
|
+
if (!apiKey)
|
|
29
|
+
return null;
|
|
30
|
+
// Create service lazily and reuse for caching
|
|
31
|
+
if (!this.aiService) {
|
|
32
|
+
this.aiService = new CommitSummaryService(apiKey);
|
|
33
|
+
}
|
|
34
|
+
return this.aiService;
|
|
35
|
+
}
|
|
36
|
+
async handleMessage(message) {
|
|
37
|
+
try {
|
|
38
|
+
switch (message.type) {
|
|
39
|
+
case 'handshake':
|
|
40
|
+
return this.handleHandshake(message);
|
|
41
|
+
case 'ping':
|
|
42
|
+
return createMessage('pong', { timestamp: Date.now() });
|
|
43
|
+
case 'git:status':
|
|
44
|
+
return this.handleStatus(message);
|
|
45
|
+
case 'git:diff':
|
|
46
|
+
return this.handleDiff(message);
|
|
47
|
+
case 'git:stage':
|
|
48
|
+
return this.handleStage(message);
|
|
49
|
+
case 'git:unstage':
|
|
50
|
+
return this.handleUnstage(message);
|
|
51
|
+
case 'git:stage-patch':
|
|
52
|
+
return this.handleStagePatch(message);
|
|
53
|
+
case 'git:unstage-patch':
|
|
54
|
+
return this.handleUnstagePatch(message);
|
|
55
|
+
case 'git:commit':
|
|
56
|
+
return this.handleCommit(message);
|
|
57
|
+
case 'git:log':
|
|
58
|
+
return this.handleLog(message);
|
|
59
|
+
case 'git:branches':
|
|
60
|
+
return this.handleBranches();
|
|
61
|
+
case 'git:checkout':
|
|
62
|
+
return this.handleCheckout(message);
|
|
63
|
+
case 'git:discard':
|
|
64
|
+
return this.handleDiscard(message);
|
|
65
|
+
case 'ai:generate-commit-summary':
|
|
66
|
+
return this.handleGenerateCommitSummary(message);
|
|
67
|
+
case 'ai:set-api-key':
|
|
68
|
+
return this.handleSetApiKey(message);
|
|
69
|
+
case 'ai:get-api-key-status':
|
|
70
|
+
return this.handleGetApiKeyStatus(message);
|
|
71
|
+
case 'agent:list-repos':
|
|
72
|
+
return this.handleListRepos(message);
|
|
73
|
+
case 'agent:switch-repo':
|
|
74
|
+
return this.handleSwitchRepo(message);
|
|
75
|
+
case 'agent:browse-directory':
|
|
76
|
+
return this.handleBrowseDirectory(message);
|
|
77
|
+
case 'agent:add-repo':
|
|
78
|
+
return this.handleAddRepo(message);
|
|
79
|
+
default:
|
|
80
|
+
return this.createErrorResponse(message.id, 'UNKNOWN_MESSAGE_TYPE', `Unknown message type: ${message.type}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
85
|
+
return this.createErrorResponse(message.id, 'HANDLER_ERROR', errorMessage);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
handleHandshake(message) {
|
|
89
|
+
const response = createMessage('handshake:ack', {
|
|
90
|
+
success: true,
|
|
91
|
+
agentVersion: this.agentVersion,
|
|
92
|
+
repoPath: this.currentRepoPath,
|
|
93
|
+
availableRepos: this.availableRepos,
|
|
94
|
+
});
|
|
95
|
+
response.id = message.id;
|
|
96
|
+
return response;
|
|
97
|
+
}
|
|
98
|
+
async handleStatus(message) {
|
|
99
|
+
const status = await this.git.getStatus();
|
|
100
|
+
const response = createMessage('git:status:response', status);
|
|
101
|
+
response.id = message.id;
|
|
102
|
+
return response;
|
|
103
|
+
}
|
|
104
|
+
async handleDiff(message) {
|
|
105
|
+
const { path, staged } = message.payload;
|
|
106
|
+
const diff = await this.git.getDiff(path, staged);
|
|
107
|
+
const response = createMessage('git:diff:response', diff);
|
|
108
|
+
response.id = message.id;
|
|
109
|
+
return response;
|
|
110
|
+
}
|
|
111
|
+
async handleStage(message) {
|
|
112
|
+
try {
|
|
113
|
+
await this.git.stage(message.payload.paths);
|
|
114
|
+
const response = createMessage('git:stage:response', { success: true });
|
|
115
|
+
response.id = message.id;
|
|
116
|
+
return response;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
const response = createMessage('git:stage:response', {
|
|
120
|
+
success: false,
|
|
121
|
+
error: error instanceof Error ? error.message : 'Failed to stage files',
|
|
122
|
+
});
|
|
123
|
+
response.id = message.id;
|
|
124
|
+
return response;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async handleUnstage(message) {
|
|
128
|
+
try {
|
|
129
|
+
await this.git.unstage(message.payload.paths);
|
|
130
|
+
const response = createMessage('git:unstage:response', { success: true });
|
|
131
|
+
response.id = message.id;
|
|
132
|
+
return response;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
const response = createMessage('git:unstage:response', {
|
|
136
|
+
success: false,
|
|
137
|
+
error: error instanceof Error ? error.message : 'Failed to unstage files',
|
|
138
|
+
});
|
|
139
|
+
response.id = message.id;
|
|
140
|
+
return response;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async handleStagePatch(message) {
|
|
144
|
+
try {
|
|
145
|
+
await this.git.stagePatch(message.payload.patch);
|
|
146
|
+
const response = createMessage('git:stage-patch:response', { success: true });
|
|
147
|
+
response.id = message.id;
|
|
148
|
+
return response;
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
const response = createMessage('git:stage-patch:response', {
|
|
152
|
+
success: false,
|
|
153
|
+
error: error instanceof Error ? error.message : 'Failed to stage patch',
|
|
154
|
+
});
|
|
155
|
+
response.id = message.id;
|
|
156
|
+
return response;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async handleUnstagePatch(message) {
|
|
160
|
+
try {
|
|
161
|
+
await this.git.unstagePatch(message.payload.patch);
|
|
162
|
+
const response = createMessage('git:unstage-patch:response', { success: true });
|
|
163
|
+
response.id = message.id;
|
|
164
|
+
return response;
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
const response = createMessage('git:unstage-patch:response', {
|
|
168
|
+
success: false,
|
|
169
|
+
error: error instanceof Error ? error.message : 'Failed to unstage patch',
|
|
170
|
+
});
|
|
171
|
+
response.id = message.id;
|
|
172
|
+
return response;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async handleCommit(message) {
|
|
176
|
+
try {
|
|
177
|
+
const { message: commitMessage, description } = message.payload;
|
|
178
|
+
const hash = await this.git.commit(commitMessage, description);
|
|
179
|
+
const response = createMessage('git:commit:response', {
|
|
180
|
+
success: true,
|
|
181
|
+
hash,
|
|
182
|
+
});
|
|
183
|
+
response.id = message.id;
|
|
184
|
+
return response;
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
const response = createMessage('git:commit:response', {
|
|
188
|
+
success: false,
|
|
189
|
+
error: error instanceof Error ? error.message : 'Failed to commit',
|
|
190
|
+
});
|
|
191
|
+
response.id = message.id;
|
|
192
|
+
return response;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async handleLog(message) {
|
|
196
|
+
const limit = message.payload.limit || 50;
|
|
197
|
+
const commits = await this.git.getLog(limit);
|
|
198
|
+
const response = createMessage('git:log:response', { commits });
|
|
199
|
+
response.id = message.id;
|
|
200
|
+
return response;
|
|
201
|
+
}
|
|
202
|
+
async handleBranches() {
|
|
203
|
+
const { branches, current } = await this.git.getBranches();
|
|
204
|
+
return createMessage('git:branches:response', {
|
|
205
|
+
branches,
|
|
206
|
+
current,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
async handleCheckout(message) {
|
|
210
|
+
try {
|
|
211
|
+
const { branch, create } = message.payload;
|
|
212
|
+
await this.git.checkout(branch, create);
|
|
213
|
+
const response = createMessage('git:checkout:response', { success: true });
|
|
214
|
+
response.id = message.id;
|
|
215
|
+
return response;
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
const response = createMessage('git:checkout:response', {
|
|
219
|
+
success: false,
|
|
220
|
+
error: error instanceof Error ? error.message : 'Failed to checkout',
|
|
221
|
+
});
|
|
222
|
+
response.id = message.id;
|
|
223
|
+
return response;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
async handleDiscard(message) {
|
|
227
|
+
try {
|
|
228
|
+
await this.git.discard(message.payload.paths);
|
|
229
|
+
const response = createMessage('git:discard:response', { success: true });
|
|
230
|
+
response.id = message.id;
|
|
231
|
+
return response;
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
const response = createMessage('git:discard:response', {
|
|
235
|
+
success: false,
|
|
236
|
+
error: error instanceof Error ? error.message : 'Failed to discard changes',
|
|
237
|
+
});
|
|
238
|
+
response.id = message.id;
|
|
239
|
+
return response;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
async handleGenerateCommitSummary(message) {
|
|
243
|
+
const aiService = this.getAiService();
|
|
244
|
+
if (!aiService) {
|
|
245
|
+
const response = createMessage('ai:generate-commit-summary:response', {
|
|
246
|
+
success: false,
|
|
247
|
+
error: 'Configure your API key in Settings',
|
|
248
|
+
errorCode: 'NO_API_KEY',
|
|
249
|
+
});
|
|
250
|
+
response.id = message.id;
|
|
251
|
+
return response;
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
const status = await this.git.getStatus();
|
|
255
|
+
if (status.staged.length === 0) {
|
|
256
|
+
const response = createMessage('ai:generate-commit-summary:response', {
|
|
257
|
+
success: false,
|
|
258
|
+
error: 'No staged changes to summarize',
|
|
259
|
+
errorCode: 'NO_STAGED_CHANGES',
|
|
260
|
+
});
|
|
261
|
+
response.id = message.id;
|
|
262
|
+
return response;
|
|
263
|
+
}
|
|
264
|
+
// Collect diffs for all staged files
|
|
265
|
+
const diffs = await Promise.all(status.staged.map((file) => this.git.getDiff(file.path, true)));
|
|
266
|
+
// Generate summary (uses internal queue and cache)
|
|
267
|
+
const result = await aiService.generateSummary({
|
|
268
|
+
diffs,
|
|
269
|
+
context: message.payload.context,
|
|
270
|
+
model: message.payload.model,
|
|
271
|
+
});
|
|
272
|
+
const response = createMessage('ai:generate-commit-summary:response', {
|
|
273
|
+
success: true,
|
|
274
|
+
summary: result.summary,
|
|
275
|
+
description: result.description,
|
|
276
|
+
tokenUsage: result.tokenUsage,
|
|
277
|
+
cached: result.cached,
|
|
278
|
+
});
|
|
279
|
+
response.id = message.id;
|
|
280
|
+
return response;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
const errorMessage = error instanceof Error ? error.message : 'Failed to generate summary';
|
|
284
|
+
const isRateLimit = errorMessage.includes('rate_limit');
|
|
285
|
+
const response = createMessage('ai:generate-commit-summary:response', {
|
|
286
|
+
success: false,
|
|
287
|
+
error: errorMessage,
|
|
288
|
+
errorCode: isRateLimit ? 'RATE_LIMITED' : 'API_ERROR',
|
|
289
|
+
});
|
|
290
|
+
response.id = message.id;
|
|
291
|
+
return response;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
handleSetApiKey(message) {
|
|
295
|
+
try {
|
|
296
|
+
setAnthropicApiKey(message.payload.apiKey);
|
|
297
|
+
const response = createMessage('ai:set-api-key:response', {
|
|
298
|
+
success: true,
|
|
299
|
+
});
|
|
300
|
+
response.id = message.id;
|
|
301
|
+
return response;
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
const response = createMessage('ai:set-api-key:response', {
|
|
305
|
+
success: false,
|
|
306
|
+
error: error instanceof Error ? error.message : 'Failed to save API key',
|
|
307
|
+
});
|
|
308
|
+
response.id = message.id;
|
|
309
|
+
return response;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
handleGetApiKeyStatus(message) {
|
|
313
|
+
const response = createMessage('ai:get-api-key-status:response', {
|
|
314
|
+
configured: hasAnthropicApiKey(),
|
|
315
|
+
});
|
|
316
|
+
response.id = message.id;
|
|
317
|
+
return response;
|
|
318
|
+
}
|
|
319
|
+
async handleListRepos(message) {
|
|
320
|
+
// Refresh branch info for all repos
|
|
321
|
+
const repos = [];
|
|
322
|
+
for (const repo of this.availableRepos) {
|
|
323
|
+
const git = this.repos.get(repo.path);
|
|
324
|
+
try {
|
|
325
|
+
const { current } = await git.getBranches();
|
|
326
|
+
repos.push({ ...repo, currentBranch: current });
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
repos.push(repo);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
const response = createMessage('agent:list-repos:response', {
|
|
333
|
+
repos,
|
|
334
|
+
current: this.currentRepoPath,
|
|
335
|
+
});
|
|
336
|
+
response.id = message.id;
|
|
337
|
+
return response;
|
|
338
|
+
}
|
|
339
|
+
handleSwitchRepo(message) {
|
|
340
|
+
const { path } = message.payload;
|
|
341
|
+
// Check if the requested repo is in our available repos
|
|
342
|
+
if (!this.repos.has(path)) {
|
|
343
|
+
const response = createMessage('agent:switch-repo:response', {
|
|
344
|
+
success: false,
|
|
345
|
+
newPath: this.currentRepoPath,
|
|
346
|
+
error: `Repository not available: ${path}`,
|
|
347
|
+
});
|
|
348
|
+
response.id = message.id;
|
|
349
|
+
return response;
|
|
350
|
+
}
|
|
351
|
+
this.currentRepoPath = path;
|
|
352
|
+
const response = createMessage('agent:switch-repo:response', {
|
|
353
|
+
success: true,
|
|
354
|
+
newPath: path,
|
|
355
|
+
});
|
|
356
|
+
response.id = message.id;
|
|
357
|
+
return response;
|
|
358
|
+
}
|
|
359
|
+
async handleBrowseDirectory(message) {
|
|
360
|
+
const requestedPath = message.payload.path || homedir();
|
|
361
|
+
try {
|
|
362
|
+
const entries = [];
|
|
363
|
+
const dirEntries = await readdir(requestedPath, { withFileTypes: true });
|
|
364
|
+
for (const entry of dirEntries) {
|
|
365
|
+
// Skip hidden files/folders (starting with .)
|
|
366
|
+
if (entry.name.startsWith('.'))
|
|
367
|
+
continue;
|
|
368
|
+
const fullPath = join(requestedPath, entry.name);
|
|
369
|
+
const isDirectory = entry.isDirectory();
|
|
370
|
+
// Check if it's a git repo (has .git folder)
|
|
371
|
+
let isGitRepo = false;
|
|
372
|
+
if (isDirectory) {
|
|
373
|
+
try {
|
|
374
|
+
const gitPath = join(fullPath, '.git');
|
|
375
|
+
const gitStat = await stat(gitPath);
|
|
376
|
+
isGitRepo = gitStat.isDirectory();
|
|
377
|
+
}
|
|
378
|
+
catch {
|
|
379
|
+
// Not a git repo
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
entries.push({
|
|
383
|
+
name: entry.name,
|
|
384
|
+
path: fullPath,
|
|
385
|
+
isDirectory,
|
|
386
|
+
isGitRepo,
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
// Sort: directories first, then alphabetically
|
|
390
|
+
entries.sort((a, b) => {
|
|
391
|
+
if (a.isDirectory && !b.isDirectory)
|
|
392
|
+
return -1;
|
|
393
|
+
if (!a.isDirectory && b.isDirectory)
|
|
394
|
+
return 1;
|
|
395
|
+
return a.name.localeCompare(b.name);
|
|
396
|
+
});
|
|
397
|
+
// Calculate parent path
|
|
398
|
+
const parentPath = requestedPath === '/' ? null : dirname(requestedPath);
|
|
399
|
+
const response = createMessage('agent:browse-directory:response', {
|
|
400
|
+
path: requestedPath,
|
|
401
|
+
parentPath,
|
|
402
|
+
entries,
|
|
403
|
+
});
|
|
404
|
+
response.id = message.id;
|
|
405
|
+
return response;
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
const response = createMessage('agent:browse-directory:response', {
|
|
409
|
+
path: requestedPath,
|
|
410
|
+
parentPath: dirname(requestedPath),
|
|
411
|
+
entries: [],
|
|
412
|
+
error: error instanceof Error ? error.message : 'Failed to read directory',
|
|
413
|
+
});
|
|
414
|
+
response.id = message.id;
|
|
415
|
+
return response;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
async handleAddRepo(message) {
|
|
419
|
+
const { path: repoPath } = message.payload;
|
|
420
|
+
// Check if already added
|
|
421
|
+
if (this.repos.has(repoPath)) {
|
|
422
|
+
const response = createMessage('agent:add-repo:response', {
|
|
423
|
+
success: false,
|
|
424
|
+
error: 'Repository already added',
|
|
425
|
+
});
|
|
426
|
+
response.id = message.id;
|
|
427
|
+
return response;
|
|
428
|
+
}
|
|
429
|
+
try {
|
|
430
|
+
// Verify it's a git repo by trying to get branches
|
|
431
|
+
const git = new GitOperations(repoPath);
|
|
432
|
+
const { current } = await git.getBranches();
|
|
433
|
+
// Add to our maps
|
|
434
|
+
this.repos.set(repoPath, git);
|
|
435
|
+
const newRepo = {
|
|
436
|
+
path: repoPath,
|
|
437
|
+
name: basename(repoPath),
|
|
438
|
+
currentBranch: current,
|
|
439
|
+
};
|
|
440
|
+
this.availableRepos.push(newRepo);
|
|
441
|
+
const response = createMessage('agent:add-repo:response', {
|
|
442
|
+
success: true,
|
|
443
|
+
repo: newRepo,
|
|
444
|
+
});
|
|
445
|
+
response.id = message.id;
|
|
446
|
+
return response;
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
const response = createMessage('agent:add-repo:response', {
|
|
450
|
+
success: false,
|
|
451
|
+
error: error instanceof Error ? error.message : 'Failed to add repository',
|
|
452
|
+
});
|
|
453
|
+
response.id = message.id;
|
|
454
|
+
return response;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
createErrorResponse(id, code, message) {
|
|
458
|
+
const response = createMessage('error', { code, message });
|
|
459
|
+
response.id = id;
|
|
460
|
+
return response;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=messageHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/handlers/messageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageHandler.test.d.ts","sourceRoot":"","sources":["../../src/handlers/messageHandler.test.ts"],"names":[],"mappings":""}
|