@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.
- package/README.md +14 -14
- package/dist/app.d.ts +4 -4
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +145 -130
- package/dist/app.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +463 -333
- package/dist/cli.js.map +1 -1
- package/dist/db/schema.d.ts +15 -15
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +65 -62
- package/dist/db/schema.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/middleware/ModuleAuth.d.ts +2 -2
- package/dist/middleware/ModuleAuth.d.ts.map +1 -1
- package/dist/middleware/ModuleAuth.js +32 -29
- package/dist/middleware/ModuleAuth.js.map +1 -1
- package/dist/middleware/auth.d.ts +1 -1
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +4 -4
- package/dist/middleware/auth.js.map +1 -1
- package/dist/migrations/remove-notes-prompts.d.ts.map +1 -1
- package/dist/migrations/remove-notes-prompts.js +26 -26
- package/dist/migrations/remove-notes-prompts.js.map +1 -1
- package/dist/routes/bookmarks.d.ts +1 -1
- package/dist/routes/bookmarks.d.ts.map +1 -1
- package/dist/routes/bookmarks.js +53 -44
- package/dist/routes/bookmarks.js.map +1 -1
- package/dist/routes/config.d.ts +1 -1
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/config.js +29 -27
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/files.d.ts +1 -1
- package/dist/routes/files.d.ts.map +1 -1
- package/dist/routes/files.js +175 -134
- package/dist/routes/files.js.map +1 -1
- package/dist/routes/git.d.ts +1 -1
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +183 -169
- package/dist/routes/git.js.map +1 -1
- package/dist/routes/moduleRegistry.d.ts +3 -3
- package/dist/routes/moduleRegistry.d.ts.map +1 -1
- package/dist/routes/moduleRegistry.js +58 -58
- package/dist/routes/moduleRegistry.js.map +1 -1
- package/dist/routes/notifications.d.ts +1 -1
- package/dist/routes/notifications.d.ts.map +1 -1
- package/dist/routes/notifications.js +69 -64
- package/dist/routes/notifications.js.map +1 -1
- package/dist/routes/port-forward.d.ts +1 -1
- package/dist/routes/port-forward.d.ts.map +1 -1
- package/dist/routes/port-forward.js +59 -50
- package/dist/routes/port-forward.js.map +1 -1
- package/dist/routes/projects.d.ts +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +134 -120
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/ssh.d.ts +1 -1
- package/dist/routes/ssh.d.ts.map +1 -1
- package/dist/routes/ssh.js +47 -47
- package/dist/routes/ssh.js.map +1 -1
- package/dist/routes/tasks.d.ts +1 -1
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +53 -49
- package/dist/routes/tasks.js.map +1 -1
- package/dist/routes/tmux.d.ts +1 -1
- package/dist/routes/tmux.d.ts.map +1 -1
- package/dist/routes/tmux.js +337 -241
- package/dist/routes/tmux.js.map +1 -1
- package/dist/routes/tunnel.d.ts +2 -2
- package/dist/routes/tunnel.d.ts.map +1 -1
- package/dist/routes/tunnel.js +115 -74
- package/dist/routes/tunnel.js.map +1 -1
- package/dist/services/ModulePermissions.d.ts +2 -2
- package/dist/services/ModulePermissions.d.ts.map +1 -1
- package/dist/services/ModulePermissions.js +50 -40
- package/dist/services/ModulePermissions.js.map +1 -1
- package/dist/services/ModuleRegistryService.d.ts +10 -10
- package/dist/services/ModuleRegistryService.d.ts.map +1 -1
- package/dist/services/ModuleRegistryService.js +156 -131
- package/dist/services/ModuleRegistryService.js.map +1 -1
- package/dist/services/agent.service.d.ts.map +1 -1
- package/dist/services/agent.service.js +24 -21
- package/dist/services/agent.service.js.map +1 -1
- package/dist/services/bootstrap.d.ts +1 -1
- package/dist/services/bootstrap.d.ts.map +1 -1
- package/dist/services/bootstrap.js +146 -69
- package/dist/services/bootstrap.js.map +1 -1
- package/dist/services/service-manager.d.ts +2 -2
- package/dist/services/service-manager.d.ts.map +1 -1
- package/dist/services/service-manager.js +75 -63
- package/dist/services/service-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import jwt from
|
|
2
|
-
import crypto from
|
|
1
|
+
import jwt from "jsonwebtoken";
|
|
2
|
+
import crypto from "crypto";
|
|
3
3
|
export class ModuleAuthMiddleware {
|
|
4
4
|
moduleTokens = new Map();
|
|
5
5
|
tokenSecrets = new Map();
|
|
@@ -18,14 +18,14 @@ export class ModuleAuthMiddleware {
|
|
|
18
18
|
// Create JWT payload
|
|
19
19
|
const payload = {
|
|
20
20
|
moduleId,
|
|
21
|
-
type:
|
|
22
|
-
permissions
|
|
21
|
+
type: "module",
|
|
22
|
+
permissions,
|
|
23
23
|
};
|
|
24
24
|
// Sign token with module-specific secret
|
|
25
25
|
const token = jwt.sign(payload, moduleSecret, {
|
|
26
|
-
expiresIn:
|
|
27
|
-
issuer:
|
|
28
|
-
audience: moduleId
|
|
26
|
+
expiresIn: "7d",
|
|
27
|
+
issuer: "vibecontrols-agent",
|
|
28
|
+
audience: moduleId,
|
|
29
29
|
});
|
|
30
30
|
// Store token mapping
|
|
31
31
|
this.moduleTokens.set(moduleId, token);
|
|
@@ -34,7 +34,7 @@ export class ModuleAuthMiddleware {
|
|
|
34
34
|
}
|
|
35
35
|
catch (error) {
|
|
36
36
|
console.error(`Failed to generate token for module ${moduleId}:`, error);
|
|
37
|
-
throw new Error(
|
|
37
|
+
throw new Error("Token generation failed");
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -43,10 +43,10 @@ export class ModuleAuthMiddleware {
|
|
|
43
43
|
authenticateModule(request) {
|
|
44
44
|
try {
|
|
45
45
|
const authHeader = request.headers.authorization;
|
|
46
|
-
if (!authHeader || !authHeader.startsWith(
|
|
46
|
+
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
47
47
|
return {
|
|
48
48
|
valid: false,
|
|
49
|
-
error:
|
|
49
|
+
error: "Missing or invalid authorization header",
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
const token = authHeader.substring(7);
|
|
@@ -55,7 +55,7 @@ export class ModuleAuthMiddleware {
|
|
|
55
55
|
if (!decoded || !decoded.moduleId) {
|
|
56
56
|
return {
|
|
57
57
|
valid: false,
|
|
58
|
-
error:
|
|
58
|
+
error: "Invalid token format",
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
const moduleId = decoded.moduleId;
|
|
@@ -64,7 +64,7 @@ export class ModuleAuthMiddleware {
|
|
|
64
64
|
if (!storedToken || storedToken !== token) {
|
|
65
65
|
return {
|
|
66
66
|
valid: false,
|
|
67
|
-
error:
|
|
67
|
+
error: "Token not found or expired",
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
// Get module secret
|
|
@@ -72,31 +72,31 @@ export class ModuleAuthMiddleware {
|
|
|
72
72
|
if (!moduleSecret) {
|
|
73
73
|
return {
|
|
74
74
|
valid: false,
|
|
75
|
-
error:
|
|
75
|
+
error: "Module secret not found",
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
// Verify token with module secret
|
|
79
79
|
const payload = jwt.verify(token, moduleSecret, {
|
|
80
|
-
issuer:
|
|
81
|
-
audience: moduleId
|
|
80
|
+
issuer: "vibecontrols-agent",
|
|
81
|
+
audience: moduleId,
|
|
82
82
|
});
|
|
83
83
|
return {
|
|
84
84
|
valid: true,
|
|
85
85
|
moduleId: payload.moduleId,
|
|
86
|
-
permissions: payload.permissions || []
|
|
86
|
+
permissions: payload.permissions || [],
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
catch (error) {
|
|
90
90
|
if (error instanceof jwt.JsonWebTokenError) {
|
|
91
91
|
return {
|
|
92
92
|
valid: false,
|
|
93
|
-
error: `JWT Error: ${error.message}
|
|
93
|
+
error: `JWT Error: ${error.message}`,
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
-
console.error(
|
|
96
|
+
console.error("Authentication error:", error);
|
|
97
97
|
return {
|
|
98
98
|
valid: false,
|
|
99
|
-
error:
|
|
99
|
+
error: "Authentication failed",
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -134,25 +134,28 @@ export class ModuleAuthMiddleware {
|
|
|
134
134
|
try {
|
|
135
135
|
const decoded = jwt.decode(token);
|
|
136
136
|
if (!decoded || !decoded.moduleId) {
|
|
137
|
-
return { valid: false, error:
|
|
137
|
+
return { valid: false, error: "Invalid token format" };
|
|
138
138
|
}
|
|
139
139
|
const moduleId = decoded.moduleId;
|
|
140
140
|
const moduleSecret = this.tokenSecrets.get(moduleId);
|
|
141
141
|
if (!moduleSecret) {
|
|
142
|
-
return { valid: false, error:
|
|
142
|
+
return { valid: false, error: "Module secret not found" };
|
|
143
143
|
}
|
|
144
144
|
const payload = jwt.verify(token, moduleSecret, {
|
|
145
|
-
issuer:
|
|
146
|
-
audience: moduleId
|
|
145
|
+
issuer: "vibecontrols-agent",
|
|
146
|
+
audience: moduleId,
|
|
147
147
|
});
|
|
148
148
|
return {
|
|
149
149
|
valid: true,
|
|
150
150
|
moduleId: payload.moduleId,
|
|
151
|
-
permissions: payload.permissions || []
|
|
151
|
+
permissions: payload.permissions || [],
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
154
|
catch (error) {
|
|
155
|
-
return {
|
|
155
|
+
return {
|
|
156
|
+
valid: false,
|
|
157
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
158
|
+
};
|
|
156
159
|
}
|
|
157
160
|
}
|
|
158
161
|
/**
|
|
@@ -189,15 +192,15 @@ export class ModuleAuthMiddleware {
|
|
|
189
192
|
const auth = this.authenticateModule(request);
|
|
190
193
|
if (!auth.valid) {
|
|
191
194
|
reply.code(401).send({
|
|
192
|
-
error:
|
|
193
|
-
message: auth.error
|
|
195
|
+
error: "Unauthorized",
|
|
196
|
+
message: auth.error,
|
|
194
197
|
});
|
|
195
198
|
return;
|
|
196
199
|
}
|
|
197
200
|
// Add module info to request
|
|
198
201
|
request.moduleAuth = {
|
|
199
202
|
moduleId: auth.moduleId,
|
|
200
|
-
permissions: auth.permissions
|
|
203
|
+
permissions: auth.permissions,
|
|
201
204
|
};
|
|
202
205
|
};
|
|
203
206
|
}
|
|
@@ -205,7 +208,7 @@ export class ModuleAuthMiddleware {
|
|
|
205
208
|
* Generate cryptographically secure secret
|
|
206
209
|
*/
|
|
207
210
|
generateSecret() {
|
|
208
|
-
return crypto.randomBytes(32).toString(
|
|
211
|
+
return crypto.randomBytes(32).toString("hex");
|
|
209
212
|
}
|
|
210
213
|
/**
|
|
211
214
|
* Start token cleanup interval
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleAuth.js","sourceRoot":"","sources":["../../src/middleware/ModuleAuth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ModuleAuth.js","sourceRoot":"","sources":["../../src/middleware/ModuleAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAsB,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,iBAWpB"}
|
package/dist/middleware/auth.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export async function authMiddleware(request, reply) {
|
|
2
2
|
// Skip auth for health check
|
|
3
|
-
if (request.url ===
|
|
3
|
+
if (request.url === "/health")
|
|
4
4
|
return;
|
|
5
|
-
const apiKey = request.headers[
|
|
6
|
-
const expectedKey = process.env.AGENT_API_KEY ||
|
|
5
|
+
const apiKey = request.headers["x-api-key"];
|
|
6
|
+
const expectedKey = process.env.AGENT_API_KEY || "default-api-key";
|
|
7
7
|
if (!apiKey || apiKey !== expectedKey) {
|
|
8
|
-
reply.code(401).send({ error:
|
|
8
|
+
reply.code(401).send({ error: "Unauthorized" });
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,KAAmB;IAEnB,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAW,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,iBAAiB,CAAC;IAEnE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-notes-prompts.d.ts","sourceRoot":"","sources":["../../src/migrations/remove-notes-prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"remove-notes-prompts.d.ts","sourceRoot":"","sources":["../../src/migrations/remove-notes-prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,MAAkC,GACzC,eAAe,CAqJjB"}
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
* These tables were created but never implemented in the agent codebase
|
|
4
4
|
* Notes and prompts functionality is handled by the PostgreSQL backend
|
|
5
5
|
*/
|
|
6
|
-
import Database from
|
|
7
|
-
import fs from
|
|
8
|
-
import path from
|
|
9
|
-
export function removeNotesPromptsTables(dbPath =
|
|
6
|
+
import Database from "better-sqlite3";
|
|
7
|
+
import fs from "fs";
|
|
8
|
+
import path from "path";
|
|
9
|
+
export function removeNotesPromptsTables(dbPath = "./vibecontrols-agent.db") {
|
|
10
10
|
const result = {
|
|
11
11
|
success: false,
|
|
12
12
|
tablesRemoved: [],
|
|
13
|
-
errors: []
|
|
13
|
+
errors: [],
|
|
14
14
|
};
|
|
15
15
|
let db = null;
|
|
16
16
|
try {
|
|
17
17
|
// Check if database exists
|
|
18
18
|
if (!fs.existsSync(dbPath)) {
|
|
19
|
-
result.errors.push(
|
|
19
|
+
result.errors.push("Database file does not exist");
|
|
20
20
|
return result;
|
|
21
21
|
}
|
|
22
22
|
// Create backup before migration
|
|
23
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g,
|
|
23
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
24
24
|
const backupPath = path.join(path.dirname(dbPath), `vibecontrols-agent-backup-${timestamp}.db`);
|
|
25
25
|
try {
|
|
26
26
|
fs.copyFileSync(dbPath, backupPath);
|
|
@@ -28,25 +28,25 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
28
28
|
console.log(`Created backup at: ${backupPath}`);
|
|
29
29
|
}
|
|
30
30
|
catch (error) {
|
|
31
|
-
result.errors.push(`Failed to create backup: ${error instanceof Error ? error.message :
|
|
31
|
+
result.errors.push(`Failed to create backup: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
34
|
// Open database connection
|
|
35
35
|
db = new Database(dbPath);
|
|
36
|
-
db.exec(
|
|
36
|
+
db.exec("PRAGMA journal_mode = WAL");
|
|
37
37
|
// Check if tables exist before attempting to drop them
|
|
38
38
|
const checkTablesQuery = `
|
|
39
39
|
SELECT name FROM sqlite_master
|
|
40
40
|
WHERE type='table' AND name IN ('notes', 'prompts')
|
|
41
41
|
`;
|
|
42
42
|
const existingTables = db.prepare(checkTablesQuery).all();
|
|
43
|
-
const tablesToRemove = existingTables.map(t => t.name);
|
|
43
|
+
const tablesToRemove = existingTables.map((t) => t.name);
|
|
44
44
|
if (tablesToRemove.length === 0) {
|
|
45
|
-
console.log(
|
|
45
|
+
console.log("No notes or prompts tables found to remove");
|
|
46
46
|
result.success = true;
|
|
47
47
|
return result;
|
|
48
48
|
}
|
|
49
|
-
console.log(`Found tables to remove: ${tablesToRemove.join(
|
|
49
|
+
console.log(`Found tables to remove: ${tablesToRemove.join(", ")}`);
|
|
50
50
|
// Remove tables in transaction
|
|
51
51
|
const transaction = db.transaction(() => {
|
|
52
52
|
for (const tableName of tablesToRemove) {
|
|
@@ -68,7 +68,7 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
68
68
|
`DROP INDEX IF EXISTS idx_${tableName}_projectId`,
|
|
69
69
|
`DROP INDEX IF EXISTS idx_${tableName}_status`,
|
|
70
70
|
`DROP INDEX IF EXISTS idx_${tableName}_createdAt`,
|
|
71
|
-
`DROP INDEX IF EXISTS idx_${tableName}_updatedAt
|
|
71
|
+
`DROP INDEX IF EXISTS idx_${tableName}_updatedAt`,
|
|
72
72
|
];
|
|
73
73
|
for (const indexQuery of dropIndexQueries) {
|
|
74
74
|
try {
|
|
@@ -82,7 +82,7 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
82
82
|
console.log(`Successfully removed table: ${tableName}`);
|
|
83
83
|
}
|
|
84
84
|
catch (tableError) {
|
|
85
|
-
const errorMsg = `Failed to remove table '${tableName}': ${tableError instanceof Error ? tableError.message :
|
|
85
|
+
const errorMsg = `Failed to remove table '${tableName}': ${tableError instanceof Error ? tableError.message : "Unknown error"}`;
|
|
86
86
|
result.errors.push(errorMsg);
|
|
87
87
|
console.error(errorMsg);
|
|
88
88
|
}
|
|
@@ -97,20 +97,20 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
97
97
|
`;
|
|
98
98
|
const remainingTables = db.prepare(verifyQuery).all();
|
|
99
99
|
if (remainingTables.length > 0) {
|
|
100
|
-
result.errors.push(`Some tables were not removed: ${remainingTables.map(t => t.name).join(
|
|
100
|
+
result.errors.push(`Some tables were not removed: ${remainingTables.map((t) => t.name).join(", ")}`);
|
|
101
101
|
}
|
|
102
102
|
// Vacuum database to reclaim space
|
|
103
103
|
try {
|
|
104
|
-
db.exec(
|
|
105
|
-
console.log(
|
|
104
|
+
db.exec("VACUUM");
|
|
105
|
+
console.log("Database vacuumed to reclaim space");
|
|
106
106
|
}
|
|
107
107
|
catch (vacuumError) {
|
|
108
|
-
console.warn(
|
|
108
|
+
console.warn("Failed to vacuum database:", vacuumError);
|
|
109
109
|
}
|
|
110
110
|
result.success = result.errors.length === 0;
|
|
111
111
|
}
|
|
112
112
|
catch (error) {
|
|
113
|
-
const errorMsg = `Migration failed: ${error instanceof Error ? error.message :
|
|
113
|
+
const errorMsg = `Migration failed: ${error instanceof Error ? error.message : "Unknown error"}`;
|
|
114
114
|
result.errors.push(errorMsg);
|
|
115
115
|
console.error(errorMsg);
|
|
116
116
|
}
|
|
@@ -121,7 +121,7 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
121
121
|
db.close();
|
|
122
122
|
}
|
|
123
123
|
catch (closeError) {
|
|
124
|
-
console.warn(
|
|
124
|
+
console.warn("Warning: Failed to close database connection:", closeError);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
}
|
|
@@ -129,19 +129,19 @@ export function removeNotesPromptsTables(dbPath = './vibecontrols-agent.db') {
|
|
|
129
129
|
}
|
|
130
130
|
// CLI support - run migration if this file is executed directly
|
|
131
131
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
132
|
-
const dbPath = process.argv[2] ||
|
|
133
|
-
console.log(
|
|
132
|
+
const dbPath = process.argv[2] || "./vibecontrols-agent.db";
|
|
133
|
+
console.log("Running notes/prompts table removal migration...");
|
|
134
134
|
console.log(`Database path: ${dbPath}`);
|
|
135
135
|
const result = removeNotesPromptsTables(dbPath);
|
|
136
|
-
console.log(
|
|
136
|
+
console.log("\n=== Migration Results ===");
|
|
137
137
|
console.log(`Success: ${result.success}`);
|
|
138
|
-
console.log(`Tables removed: ${result.tablesRemoved.length > 0 ? result.tablesRemoved.join(
|
|
138
|
+
console.log(`Tables removed: ${result.tablesRemoved.length > 0 ? result.tablesRemoved.join(", ") : "None"}`);
|
|
139
139
|
if (result.backupCreated) {
|
|
140
140
|
console.log(`Backup created: ${result.backupCreated}`);
|
|
141
141
|
}
|
|
142
142
|
if (result.errors.length > 0) {
|
|
143
|
-
console.log(
|
|
144
|
-
result.errors.forEach(error => console.log(` - ${error}`));
|
|
143
|
+
console.log("Errors:");
|
|
144
|
+
result.errors.forEach((error) => console.log(` - ${error}`));
|
|
145
145
|
}
|
|
146
146
|
process.exit(result.success ? 0 : 1);
|
|
147
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-notes-prompts.js","sourceRoot":"","sources":["../../src/migrations/remove-notes-prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"remove-notes-prompts.js","sourceRoot":"","sources":["../../src/migrations/remove-notes-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAsB7C,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAsB7C,eAAO,MAAM,cAAc,EAAE,kBAkO5B,CAAC"}
|