@burdenoff/vibe-agent 1.0.1 → 1.0.3

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 +145 -130
  5. package/dist/app.js.map +1 -1
  6. package/dist/cli.d.ts +1 -1
  7. package/dist/cli.js +463 -333
  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 +1 -1
@@ -1,7 +1,7 @@
1
- import { v4 as uuidv4 } from 'uuid';
1
+ import { v4 as uuidv4 } from "uuid";
2
2
  export const bookmarkRoutes = async (fastify) => {
3
3
  // Get all bookmarks
4
- fastify.get('/', async (request, _reply) => {
4
+ fastify.get("/", async (request, _reply) => {
5
5
  const { projectId } = request.query;
6
6
  const bookmarks = projectId !== undefined
7
7
  ? fastify.db.getBookmarkedCommandsByProject(projectId)
@@ -9,27 +9,27 @@ export const bookmarkRoutes = async (fastify) => {
9
9
  return { bookmarks };
10
10
  });
11
11
  // Get bookmarks by project
12
- fastify.get('/project/:projectId', async (request, _reply) => {
12
+ fastify.get("/project/:projectId", async (request, _reply) => {
13
13
  const { projectId } = request.params;
14
14
  const bookmarks = fastify.db.getBookmarkedCommandsByProject(projectId);
15
15
  return { bookmarks };
16
16
  });
17
17
  // Get global bookmarks (no project)
18
- fastify.get('/global', async (_request, _reply) => {
18
+ fastify.get("/global", async (_request, _reply) => {
19
19
  const bookmarks = fastify.db.getBookmarkedCommandsByProject(null);
20
20
  return { bookmarks };
21
21
  });
22
22
  // Get bookmark by ID
23
- fastify.get('/:id', async (request, reply) => {
23
+ fastify.get("/:id", async (request, reply) => {
24
24
  const { id } = request.params;
25
25
  const bookmark = fastify.db.getBookmarkedCommand(id);
26
26
  if (!bookmark) {
27
- return reply.code(404).send({ error: 'Bookmarked command not found' });
27
+ return reply.code(404).send({ error: "Bookmarked command not found" });
28
28
  }
29
29
  return { bookmark };
30
30
  });
31
31
  // Create new bookmark
32
- fastify.post('/', async (request, reply) => {
32
+ fastify.post("/", async (request, reply) => {
33
33
  const { projectId, command, description, category } = request.body;
34
34
  try {
35
35
  const bookmark = fastify.db.createBookmarkedCommand({
@@ -37,27 +37,27 @@ export const bookmarkRoutes = async (fastify) => {
37
37
  projectId,
38
38
  command,
39
39
  description,
40
- category
40
+ category,
41
41
  });
42
42
  // Emit bookmark created event
43
- fastify.io.emit('bookmark:created', bookmark);
43
+ fastify.io.emit("bookmark:created", bookmark);
44
44
  return { bookmark };
45
45
  }
46
46
  catch (error) {
47
47
  return reply.code(500).send({
48
- error: 'Failed to create bookmarked command',
49
- details: error instanceof Error ? error.message : 'Unknown error'
48
+ error: "Failed to create bookmarked command",
49
+ details: error instanceof Error ? error.message : "Unknown error",
50
50
  });
51
51
  }
52
52
  });
53
53
  // Update bookmark
54
- fastify.put('/:id', async (request, reply) => {
54
+ fastify.put("/:id", async (request, reply) => {
55
55
  const { id } = request.params;
56
56
  const { command, description, category } = request.body;
57
57
  try {
58
58
  const bookmark = fastify.db.getBookmarkedCommand(id);
59
59
  if (!bookmark) {
60
- return reply.code(404).send({ error: 'Bookmarked command not found' });
60
+ return reply.code(404).send({ error: "Bookmarked command not found" });
61
61
  }
62
62
  const updates = {};
63
63
  if (command !== undefined)
@@ -70,116 +70,125 @@ export const bookmarkRoutes = async (fastify) => {
70
70
  // Get updated bookmark
71
71
  const updatedBookmark = fastify.db.getBookmarkedCommand(id);
72
72
  // Emit bookmark updated event
73
- fastify.io.emit('bookmark:updated', updatedBookmark);
73
+ fastify.io.emit("bookmark:updated", updatedBookmark);
74
74
  return { bookmark: updatedBookmark };
75
75
  }
76
76
  catch (error) {
77
77
  return reply.code(500).send({
78
- error: 'Failed to update bookmarked command',
79
- details: error instanceof Error ? error.message : 'Unknown error'
78
+ error: "Failed to update bookmarked command",
79
+ details: error instanceof Error ? error.message : "Unknown error",
80
80
  });
81
81
  }
82
82
  });
83
83
  // Delete bookmark
84
- fastify.delete('/:id', async (request, reply) => {
84
+ fastify.delete("/:id", async (request, reply) => {
85
85
  const { id } = request.params;
86
86
  try {
87
87
  const bookmark = fastify.db.getBookmarkedCommand(id);
88
88
  if (!bookmark) {
89
- return reply.code(404).send({ error: 'Bookmarked command not found' });
89
+ return reply.code(404).send({ error: "Bookmarked command not found" });
90
90
  }
91
91
  fastify.db.deleteBookmarkedCommand(id);
92
92
  // Emit bookmark deleted event
93
- fastify.io.emit('bookmark:deleted', { id, projectId: bookmark.projectId });
93
+ fastify.io.emit("bookmark:deleted", {
94
+ id,
95
+ projectId: bookmark.projectId,
96
+ });
94
97
  return { success: true };
95
98
  }
96
99
  catch (error) {
97
100
  return reply.code(500).send({
98
- error: 'Failed to delete bookmarked command',
99
- details: error instanceof Error ? error.message : 'Unknown error'
101
+ error: "Failed to delete bookmarked command",
102
+ details: error instanceof Error ? error.message : "Unknown error",
100
103
  });
101
104
  }
102
105
  });
103
106
  // Execute bookmarked command
104
- fastify.post('/:id/execute', async (request, reply) => {
107
+ fastify.post("/:id/execute", async (request, reply) => {
105
108
  const { id } = request.params;
106
109
  const { sessionId, cwd } = request.body;
107
110
  try {
108
111
  const bookmark = fastify.db.getBookmarkedCommand(id);
109
112
  if (!bookmark) {
110
- return reply.code(404).send({ error: 'Bookmarked command not found' });
113
+ return reply.code(404).send({ error: "Bookmarked command not found" });
111
114
  }
112
115
  // If sessionId is provided, execute in tmux session
113
116
  if (sessionId) {
114
117
  const session = fastify.db.getTmuxSession(sessionId);
115
118
  if (!session) {
116
- return reply.code(404).send({ error: 'Session not found' });
119
+ return reply.code(404).send({ error: "Session not found" });
117
120
  }
118
121
  // Execute command in tmux session
119
- const { spawn } = await import('child_process');
120
- const tmuxProcess = spawn('tmux', ['send-keys', '-t', session.sessionName, bookmark.command, 'Enter']);
122
+ const { spawn } = await import("child_process");
123
+ const tmuxProcess = spawn("tmux", [
124
+ "send-keys",
125
+ "-t",
126
+ session.sessionName,
127
+ bookmark.command,
128
+ "Enter",
129
+ ]);
121
130
  await new Promise((resolve, reject) => {
122
- tmuxProcess.on('close', (code) => {
131
+ tmuxProcess.on("close", (code) => {
123
132
  if (code === 0)
124
133
  resolve(undefined);
125
134
  else
126
135
  reject(new Error(`Tmux exited with code ${code}`));
127
136
  });
128
- tmuxProcess.on('error', reject);
137
+ tmuxProcess.on("error", reject);
129
138
  });
130
139
  // Emit command executed event
131
- fastify.io.emit('bookmark:executed', {
140
+ fastify.io.emit("bookmark:executed", {
132
141
  bookmarkId: id,
133
142
  command: bookmark.command,
134
- sessionId
143
+ sessionId,
135
144
  });
136
145
  return {
137
146
  success: true,
138
- executedIn: 'tmux',
139
- sessionId
147
+ executedIn: "tmux",
148
+ sessionId,
140
149
  };
141
150
  }
142
151
  else {
143
152
  // Execute as a task
144
153
  const task = fastify.db.createTask({
145
154
  id: uuidv4(),
146
- type: 'command',
147
- status: 'pending',
155
+ type: "command",
156
+ status: "pending",
148
157
  payload: JSON.stringify({
149
158
  command: bookmark.command,
150
- cwd: cwd || process.cwd()
151
- })
159
+ cwd: cwd || process.cwd(),
160
+ }),
152
161
  });
153
162
  // Emit task created event
154
- fastify.io.emit('task:created', task);
163
+ fastify.io.emit("task:created", task);
155
164
  // Process task asynchronously (reuse task processing logic)
156
165
  // This would need to be imported from tasks route
157
166
  return {
158
167
  success: true,
159
- executedIn: 'task',
160
- taskId: task.id
168
+ executedIn: "task",
169
+ taskId: task.id,
161
170
  };
162
171
  }
163
172
  }
164
173
  catch (error) {
165
174
  return reply.code(500).send({
166
- error: 'Failed to execute bookmarked command',
167
- details: error instanceof Error ? error.message : 'Unknown error'
175
+ error: "Failed to execute bookmarked command",
176
+ details: error instanceof Error ? error.message : "Unknown error",
168
177
  });
169
178
  }
170
179
  });
171
180
  // Get bookmarks by category
172
- fastify.get('/category/:category', async (request, _reply) => {
181
+ fastify.get("/category/:category", async (request, _reply) => {
173
182
  const { category } = request.params;
174
183
  // Get all bookmarks and filter by category
175
184
  const allBookmarks = [
176
185
  ...fastify.db.getBookmarkedCommandsByProject(null),
177
186
  // Would need to implement getAllBookmarkedCommands to get all
178
187
  ];
179
- const filteredBookmarks = allBookmarks.filter(b => b.category === category);
188
+ const filteredBookmarks = allBookmarks.filter((b) => b.category === category);
180
189
  return {
181
190
  bookmarks: filteredBookmarks,
182
- category
191
+ category,
183
192
  };
184
193
  });
185
194
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.js","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookmarks.js","sourceRoot":"","sources":["../../src/routes/bookmarks.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 configRoutes: FastifyPluginAsync;
3
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAO7C,eAAO,MAAM,YAAY,EAAE,kBA2H1B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,YAAY,EAAE,kBA6H1B,CAAC"}
@@ -1,80 +1,80 @@
1
1
  export const configRoutes = async (fastify) => {
2
2
  // Get all configuration
3
- fastify.get('/', async (_request, _reply) => {
3
+ fastify.get("/", async (_request, _reply) => {
4
4
  const config = fastify.db.getAllConfig();
5
5
  return { config };
6
6
  });
7
7
  // Get specific config value
8
- fastify.get('/:key', async (request, reply) => {
8
+ fastify.get("/:key", async (request, reply) => {
9
9
  const { key } = request.params;
10
10
  const value = fastify.db.getConfig(key);
11
11
  if (value === undefined) {
12
- return reply.code(404).send({ error: 'Configuration key not found' });
12
+ return reply.code(404).send({ error: "Configuration key not found" });
13
13
  }
14
14
  return { key, value };
15
15
  });
16
16
  // Set config value
17
- fastify.put('/:key', async (request, reply) => {
17
+ fastify.put("/:key", async (request, reply) => {
18
18
  const { key } = request.params;
19
19
  const { value } = request.body;
20
20
  try {
21
21
  fastify.db.setConfig(key, value);
22
22
  // Emit config changed event
23
- fastify.io.emit('config:changed', { key, value });
23
+ fastify.io.emit("config:changed", { key, value });
24
24
  return { success: true };
25
25
  }
26
26
  catch (error) {
27
27
  return reply.code(500).send({
28
- error: 'Failed to set configuration',
29
- details: error instanceof Error ? error.message : 'Unknown error'
28
+ error: "Failed to set configuration",
29
+ details: error instanceof Error ? error.message : "Unknown error",
30
30
  });
31
31
  }
32
32
  });
33
33
  // Delete config value
34
- fastify.delete('/:key', async (request, reply) => {
34
+ fastify.delete("/:key", async (request, reply) => {
35
35
  const { key } = request.params;
36
36
  try {
37
37
  // Check if config exists
38
38
  const currentValue = fastify.db.getConfig(key);
39
39
  if (currentValue === undefined) {
40
- return reply.code(404).send({ error: 'Configuration key not found' });
40
+ return reply.code(404).send({ error: "Configuration key not found" });
41
41
  }
42
42
  // Delete the config by setting it to undefined
43
43
  // Note: SQLite doesn't have a direct delete operation in our current schema
44
44
  // We'll use a special marker to indicate deletion
45
- fastify.db.setConfig(key, '__DELETED__');
45
+ fastify.db.setConfig(key, "__DELETED__");
46
46
  // Emit config deleted event
47
- fastify.io.emit('config:deleted', { key });
47
+ fastify.io.emit("config:deleted", { key });
48
48
  return { success: true };
49
49
  }
50
50
  catch (error) {
51
51
  return reply.code(500).send({
52
- error: 'Failed to delete configuration',
53
- details: error instanceof Error ? error.message : 'Unknown error'
52
+ error: "Failed to delete configuration",
53
+ details: error instanceof Error ? error.message : "Unknown error",
54
54
  });
55
55
  }
56
56
  });
57
57
  // Bulk set configuration
58
- fastify.post('/bulk', async (request, reply) => {
58
+ fastify.post("/bulk", async (request, reply) => {
59
59
  const { configs } = request.body;
60
60
  try {
61
61
  for (const [key, value] of Object.entries(configs)) {
62
62
  fastify.db.setConfig(key, value);
63
63
  }
64
64
  // Emit config changed event
65
- fastify.io.emit('config:bulk-changed', { configs });
65
+ fastify.io.emit("config:bulk-changed", { configs });
66
66
  return { success: true };
67
67
  }
68
68
  catch (error) {
69
69
  return reply.code(500).send({
70
- error: 'Failed to set configuration',
71
- details: error instanceof Error ? error.message : 'Unknown error'
70
+ error: "Failed to set configuration",
71
+ details: error instanceof Error ? error.message : "Unknown error",
72
72
  });
73
73
  }
74
74
  });
75
75
  // Get system info
76
- fastify.get('/system/info', async (_request, _reply) => {
77
- const os = await import('os');
76
+ fastify.get("/system/info", async (_request, _reply) => {
77
+ const os = await import("os");
78
78
  return {
79
79
  hostname: os.hostname(),
80
80
  platform: os.platform(),
@@ -85,23 +85,25 @@ export const configRoutes = async (fastify) => {
85
85
  freeMemory: os.freemem(),
86
86
  uptime: os.uptime(),
87
87
  nodeVersion: process.version,
88
- agentVersion: '1.0.0',
89
- environment: process.env.NODE_ENV || 'development'
88
+ agentVersion: "1.0.0",
89
+ environment: process.env.NODE_ENV || "development",
90
90
  };
91
91
  });
92
92
  // Get agent status
93
- fastify.get('/status', async (_request, _reply) => {
93
+ fastify.get("/status", async (_request, _reply) => {
94
94
  const tmuxSessions = fastify.db.getAllTmuxSessions();
95
95
  const portForwards = fastify.db.getAllPortForwards();
96
96
  return {
97
- status: 'online',
97
+ status: "online",
98
98
  timestamp: new Date().toISOString(),
99
99
  stats: {
100
- activeSessions: tmuxSessions.filter(s => s.status === 'active').length,
100
+ activeSessions: tmuxSessions.filter((s) => s.status === "active")
101
+ .length,
101
102
  totalSessions: tmuxSessions.length,
102
- activePortForwards: portForwards.filter(pf => pf.status === 'active').length,
103
- totalPortForwards: portForwards.length
104
- }
103
+ activePortForwards: portForwards.filter((pf) => pf.status === "active")
104
+ .length,
105
+ totalPortForwards: portForwards.length,
106
+ },
105
107
  };
106
108
  });
107
109
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.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 fileRoutes: FastifyPluginAsync;
3
3
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiC,MAAM,SAAS,CAAC;AAsB5E,eAAO,MAAM,UAAU,EAAE,kBAsUxB,CAAC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiC,MAAM,SAAS,CAAC;AAsB5E,eAAO,MAAM,UAAU,EAAE,kBAsYxB,CAAC"}