@burdenoff/vibe-agent 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +14 -14
  2. package/dist/app.d.ts +4 -4
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +144 -130
  5. package/dist/app.js.map +1 -1
  6. package/dist/cli.d.ts +1 -1
  7. package/dist/cli.js +342 -332
  8. package/dist/cli.js.map +1 -1
  9. package/dist/db/schema.d.ts +15 -15
  10. package/dist/db/schema.d.ts.map +1 -1
  11. package/dist/db/schema.js +65 -62
  12. package/dist/db/schema.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.js +18 -18
  15. package/dist/index.js.map +1 -1
  16. package/dist/middleware/ModuleAuth.d.ts +2 -2
  17. package/dist/middleware/ModuleAuth.d.ts.map +1 -1
  18. package/dist/middleware/ModuleAuth.js +32 -29
  19. package/dist/middleware/ModuleAuth.js.map +1 -1
  20. package/dist/middleware/auth.d.ts +1 -1
  21. package/dist/middleware/auth.d.ts.map +1 -1
  22. package/dist/middleware/auth.js +4 -4
  23. package/dist/middleware/auth.js.map +1 -1
  24. package/dist/migrations/remove-notes-prompts.d.ts.map +1 -1
  25. package/dist/migrations/remove-notes-prompts.js +26 -26
  26. package/dist/migrations/remove-notes-prompts.js.map +1 -1
  27. package/dist/routes/bookmarks.d.ts +1 -1
  28. package/dist/routes/bookmarks.d.ts.map +1 -1
  29. package/dist/routes/bookmarks.js +53 -44
  30. package/dist/routes/bookmarks.js.map +1 -1
  31. package/dist/routes/config.d.ts +1 -1
  32. package/dist/routes/config.d.ts.map +1 -1
  33. package/dist/routes/config.js +29 -27
  34. package/dist/routes/config.js.map +1 -1
  35. package/dist/routes/files.d.ts +1 -1
  36. package/dist/routes/files.d.ts.map +1 -1
  37. package/dist/routes/files.js +175 -134
  38. package/dist/routes/files.js.map +1 -1
  39. package/dist/routes/git.d.ts +1 -1
  40. package/dist/routes/git.d.ts.map +1 -1
  41. package/dist/routes/git.js +183 -169
  42. package/dist/routes/git.js.map +1 -1
  43. package/dist/routes/moduleRegistry.d.ts +3 -3
  44. package/dist/routes/moduleRegistry.d.ts.map +1 -1
  45. package/dist/routes/moduleRegistry.js +58 -58
  46. package/dist/routes/moduleRegistry.js.map +1 -1
  47. package/dist/routes/notifications.d.ts +1 -1
  48. package/dist/routes/notifications.d.ts.map +1 -1
  49. package/dist/routes/notifications.js +69 -64
  50. package/dist/routes/notifications.js.map +1 -1
  51. package/dist/routes/port-forward.d.ts +1 -1
  52. package/dist/routes/port-forward.d.ts.map +1 -1
  53. package/dist/routes/port-forward.js +59 -50
  54. package/dist/routes/port-forward.js.map +1 -1
  55. package/dist/routes/projects.d.ts +1 -1
  56. package/dist/routes/projects.d.ts.map +1 -1
  57. package/dist/routes/projects.js +134 -120
  58. package/dist/routes/projects.js.map +1 -1
  59. package/dist/routes/ssh.d.ts +1 -1
  60. package/dist/routes/ssh.d.ts.map +1 -1
  61. package/dist/routes/ssh.js +47 -47
  62. package/dist/routes/ssh.js.map +1 -1
  63. package/dist/routes/tasks.d.ts +1 -1
  64. package/dist/routes/tasks.d.ts.map +1 -1
  65. package/dist/routes/tasks.js +53 -49
  66. package/dist/routes/tasks.js.map +1 -1
  67. package/dist/routes/tmux.d.ts +1 -1
  68. package/dist/routes/tmux.d.ts.map +1 -1
  69. package/dist/routes/tmux.js +337 -241
  70. package/dist/routes/tmux.js.map +1 -1
  71. package/dist/routes/tunnel.d.ts +2 -2
  72. package/dist/routes/tunnel.d.ts.map +1 -1
  73. package/dist/routes/tunnel.js +115 -74
  74. package/dist/routes/tunnel.js.map +1 -1
  75. package/dist/services/ModulePermissions.d.ts +2 -2
  76. package/dist/services/ModulePermissions.d.ts.map +1 -1
  77. package/dist/services/ModulePermissions.js +50 -40
  78. package/dist/services/ModulePermissions.js.map +1 -1
  79. package/dist/services/ModuleRegistryService.d.ts +10 -10
  80. package/dist/services/ModuleRegistryService.d.ts.map +1 -1
  81. package/dist/services/ModuleRegistryService.js +156 -131
  82. package/dist/services/ModuleRegistryService.js.map +1 -1
  83. package/dist/services/agent.service.d.ts.map +1 -1
  84. package/dist/services/agent.service.js +24 -21
  85. package/dist/services/agent.service.js.map +1 -1
  86. package/dist/services/bootstrap.d.ts +1 -1
  87. package/dist/services/bootstrap.d.ts.map +1 -1
  88. package/dist/services/bootstrap.js +146 -69
  89. package/dist/services/bootstrap.js.map +1 -1
  90. package/dist/services/service-manager.d.ts +2 -2
  91. package/dist/services/service-manager.d.ts.map +1 -1
  92. package/dist/services/service-manager.js +75 -63
  93. package/dist/services/service-manager.js.map +1 -1
  94. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgK7C,eAAO,MAAM,aAAa,EAAE,kBA8K3B,CAAC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAoK7C,eAAO,MAAM,aAAa,EAAE,kBAkM3B,CAAC"}
