@burdenoff/vibe-agent 1.0.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/.env.example +8 -0
- package/LICENSE +22 -0
- package/README.md +290 -0
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +445 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1043 -0
- package/dist/cli.js.map +1 -0
- package/dist/db/schema.d.ts +145 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +536 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/ModuleAuth.d.ts +61 -0
- package/dist/middleware/ModuleAuth.d.ts.map +1 -0
- package/dist/middleware/ModuleAuth.js +220 -0
- package/dist/middleware/ModuleAuth.js.map +1 -0
- package/dist/middleware/auth.d.ts +3 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +11 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/migrations/remove-notes-prompts.d.ts +13 -0
- package/dist/migrations/remove-notes-prompts.d.ts.map +1 -0
- package/dist/migrations/remove-notes-prompts.js +148 -0
- package/dist/migrations/remove-notes-prompts.js.map +1 -0
- package/dist/routes/bookmarks.d.ts +3 -0
- package/dist/routes/bookmarks.d.ts.map +1 -0
- package/dist/routes/bookmarks.js +186 -0
- package/dist/routes/bookmarks.js.map +1 -0
- package/dist/routes/config.d.ts +3 -0
- package/dist/routes/config.d.ts.map +1 -0
- package/dist/routes/config.js +108 -0
- package/dist/routes/config.js.map +1 -0
- package/dist/routes/files.d.ts +3 -0
- package/dist/routes/files.d.ts.map +1 -0
- package/dist/routes/files.js +471 -0
- package/dist/routes/files.js.map +1 -0
- package/dist/routes/git.d.ts +3 -0
- package/dist/routes/git.d.ts.map +1 -0
- package/dist/routes/git.js +498 -0
- package/dist/routes/git.js.map +1 -0
- package/dist/routes/moduleRegistry.d.ts +41 -0
- package/dist/routes/moduleRegistry.d.ts.map +1 -0
- package/dist/routes/moduleRegistry.js +356 -0
- package/dist/routes/moduleRegistry.js.map +1 -0
- package/dist/routes/notifications.d.ts +3 -0
- package/dist/routes/notifications.d.ts.map +1 -0
- package/dist/routes/notifications.js +250 -0
- package/dist/routes/notifications.js.map +1 -0
- package/dist/routes/port-forward.d.ts +3 -0
- package/dist/routes/port-forward.d.ts.map +1 -0
- package/dist/routes/port-forward.js +205 -0
- package/dist/routes/port-forward.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +442 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/ssh.d.ts +3 -0
- package/dist/routes/ssh.d.ts.map +1 -0
- package/dist/routes/ssh.js +192 -0
- package/dist/routes/ssh.js.map +1 -0
- package/dist/routes/tasks.d.ts +3 -0
- package/dist/routes/tasks.d.ts.map +1 -0
- package/dist/routes/tasks.js +183 -0
- package/dist/routes/tasks.js.map +1 -0
- package/dist/routes/tmux.d.ts +3 -0
- package/dist/routes/tmux.d.ts.map +1 -0
- package/dist/routes/tmux.js +1191 -0
- package/dist/routes/tmux.js.map +1 -0
- package/dist/routes/tunnel.d.ts +25 -0
- package/dist/routes/tunnel.d.ts.map +1 -0
- package/dist/routes/tunnel.js +449 -0
- package/dist/routes/tunnel.js.map +1 -0
- package/dist/services/ModulePermissions.d.ts +100 -0
- package/dist/services/ModulePermissions.d.ts.map +1 -0
- package/dist/services/ModulePermissions.js +312 -0
- package/dist/services/ModulePermissions.js.map +1 -0
- package/dist/services/ModuleRegistryService.d.ts +152 -0
- package/dist/services/ModuleRegistryService.d.ts.map +1 -0
- package/dist/services/ModuleRegistryService.js +522 -0
- package/dist/services/ModuleRegistryService.js.map +1 -0
- package/dist/services/agent.service.d.ts +19 -0
- package/dist/services/agent.service.d.ts.map +1 -0
- package/dist/services/agent.service.js +88 -0
- package/dist/services/agent.service.js.map +1 -0
- package/dist/services/bootstrap.d.ts +22 -0
- package/dist/services/bootstrap.d.ts.map +1 -0
- package/dist/services/bootstrap.js +206 -0
- package/dist/services/bootstrap.js.map +1 -0
- package/dist/services/service-manager.d.ts +50 -0
- package/dist/services/service-manager.d.ts.map +1 -0
- package/dist/services/service-manager.js +382 -0
- package/dist/services/service-manager.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { Client } from 'ssh2';
|
|
3
|
+
import { readFileSync } from 'fs';
|
|
4
|
+
export const sshRoutes = async (fastify) => {
|
|
5
|
+
// Get all SSH connections
|
|
6
|
+
fastify.get('/connections', async (_request, _reply) => {
|
|
7
|
+
const connections = fastify.db.getAllSSHConnections();
|
|
8
|
+
// Remove sensitive data
|
|
9
|
+
const safeConnections = connections.map(conn => ({
|
|
10
|
+
...conn,
|
|
11
|
+
password: undefined,
|
|
12
|
+
privateKeyPath: conn.privateKeyPath ? '***' : undefined
|
|
13
|
+
}));
|
|
14
|
+
return { connections: safeConnections };
|
|
15
|
+
});
|
|
16
|
+
// Create SSH connection config
|
|
17
|
+
fastify.post('/connections', async (request, reply) => {
|
|
18
|
+
const { serverName, host, port = 22, username, privateKeyPath, password } = request.body;
|
|
19
|
+
try {
|
|
20
|
+
// Note: Removed unique constraint on serverName since we now allow multiple connections to same server
|
|
21
|
+
const connection = fastify.db.createSSHConnection({
|
|
22
|
+
id: uuidv4(),
|
|
23
|
+
serverName,
|
|
24
|
+
host,
|
|
25
|
+
port,
|
|
26
|
+
username,
|
|
27
|
+
privateKeyPath,
|
|
28
|
+
password
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
connection: {
|
|
32
|
+
...connection,
|
|
33
|
+
password: undefined,
|
|
34
|
+
privateKeyPath: connection.privateKeyPath ? '***' : undefined
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return reply.code(500).send({
|
|
40
|
+
error: 'Failed to create SSH connection',
|
|
41
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Execute command on remote server
|
|
46
|
+
fastify.post('/execute', async (request, reply) => {
|
|
47
|
+
const { connectionId, command, workingDirectory } = request.body;
|
|
48
|
+
try {
|
|
49
|
+
const connectionConfig = fastify.db.getSSHConnection(connectionId);
|
|
50
|
+
if (!connectionConfig) {
|
|
51
|
+
return reply.code(404).send({ error: 'SSH connection not found' });
|
|
52
|
+
}
|
|
53
|
+
const conn = new Client();
|
|
54
|
+
let output = '';
|
|
55
|
+
let errorOutput = '';
|
|
56
|
+
return new Promise((resolve) => {
|
|
57
|
+
conn.on('ready', () => {
|
|
58
|
+
const fullCommand = workingDirectory
|
|
59
|
+
? `cd ${workingDirectory} && ${command}`
|
|
60
|
+
: command;
|
|
61
|
+
conn.exec(fullCommand, (err, stream) => {
|
|
62
|
+
if (err) {
|
|
63
|
+
conn.end();
|
|
64
|
+
return resolve(reply.code(500).send({
|
|
65
|
+
error: 'Failed to execute command',
|
|
66
|
+
details: err.message
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
stream.on('close', (code) => {
|
|
70
|
+
conn.end();
|
|
71
|
+
resolve({
|
|
72
|
+
output,
|
|
73
|
+
errorOutput,
|
|
74
|
+
exitCode: code,
|
|
75
|
+
success: code === 0
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
stream.on('data', (data) => {
|
|
79
|
+
output += data.toString();
|
|
80
|
+
// Emit real-time output
|
|
81
|
+
fastify.io.emit('ssh:output', {
|
|
82
|
+
connectionId,
|
|
83
|
+
data: data.toString(),
|
|
84
|
+
type: 'stdout'
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
stream.stderr.on('data', (data) => {
|
|
88
|
+
errorOutput += data.toString();
|
|
89
|
+
// Emit real-time error output
|
|
90
|
+
fastify.io.emit('ssh:output', {
|
|
91
|
+
connectionId,
|
|
92
|
+
data: data.toString(),
|
|
93
|
+
type: 'stderr'
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
conn.on('error', (err) => {
|
|
99
|
+
resolve(reply.code(500).send({
|
|
100
|
+
error: 'SSH connection failed',
|
|
101
|
+
details: err.message
|
|
102
|
+
}));
|
|
103
|
+
});
|
|
104
|
+
// Connect with appropriate auth method
|
|
105
|
+
const connectConfig = {
|
|
106
|
+
host: connectionConfig.host,
|
|
107
|
+
port: connectionConfig.port,
|
|
108
|
+
username: connectionConfig.username,
|
|
109
|
+
};
|
|
110
|
+
if (connectionConfig.privateKeyPath) {
|
|
111
|
+
connectConfig.privateKey = readFileSync(connectionConfig.privateKeyPath);
|
|
112
|
+
}
|
|
113
|
+
else if (connectionConfig.password) {
|
|
114
|
+
connectConfig.password = connectionConfig.password;
|
|
115
|
+
}
|
|
116
|
+
conn.connect(connectConfig);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return reply.code(500).send({
|
|
121
|
+
error: 'Failed to execute SSH command',
|
|
122
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
// Test SSH connection
|
|
127
|
+
fastify.post('/test/:connectionId', async (request, reply) => {
|
|
128
|
+
const { connectionId } = request.params;
|
|
129
|
+
try {
|
|
130
|
+
const connectionConfig = fastify.db.getSSHConnection(connectionId);
|
|
131
|
+
if (!connectionConfig) {
|
|
132
|
+
return reply.code(404).send({ error: 'SSH connection not found' });
|
|
133
|
+
}
|
|
134
|
+
const conn = new Client();
|
|
135
|
+
return new Promise((resolve) => {
|
|
136
|
+
conn.on('ready', () => {
|
|
137
|
+
conn.end();
|
|
138
|
+
resolve({ success: true, message: 'Connection successful' });
|
|
139
|
+
});
|
|
140
|
+
conn.on('error', (err) => {
|
|
141
|
+
resolve(reply.code(500).send({
|
|
142
|
+
success: false,
|
|
143
|
+
error: 'Connection failed',
|
|
144
|
+
details: err.message
|
|
145
|
+
}));
|
|
146
|
+
});
|
|
147
|
+
// Connect with appropriate auth method
|
|
148
|
+
const connectConfig = {
|
|
149
|
+
host: connectionConfig.host,
|
|
150
|
+
port: connectionConfig.port,
|
|
151
|
+
username: connectionConfig.username,
|
|
152
|
+
readyTimeout: 10000 // 10 second timeout
|
|
153
|
+
};
|
|
154
|
+
if (connectionConfig.privateKeyPath) {
|
|
155
|
+
connectConfig.privateKey = readFileSync(connectionConfig.privateKeyPath);
|
|
156
|
+
}
|
|
157
|
+
else if (connectionConfig.password) {
|
|
158
|
+
connectConfig.password = connectionConfig.password;
|
|
159
|
+
}
|
|
160
|
+
conn.connect(connectConfig);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return reply.code(500).send({
|
|
165
|
+
success: false,
|
|
166
|
+
error: 'Failed to test connection',
|
|
167
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
// Delete SSH connection
|
|
172
|
+
fastify.delete('/connections/:id', async (request, reply) => {
|
|
173
|
+
const { id } = request.params;
|
|
174
|
+
try {
|
|
175
|
+
const connection = fastify.db.getSSHConnection(id);
|
|
176
|
+
if (!connection) {
|
|
177
|
+
return reply.code(404).send({ error: 'Connection not found' });
|
|
178
|
+
}
|
|
179
|
+
// Note: In a real implementation, you'd want to check if any active
|
|
180
|
+
// port forwards or sessions are using this connection first
|
|
181
|
+
fastify.db.deleteSSHConnection(id);
|
|
182
|
+
return { success: true };
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return reply.code(500).send({
|
|
186
|
+
error: 'Failed to delete connection',
|
|
187
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=ssh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/routes/ssh.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAsB7C,eAAO,MAAM,UAAU,EAAE,kBAqFxB,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { exec } from 'child_process';
|
|
3
|
+
import { promisify } from 'util';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
export const taskRoutes = async (fastify) => {
|
|
6
|
+
// Get all tasks
|
|
7
|
+
fastify.get('/', async (request, _reply) => {
|
|
8
|
+
const { status } = request.query;
|
|
9
|
+
if (status === 'pending') {
|
|
10
|
+
const tasks = fastify.db.getPendingTasks();
|
|
11
|
+
return { tasks };
|
|
12
|
+
}
|
|
13
|
+
// For now, return pending tasks by default
|
|
14
|
+
// In a real implementation, you'd want to add methods to get all tasks with pagination
|
|
15
|
+
const tasks = fastify.db.getPendingTasks();
|
|
16
|
+
return { tasks };
|
|
17
|
+
});
|
|
18
|
+
// Get task by ID
|
|
19
|
+
fastify.get('/:id', async (request, reply) => {
|
|
20
|
+
const { id } = request.params;
|
|
21
|
+
const task = fastify.db.getTask(id);
|
|
22
|
+
if (!task) {
|
|
23
|
+
return reply.code(404).send({ error: 'Task not found' });
|
|
24
|
+
}
|
|
25
|
+
return { task };
|
|
26
|
+
});
|
|
27
|
+
// Create new task
|
|
28
|
+
fastify.post('/', async (request, reply) => {
|
|
29
|
+
const { type, payload } = request.body;
|
|
30
|
+
try {
|
|
31
|
+
const task = fastify.db.createTask({
|
|
32
|
+
id: uuidv4(),
|
|
33
|
+
type,
|
|
34
|
+
status: 'pending',
|
|
35
|
+
payload: JSON.stringify(payload)
|
|
36
|
+
});
|
|
37
|
+
// Emit task created event
|
|
38
|
+
fastify.io.emit('task:created', task);
|
|
39
|
+
// Process task asynchronously
|
|
40
|
+
processTask(fastify, task);
|
|
41
|
+
return { task };
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return reply.code(500).send({
|
|
45
|
+
error: 'Failed to create task',
|
|
46
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// Cancel task
|
|
51
|
+
fastify.post('/:id/cancel', async (request, reply) => {
|
|
52
|
+
const { id } = request.params;
|
|
53
|
+
try {
|
|
54
|
+
const task = fastify.db.getTask(id);
|
|
55
|
+
if (!task) {
|
|
56
|
+
return reply.code(404).send({ error: 'Task not found' });
|
|
57
|
+
}
|
|
58
|
+
if (task.status !== 'pending') {
|
|
59
|
+
return reply.code(400).send({ error: 'Only pending tasks can be cancelled' });
|
|
60
|
+
}
|
|
61
|
+
fastify.db.updateTask(id, {
|
|
62
|
+
status: 'failed',
|
|
63
|
+
error: 'Task cancelled by user'
|
|
64
|
+
});
|
|
65
|
+
// Emit task cancelled event
|
|
66
|
+
fastify.io.emit('task:cancelled', { id });
|
|
67
|
+
return { success: true };
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return reply.code(500).send({
|
|
71
|
+
error: 'Failed to cancel task',
|
|
72
|
+
details: error instanceof Error ? error.message : 'Unknown error'
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
// Process task asynchronously
|
|
78
|
+
async function processTask(fastify, task) {
|
|
79
|
+
try {
|
|
80
|
+
// Update task status to running
|
|
81
|
+
fastify.db.updateTask(task.id, { status: 'running' });
|
|
82
|
+
fastify.io.emit('task:started', { id: task.id });
|
|
83
|
+
const payload = JSON.parse(task.payload);
|
|
84
|
+
let result;
|
|
85
|
+
switch (task.type) {
|
|
86
|
+
case 'command':
|
|
87
|
+
result = await executeCommand(payload);
|
|
88
|
+
break;
|
|
89
|
+
case 'script':
|
|
90
|
+
result = await executeScript(payload);
|
|
91
|
+
break;
|
|
92
|
+
case 'file_operation':
|
|
93
|
+
result = await executeFileOperation(payload);
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
throw new Error(`Unknown task type: ${task.type}`);
|
|
97
|
+
}
|
|
98
|
+
// Update task with result
|
|
99
|
+
fastify.db.updateTask(task.id, {
|
|
100
|
+
status: 'completed',
|
|
101
|
+
result: JSON.stringify(result)
|
|
102
|
+
});
|
|
103
|
+
// Emit task completed event
|
|
104
|
+
fastify.io.emit('task:completed', {
|
|
105
|
+
id: task.id,
|
|
106
|
+
result
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
// Update task with error
|
|
111
|
+
fastify.db.updateTask(task.id, {
|
|
112
|
+
status: 'failed',
|
|
113
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
114
|
+
});
|
|
115
|
+
// Emit task failed event
|
|
116
|
+
fastify.io.emit('task:failed', {
|
|
117
|
+
id: task.id,
|
|
118
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Execute command
|
|
123
|
+
async function executeCommand(payload) {
|
|
124
|
+
const { command, cwd, env } = payload;
|
|
125
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
126
|
+
cwd,
|
|
127
|
+
env: { ...process.env, ...env }
|
|
128
|
+
});
|
|
129
|
+
return { stdout, stderr };
|
|
130
|
+
}
|
|
131
|
+
// Execute script
|
|
132
|
+
async function executeScript(payload) {
|
|
133
|
+
const { script, interpreter = 'bash', cwd } = payload;
|
|
134
|
+
// Write script to temporary file
|
|
135
|
+
const fs = await import('fs/promises');
|
|
136
|
+
const path = await import('path');
|
|
137
|
+
const os = await import('os');
|
|
138
|
+
const tmpDir = os.tmpdir();
|
|
139
|
+
const scriptFile = path.join(tmpDir, `vibecontrols-script-${Date.now()}.sh`);
|
|
140
|
+
await fs.writeFile(scriptFile, script, { mode: 0o755 });
|
|
141
|
+
try {
|
|
142
|
+
const { stdout, stderr } = await execAsync(`${interpreter} ${scriptFile}`, { cwd });
|
|
143
|
+
return { stdout, stderr };
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
// Clean up
|
|
147
|
+
await fs.unlink(scriptFile).catch(() => { });
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Execute file operation
|
|
151
|
+
async function executeFileOperation(payload) {
|
|
152
|
+
const fs = await import('fs/promises');
|
|
153
|
+
const { operation, path, content } = payload;
|
|
154
|
+
switch (operation) {
|
|
155
|
+
case 'read': {
|
|
156
|
+
const data = await fs.readFile(path, 'utf-8');
|
|
157
|
+
return { content: data };
|
|
158
|
+
}
|
|
159
|
+
case 'write':
|
|
160
|
+
if (!content)
|
|
161
|
+
throw new Error('Content is required for write operation');
|
|
162
|
+
await fs.writeFile(path, content);
|
|
163
|
+
return { success: true };
|
|
164
|
+
case 'delete':
|
|
165
|
+
await fs.unlink(path);
|
|
166
|
+
return { success: true };
|
|
167
|
+
case 'exists':
|
|
168
|
+
try {
|
|
169
|
+
await fs.access(path);
|
|
170
|
+
return { exists: true };
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return { exists: false };
|
|
174
|
+
}
|
|
175
|
+
case 'list': {
|
|
176
|
+
const files = await fs.readdir(path);
|
|
177
|
+
return { files };
|
|
178
|
+
}
|
|
179
|
+
default:
|
|
180
|
+
throw new Error(`Unknown file operation: ${operation}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/routes/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAqB7C,eAAO,MAAM,UAAU,EAAE,kBAm3BxB,CAAC"}
|