@@ -1,28 +1,28 @@
1
- import { promises as fs } from 'fs';
2
- import path from 'path';
1
+ import { promises as fs } from "fs";
2
+ import path from "path";
3
3
  // Security function to check if a path is allowed for scanning
4
4
  function isAllowedPath(scanPath) {
5
5
  const normalizedPath = path.resolve(scanPath);
6
6
  // List of forbidden paths (system directories)
7
7
  const forbiddenPaths = [
8
- '/System',
9
- '/usr',
10
- '/bin',
11
- '/sbin',
12
- '/etc',
13
- '/var/root',
14
- '/private/var/root',
15
- '/Library/Application Support',
16
- '/private/var/db',
17
- '/private/var/install',
18
- '/private/var/tmp',
19
- '/tmp',
20
- '/Windows',
21
- '/Program Files',
22
- '/Program Files (x86)',
23
- 'C:\\Windows',
24
- 'C:\\Program Files',
25
- 'C:\\Program Files (x86)',
8
+ "/System",
9
+ "/usr",
10
+ "/bin",
11
+ "/sbin",
12
+ "/etc",
13
+ "/var/root",
14
+ "/private/var/root",
15
+ "/Library/Application Support",
16
+ "/private/var/db",
17
+ "/private/var/install",
18
+ "/private/var/tmp",
19
+ "/tmp",
20
+ "/Windows",
21
+ "/Program Files",
22
+ "/Program Files (x86)",
23
+ "C:\\Windows",
24
+ "C:\\Program Files",
25
+ "C:\\Program Files (x86)",
26
26
  ];
27
27
  // Check if the path starts with any forbidden directory
28
28
  for (const forbiddenPath of forbiddenPaths) {
@@ -32,25 +32,25 @@ function isAllowedPath(scanPath) {
32
32
  }
33
33
  // Only allow paths under common user directories
34
34
  const allowedPrefixes = [
35
- '/Users',
36
- '/home',
37
- '/opt',
38
- process.env.HOME || '',
39
- 'C:\\Users',
40
- 'D:\\',
41
- 'E:\\',
35
+ "/Users",
36
+ "/home",
37
+ "/opt",
38
+ process.env.HOME || "",
39
+ "C:\\Users",
40
+ "D:\\",
41
+ "E:\\",
42
42
  ].filter(Boolean);
43
- return allowedPrefixes.some(prefix => normalizedPath.startsWith(prefix));
43
+ return allowedPrefixes.some((prefix) => normalizedPath.startsWith(prefix));
44
44
  }
45
45
  // Function to parse .gitignore patterns
46
46
  function parseGitignore(gitignoreContent) {
47
47
  return gitignoreContent
48
- .split('\n')
49
- .map(line => line.trim())
50
- .filter(line => line && !line.startsWith('#'))
51
- .map(line => {
48
+ .split("\n")
49
+ .map((line) => line.trim())
50
+ .filter((line) => line && !line.startsWith("#"))
51
+ .map((line) => {
52
52
  // Remove leading slash
53
- if (line.startsWith('/')) {
53
+ if (line.startsWith("/")) {
54
54
  line = line.slice(1);
55
55
  }
56
56
  return line;
@@ -60,18 +60,17 @@ function parseGitignore(gitignoreContent) {
60
60
  function shouldIgnoreByGitignore(relativePath, patterns, _basePath) {
61
61
  for (const pattern of patterns) {
62
62
  // Simple pattern matching - could be enhanced with proper glob matching
63
- if (pattern.endsWith('/')) {
63
+ if (pattern.endsWith("/")) {
64
64
  // Directory pattern
65
65
  const dirPattern = pattern.slice(0, -1);
66
- if (relativePath === dirPattern || relativePath.startsWith(dirPattern + '/')) {
66
+ if (relativePath === dirPattern ||
67
+ relativePath.startsWith(dirPattern + "/")) {
67
68
  return true;
68
69
  }
69
70
  }
70
- else if (pattern.includes('*')) {
71
+ else if (pattern.includes("*")) {
71
72
  // Wildcard pattern - basic implementation
72
- const regexPattern = pattern
73
- .replace(/\./g, '\\.')
74
- .replace(/\*/g, '.*');
73
+ const regexPattern = pattern.replace(/\./g, "\\.").replace(/\*/g, ".*");
75
74
  const regex = new RegExp(`^${regexPattern}$`);
76
75
  if (regex.test(relativePath)) {
77
76
  return true;
@@ -79,7 +78,7 @@ function shouldIgnoreByGitignore(relativePath, patterns, _basePath) {
79
78
  }
80
79
  else {
81
80
  // Exact match or starts with pattern
82
- if (relativePath === pattern || relativePath.startsWith(pattern + '/')) {
81
+ if (relativePath === pattern || relativePath.startsWith(pattern + "/")) {
83
82
  return true;
84
83
  }
85
84
  }
@@ -92,8 +91,8 @@ async function collectGitignorePatterns(startPath, targetPath) {
92
91
  let currentPath = targetPath;
93
92
  while (currentPath.startsWith(startPath)) {
94
93
  try {
95
- const gitignorePath = path.join(currentPath, '.gitignore');
96
- const gitignoreContent = await fs.readFile(gitignorePath, 'utf-8');
94
+ const gitignorePath = path.join(currentPath, ".gitignore");
95
+ const gitignoreContent = await fs.readFile(gitignorePath, "utf-8");
97
96
  const pathPatterns = parseGitignore(gitignoreContent);
98
97
  if (pathPatterns.length > 0) {
99
98
  patterns.set(currentPath, pathPatterns);
@@ -111,108 +110,116 @@ async function collectGitignorePatterns(startPath, targetPath) {
111
110
  }
112
111
  export const projectRoutes = async (fastify) => {
113
112
  // Scan local projects
114
- fastify.post('/scan', async (request, reply) => {
115
- const { recursive = false, scanPath, respectGitignore = true } = request.body;
113
+ fastify.post("/scan", async (request, reply) => {
114
+ const { recursive = false, scanPath, respectGitignore = true, } = request.body;
116
115
  try {
117
- console.log('Scanning projects...', { recursive, scanPath, respectGitignore });
116
+ console.log("Scanning projects...", {
117
+ recursive,
118
+ scanPath,
119
+ respectGitignore,
120
+ });
118
121
  // Require scanPath to be provided - no default scanning
119
122
  if (!scanPath) {
120
123
  return reply.code(400).send({
121
- error: 'scanPath is required',
122
- success: false
124
+ error: "scanPath is required",
125
+ success: false,
123
126
  });
124
127
  }
125
128
  // Security check - prevent directory traversal
126
129
  const normalizedPath = path.normalize(scanPath);
127
- if (normalizedPath.includes('..')) {
130
+ if (normalizedPath.includes("..")) {
128
131
  return reply.code(403).send({
129
- error: 'Directory traversal not allowed',
130
- success: false
132
+ error: "Directory traversal not allowed",
133
+ success: false,
131
134
  });
132
135
  }
133
136
  // Additional security checks
134
137
  if (!isAllowedPath(normalizedPath)) {
135
138
  return reply.code(403).send({
136
- error: 'Access to this path is not allowed',
137
- success: false
139
+ error: "Access to this path is not allowed",
140
+ success: false,
138
141
  });
139
142
  }
140
143
  const projects = await scanForProjects(normalizedPath, recursive, respectGitignore);
141
144
  // Emit project scan event
142
- fastify.io.emit('projects:scanned', {
145
+ fastify.io.emit("projects:scanned", {
143
146
  path: normalizedPath,
144
147
  count: projects.length,
145
- recursive
148
+ recursive,
146
149
  });
147
150
  return {
148
151
  projects,
149
152
  success: true,
150
- count: projects.length
153
+ count: projects.length,
151
154
  };
152
155
  }
153
156
  catch (error) {
154
- console.error('Error scanning projects:', error);
157
+ console.error("Error scanning projects:", error);
155
158
  return reply.code(500).send({
156
- error: 'Failed to scan projects',
157
- details: error instanceof Error ? error.message : 'Unknown error',
158
- success: false
159
+ error: "Failed to scan projects",
160
+ details: error instanceof Error ? error.message : "Unknown error",
161
+ success: false,
159
162
  });
160
163
  }
161
164
  });
162
165
  // Scan remote projects
163
- fastify.post('/scan-remote', async (request, reply) => {
164
- const { recursive = false, scanPath, respectGitignore = true } = request.body;
166
+ fastify.post("/scan-remote", async (request, reply) => {
167
+ const { recursive = false, scanPath, respectGitignore = true, } = request.body;
165
168
  try {
166
- console.log('Scanning remote projects...', { recursive, scanPath, respectGitignore });
169
+ console.log("Scanning remote projects...", {
170
+ recursive,
171
+ scanPath,
172
+ respectGitignore,
173
+ });
167
174
  // Require scanPath to be provided - no default scanning
168
175
  if (!scanPath) {
169
176
  return reply.code(400).send({
170
- error: 'scanPath is required for remote scanning',
171
- success: false
177
+ error: "scanPath is required for remote scanning",
178
+ success: false,
172
179
  });
173
180
  }
174
181
  // Security check - prevent directory traversal
175
182
  const normalizedPath = path.normalize(scanPath);
176
- if (normalizedPath.includes('..')) {
183
+ if (normalizedPath.includes("..")) {
177
184
  return reply.code(403).send({
178
- error: 'Directory traversal not allowed',
179
- success: false
185
+ error: "Directory traversal not allowed",
186
+ success: false,
180
187
  });
181
188
  }
182
189
  // Additional security checks
183
190
  if (!isAllowedPath(normalizedPath)) {
184
191
  return reply.code(403).send({
185
- error: 'Access to this path is not allowed',
186
- success: false
192
+ error: "Access to this path is not allowed",
193
+ success: false,
187
194
  });
188
195
  }
189
196
  // For now, return empty array as this requires SSH setup
190
197
  // TODO: Implement remote scanning via SSH
191
198
  const projects = [];
192
199
  // Emit remote project scan event
193
- fastify.io.emit('projects:remote-scanned', {
200
+ fastify.io.emit("projects:remote-scanned", {
194
201
  path: normalizedPath,
195
202
  count: projects.length,
196
- recursive
203
+ recursive,
197
204
  });
198
205
  return {
199
206
  projects,
200
207
  success: true,
201
208
  count: projects.length,
202
- message: 'Remote scanning not yet implemented'
209
+ message: "Remote scanning not yet implemented",
203
210
  };
204
211
  }
205
212
  catch (error) {
206
- console.error('Error scanning remote projects:', error);
213
+ console.error("Error scanning remote projects:", error);
207
214
  return reply.code(500).send({
208
- error: 'Failed to scan remote projects',
209
- details: error instanceof Error ? error.message : 'Unknown error',
210
- success: false
215
+ error: "Failed to scan remote projects",
216
+ details: error instanceof Error ? error.message : "Unknown error",
217
+ success: false,
211
218
  });
212
219
  }
213
220
  });
214
221
  // Get all projects (mock for now)
215
- fastify.get('/', async (request, reply) => {
222
+ fastify.get("/", async (request, reply) => {
216
223
  const { includeNested } = request.query;
217
224
  try {
218
225
  // For now, return empty array as this would come from database
@@ -220,48 +227,48 @@ export const projectRoutes = async (fastify) => {
220
227
  return projects;
221
228
  }
222
229
  catch (error) {
223
- console.error('Error getting projects:', error);
230
+ console.error("Error getting projects:", error);
224
231
  return reply.code(500).send({
225
- error: 'Failed to get projects',
226
- details: error instanceof Error ? error.message : 'Unknown error'
232
+ error: "Failed to get projects",
233
+ details: error instanceof Error ? error.message : "Unknown error",
227
234
  });
228
235
  }
229
236
  });
230
237
  // Create project (mock for now)
231
- fastify.post('/', async (request, reply) => {
238
+ fastify.post("/", async (request, reply) => {
232
239
  const projectData = request.body;
233
240
  try {
234
241
  // For now, just return success
235
242
  const id = `project-${Date.now()}`;
236
243
  return {
237
244
  id,
238
- success: true
245
+ success: true,
239
246
  };
240
247
  }
241
248
  catch (error) {
242
- console.error('Error creating project:', error);
249
+ console.error("Error creating project:", error);
243
250
  return reply.code(500).send({
244
- error: 'Failed to create project',
245
- details: error instanceof Error ? error.message : 'Unknown error'
251
+ error: "Failed to create project",
252
+ details: error instanceof Error ? error.message : "Unknown error",
246
253
  });
247
254
  }
248
255
  });
249
256
  // Update project (mock for now)
250
- fastify.put('/:id', async (request, reply) => {
257
+ fastify.put("/:id", async (request, reply) => {
251
258
  const { id } = request.params;
252
259
  const updates = request.body;
253
260
  try {
254
261
  // For now, just return success
255
262
  return {
256
263
  success: true,
257
- changes: 1
264
+ changes: 1,
258
265
  };
259
266
  }
260
267
  catch (error) {
261
- console.error('Error updating project:', error);
268
+ console.error("Error updating project:", error);
262
269
  return reply.code(500).send({
263
- error: 'Failed to update project',
264
- details: error instanceof Error ? error.message : 'Unknown error'
270
+ error: "Failed to update project",
271
+ details: error instanceof Error ? error.message : "Unknown error",
265
272
  });
266
273
  }
267
274
  });
@@ -281,7 +288,7 @@ async function scanForProjects(basePath, recursive, respectGitignore = true) {
281
288
  continue;
282
289
  const fullPath = path.join(basePath, entry.name);
283
290
  // Skip hidden directories and node_modules
284
- if (entry.name.startsWith('.') || entry.name === 'node_modules') {
291
+ if (entry.name.startsWith(".") || entry.name === "node_modules") {
285
292
  continue;
286
293
  }
287
294
  // Check if directory should be ignored by .gitignore
@@ -330,24 +337,28 @@ async function detectProject(dirPath, dirName) {
330
337
  try {
331
338
  const files = await fs.readdir(dirPath);
332
339
  // Check for common project indicators
333
- let hasPackageJson = files.includes('package.json');
334
- const hasPyproject = files.includes('pyproject.toml');
335
- const hasRequirements = files.includes('requirements.txt');
336
- const hasCargoToml = files.includes('Cargo.toml');
337
- const hasGitDir = files.includes('.git');
338
- const hasDockerfile = files.includes('Dockerfile');
339
- const hasMakefile = files.includes('Makefile');
340
+ let hasPackageJson = files.includes("package.json");
341
+ const hasPyproject = files.includes("pyproject.toml");
342
+ const hasRequirements = files.includes("requirements.txt");
343
+ const hasCargoToml = files.includes("Cargo.toml");
344
+ const hasGitDir = files.includes(".git");
345
+ const hasDockerfile = files.includes("Dockerfile");
346
+ const hasMakefile = files.includes("Makefile");
340
347
  // If it doesn't look like a project, skip it
341
- if (!hasPackageJson && !hasPyproject && !hasRequirements && !hasCargoToml && !hasGitDir) {
348
+ if (!hasPackageJson &&
349
+ !hasPyproject &&
350
+ !hasRequirements &&
351
+ !hasCargoToml &&
352
+ !hasGitDir) {
342
353
  return null;
343
354
  }
344
- let projectType = 'unknown';
355
+ let projectType = "unknown";
345
356
  let vitePort;
346
357
  // Determine project type
347
358
  if (hasPackageJson) {
348
359
  try {
349
- const packageJsonPath = path.join(dirPath, 'package.json');
350
- const packageJsonContent = await fs.readFile(packageJsonPath, 'utf-8');
360
+ const packageJsonPath = path.join(dirPath, "package.json");
361
+ const packageJsonContent = await fs.readFile(packageJsonPath, "utf-8");
351
362
  // Check if the file is empty or invalid
352
363
  if (!packageJsonContent.trim()) {
353
364
  console.warn(`Empty package.json file found at ${packageJsonPath}`);
@@ -355,52 +366,55 @@ async function detectProject(dirPath, dirName) {
355
366
  }
356
367
  else {
357
368
  const packageJson = JSON.parse(packageJsonContent);
358
- if (packageJson.dependencies?.vite || packageJson.devDependencies?.vite) {
359
- projectType = 'vite';
369
+ if (packageJson.dependencies?.vite ||
370
+ packageJson.devDependencies?.vite) {
371
+ projectType = "vite";
360
372
  // Try to detect port from vite config or scripts
361
373
  vitePort = extractVitePort(packageJson);
362
374
  }
363
- else if (packageJson.dependencies?.react || packageJson.devDependencies?.react) {
364
- projectType = 'react';
375
+ else if (packageJson.dependencies?.react ||
376
+ packageJson.devDependencies?.react) {
377
+ projectType = "react";
365
378
  }
366
- else if (packageJson.dependencies?.next || packageJson.devDependencies?.next) {
367
- projectType = 'nextjs';
379
+ else if (packageJson.dependencies?.next ||
380
+ packageJson.devDependencies?.next) {
381
+ projectType = "nextjs";
368
382
  }
369
383
  else if (packageJson.dependencies?.express) {
370
- projectType = 'express';
384
+ projectType = "express";
371
385
  }
372
386
  else if (packageJson.dependencies?.fastify) {
373
- projectType = 'fastify';
387
+ projectType = "fastify";
374
388
  }
375
389
  else {
376
- projectType = 'nodejs';
390
+ projectType = "nodejs";
377
391
  }
378
392
  }
379
393
  }
380
394
  catch (error) {
381
395
  console.warn(`Failed to parse package.json in ${dirPath}:`, error);
382
- projectType = 'nodejs';
396
+ projectType = "nodejs";
383
397
  }
384
398
  }
385
399
  else if (hasPyproject || hasRequirements) {
386
- projectType = 'python';
400
+ projectType = "python";
387
401
  }
388
402
  else if (hasCargoToml) {
389
- projectType = 'rust';
403
+ projectType = "rust";
390
404
  }
391
405
  // Get directory stats
392
406
  const stats = await fs.stat(dirPath);
393
407
  // Create project object
394
408
  const project = {
395
- id: `local-${Buffer.from(dirPath).toString('base64').slice(0, 8)}-${Date.now()}`,
409
+ id: `local-${Buffer.from(dirPath).toString("base64").slice(0, 8)}-${Date.now()}`,
396
410
  name: dirName,
397
411
  path: dirPath,
398
412
  type: projectType,
399
413
  lastUpdated: stats.mtime.getTime(),
400
414
  lastFileChange: stats.mtime.getTime(),
401
- status: 'INACTIVE',
415
+ status: "INACTIVE",
402
416
  isRemote: false,
403
- tags: [projectType]
417
+ tags: [projectType],
404
418
  };
405
419
  if (vitePort) {
406
420
  project.vitePort = vitePort;
@@ -408,8 +422,8 @@ async function detectProject(dirPath, dirName) {
408
422
  // Check if it's a git repository
409
423
  if (hasGitDir) {
410
424
  try {
411
- const gitConfigPath = path.join(dirPath, '.git', 'config');
412
- const gitConfig = await fs.readFile(gitConfigPath, 'utf-8');
425
+ const gitConfigPath = path.join(dirPath, ".git", "config");
426
+ const gitConfig = await fs.readFile(gitConfigPath, "utf-8");
413
427
  const remoteMatch = gitConfig.match(/url = (.+)/);
414
428
  if (remoteMatch) {
415
429
  project.repository = remoteMatch[1].trim();
@@ -430,7 +444,7 @@ async function detectProject(dirPath, dirName) {
430
444
  function extractVitePort(packageJson) {
431
445
  // Check dev script for port
432
446
  const devScript = packageJson.scripts?.dev;
433
- if (devScript && typeof devScript === 'string') {
447
+ if (devScript && typeof devScript === "string") {
434
448
  const portMatch = devScript.match(/--port[=\s]+(\d+)/);
435
449
  if (portMatch) {
436
450
  return parseInt(portMatch[1], 10);
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { FastifyPluginAsync } from 'fastify';
1
+ import { FastifyPluginAsync } from "fastify";
2
2
  export declare const sshRoutes: FastifyPluginAsync;
3
3
  //# sourceMappingURL=ssh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/routes/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAoB7C,eAAO,MAAM,SAAS,EAAE,kBA8NvB,CAAC"}
1
+ {"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/routes/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAoB7C,eAAO,MAAM,SAAS,EAAE,kBAgPvB,CAAC"}