clawsql 0.1.6 → 0.1.7
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/dist/api/routes/instances.d.ts.map +1 -1
- package/dist/api/routes/instances.js +9 -6
- package/dist/api/routes/instances.js.map +1 -1
- package/dist/api/schemas/index.d.ts +142 -142
- package/dist/bin/clawsql.js +0 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +40 -44
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +16 -36
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stop.d.ts.map +1 -1
- package/dist/cli/commands/stop.js +18 -35
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/utils/command-executor.d.ts +62 -0
- package/dist/cli/utils/command-executor.d.ts.map +1 -0
- package/dist/cli/utils/command-executor.js +224 -0
- package/dist/cli/utils/command-executor.js.map +1 -0
- package/dist/core/discovery/topology.d.ts.map +1 -1
- package/dist/core/discovery/topology.js +4 -1
- package/dist/core/discovery/topology.js.map +1 -1
- package/docker/Dockerfile.allinone +37 -28
- package/docker-compose.yml +3 -0
- package/init/metadata.sql +11 -0
- package/init/replica.sql +12 -2
- package/package.json +1 -1
- package/dist/__tests__/config/settings.test.d.ts +0 -5
- package/dist/__tests__/config/settings.test.d.ts.map +0 -1
- package/dist/__tests__/config/settings.test.js +0 -154
- package/dist/__tests__/config/settings.test.js.map +0 -1
- package/dist/__tests__/core/discovery/topology.test.d.ts +0 -5
- package/dist/__tests__/core/discovery/topology.test.d.ts.map +0 -1
- package/dist/__tests__/core/discovery/topology.test.js +0 -191
- package/dist/__tests__/core/discovery/topology.test.js.map +0 -1
- package/dist/__tests__/core/failover/executor.test.d.ts +0 -5
- package/dist/__tests__/core/failover/executor.test.d.ts.map +0 -1
- package/dist/__tests__/core/failover/executor.test.js +0 -256
- package/dist/__tests__/core/failover/executor.test.js.map +0 -1
- package/dist/__tests__/core/monitoring/collector.test.d.ts +0 -5
- package/dist/__tests__/core/monitoring/collector.test.d.ts.map +0 -1
- package/dist/__tests__/core/monitoring/collector.test.js +0 -131
- package/dist/__tests__/core/monitoring/collector.test.js.map +0 -1
- package/dist/__tests__/core/monitoring/exporters.test.d.ts +0 -5
- package/dist/__tests__/core/monitoring/exporters.test.d.ts.map +0 -1
- package/dist/__tests__/core/monitoring/exporters.test.js +0 -90
- package/dist/__tests__/core/monitoring/exporters.test.js.map +0 -1
- package/dist/__tests__/core/routing/proxysql-manager.test.d.ts +0 -5
- package/dist/__tests__/core/routing/proxysql-manager.test.d.ts.map +0 -1
- package/dist/__tests__/core/routing/proxysql-manager.test.js +0 -155
- package/dist/__tests__/core/routing/proxysql-manager.test.js.map +0 -1
- package/dist/__tests__/types/index.test.d.ts +0 -5
- package/dist/__tests__/types/index.test.d.ts.map +0 -1
- package/dist/__tests__/types/index.test.js +0 -290
- package/dist/__tests__/types/index.test.js.map +0 -1
- package/dist/__tests__/utils/exceptions.test.d.ts +0 -5
- package/dist/__tests__/utils/exceptions.test.d.ts.map +0 -1
- package/dist/__tests__/utils/exceptions.test.js +0 -142
- package/dist/__tests__/utils/exceptions.test.js.map +0 -1
- package/dist/cli/commands/health.d.ts +0 -12
- package/dist/cli/commands/health.d.ts.map +0 -1
- package/dist/cli/commands/health.js +0 -125
- package/dist/cli/commands/health.js.map +0 -1
package/dist/bin/clawsql.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AAWrD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAsE5B,CAAC;AAwGF,eAAe,cAAc,CAAC"}
|
|
@@ -40,11 +40,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.cleanupCommand = void 0;
|
|
42
42
|
const components_js_1 = require("../ui/components.js");
|
|
43
|
-
const child_process_1 = require("child_process");
|
|
44
43
|
const path = __importStar(require("path"));
|
|
45
44
|
const fs = __importStar(require("fs"));
|
|
46
45
|
const docker_files_js_1 = require("../utils/docker-files.js");
|
|
47
46
|
const docker_prereq_js_1 = require("../utils/docker-prereq.js");
|
|
47
|
+
const command_executor_js_1 = require("../utils/command-executor.js");
|
|
48
48
|
/**
|
|
49
49
|
* Cleanup command
|
|
50
50
|
*/
|
|
@@ -79,15 +79,25 @@ exports.cleanupCommand = {
|
|
|
79
79
|
// Use default path
|
|
80
80
|
dockerPath = (0, docker_files_js_1.getDockerFilesDir)();
|
|
81
81
|
}
|
|
82
|
+
// Clear progress cache and set up logging
|
|
83
|
+
(0, command_executor_js_1.clearProgressCache)();
|
|
84
|
+
// Track progress messages shown
|
|
85
|
+
const progressMessages = new Set();
|
|
86
|
+
const showProgress = (msg) => {
|
|
87
|
+
if (!progressMessages.has(msg)) {
|
|
88
|
+
progressMessages.add(msg);
|
|
89
|
+
console.log(components_js_1.theme.secondary(` ${msg}`));
|
|
90
|
+
}
|
|
91
|
+
};
|
|
82
92
|
// Stop and remove containers
|
|
83
93
|
console.log(components_js_1.theme.secondary('Stopping containers...'));
|
|
84
|
-
await stopContainers(dockerInfo.runtime);
|
|
94
|
+
await stopContainers(dockerInfo.runtime, showProgress);
|
|
85
95
|
// Remove volumes
|
|
86
96
|
console.log(components_js_1.theme.secondary('Removing volumes...'));
|
|
87
|
-
await removeVolumes(dockerInfo.runtime);
|
|
97
|
+
await removeVolumes(dockerInfo.runtime, showProgress);
|
|
88
98
|
// Remove images (optional)
|
|
89
99
|
console.log(components_js_1.theme.secondary('Removing images...'));
|
|
90
|
-
await removeImages(dockerInfo.runtime);
|
|
100
|
+
await removeImages(dockerInfo.runtime, showProgress);
|
|
91
101
|
// Remove local data directories
|
|
92
102
|
if (dockerPath && fs.existsSync(dockerPath)) {
|
|
93
103
|
console.log(components_js_1.theme.secondary('Removing local data...'));
|
|
@@ -96,27 +106,31 @@ exports.cleanupCommand = {
|
|
|
96
106
|
console.log();
|
|
97
107
|
console.log(components_js_1.theme.success(`${components_js_1.indicators.check} Cleanup complete!`));
|
|
98
108
|
console.log(components_js_1.theme.muted('Run "clawsql start" to start fresh.'));
|
|
109
|
+
console.log(components_js_1.theme.muted('Log file: ~/.clawsql/logs/clawsql.log'));
|
|
99
110
|
},
|
|
100
111
|
};
|
|
101
112
|
/**
|
|
102
113
|
* Stop all ClawSQL containers
|
|
103
114
|
*/
|
|
104
|
-
async function stopContainers(runtime) {
|
|
115
|
+
async function stopContainers(runtime, onProgress) {
|
|
105
116
|
// Get all clawsql-related containers
|
|
106
|
-
const result = await
|
|
117
|
+
const result = await (0, command_executor_js_1.executeCommand)([runtime], ['ps', '-a', '--filter', 'name=clawsql', '--filter', 'name=orchestrator',
|
|
107
118
|
'--filter', 'name=proxysql', '--filter', 'name=prometheus', '--filter', 'name=grafana',
|
|
108
|
-
'--filter', 'name=metadata-mysql', '--filter', 'name=mysql-', '-q'],
|
|
119
|
+
'--filter', 'name=metadata-mysql', '--filter', 'name=mysql-', '-q'], { logCommand: '/cleanup', onProgress });
|
|
109
120
|
if (result.success && result.stdout.trim()) {
|
|
110
121
|
const containerIds = result.stdout.trim().split('\n').filter(Boolean);
|
|
111
122
|
for (const id of containerIds) {
|
|
112
|
-
await
|
|
123
|
+
await (0, command_executor_js_1.executeCommand)([runtime], ['rm', '-f', id], {
|
|
124
|
+
logCommand: '/cleanup',
|
|
125
|
+
onProgress
|
|
126
|
+
});
|
|
113
127
|
}
|
|
114
128
|
}
|
|
115
129
|
}
|
|
116
130
|
/**
|
|
117
131
|
* Remove volumes
|
|
118
132
|
*/
|
|
119
|
-
async function removeVolumes(runtime) {
|
|
133
|
+
async function removeVolumes(runtime, onProgress) {
|
|
120
134
|
const volumePatterns = [
|
|
121
135
|
'clawsql',
|
|
122
136
|
'metadata-mysql-data',
|
|
@@ -125,16 +139,25 @@ async function removeVolumes(runtime) {
|
|
|
125
139
|
'grafana-data',
|
|
126
140
|
];
|
|
127
141
|
for (const pattern of volumePatterns) {
|
|
128
|
-
await
|
|
142
|
+
await (0, command_executor_js_1.executeCommand)([runtime], ['volume', 'rm', '-f', pattern], {
|
|
143
|
+
logCommand: '/cleanup',
|
|
144
|
+
onProgress
|
|
145
|
+
});
|
|
129
146
|
}
|
|
130
147
|
// Also try to find volumes with project prefix
|
|
131
|
-
const listResult = await
|
|
148
|
+
const listResult = await (0, command_executor_js_1.executeCommand)([runtime], ['volume', 'ls', '-q'], {
|
|
149
|
+
logCommand: '/cleanup',
|
|
150
|
+
onProgress
|
|
151
|
+
});
|
|
132
152
|
if (listResult.success && listResult.stdout.trim()) {
|
|
133
153
|
const volumes = listResult.stdout.trim().split('\n');
|
|
134
154
|
for (const vol of volumes) {
|
|
135
155
|
if (vol.includes('clawsql') || vol.includes('metadata') || vol.includes('proxysql') ||
|
|
136
156
|
vol.includes('prometheus') || vol.includes('grafana')) {
|
|
137
|
-
await
|
|
157
|
+
await (0, command_executor_js_1.executeCommand)([runtime], ['volume', 'rm', '-f', vol], {
|
|
158
|
+
logCommand: '/cleanup',
|
|
159
|
+
onProgress
|
|
160
|
+
});
|
|
138
161
|
}
|
|
139
162
|
}
|
|
140
163
|
}
|
|
@@ -142,9 +165,12 @@ async function removeVolumes(runtime) {
|
|
|
142
165
|
/**
|
|
143
166
|
* Remove images
|
|
144
167
|
*/
|
|
145
|
-
async function removeImages(runtime) {
|
|
168
|
+
async function removeImages(runtime, onProgress) {
|
|
146
169
|
// Remove clawsql image (built locally)
|
|
147
|
-
await
|
|
170
|
+
await (0, command_executor_js_1.executeCommand)([runtime], ['rmi', '-f', 'clawsql'], {
|
|
171
|
+
logCommand: '/cleanup',
|
|
172
|
+
onProgress
|
|
173
|
+
});
|
|
148
174
|
// Note: We don't remove base images (mysql, orchestrator, etc.) as they may be used by other projects
|
|
149
175
|
}
|
|
150
176
|
/**
|
|
@@ -171,35 +197,5 @@ async function removeLocalData(projectRoot) {
|
|
|
171
197
|
// fs.unlinkSync(envPath);
|
|
172
198
|
// }
|
|
173
199
|
}
|
|
174
|
-
/**
|
|
175
|
-
* Execute a shell command
|
|
176
|
-
*/
|
|
177
|
-
function execCommand(cmd, silent = false) {
|
|
178
|
-
return new Promise((resolve) => {
|
|
179
|
-
const proc = (0, child_process_1.spawn)(cmd[0], cmd.slice(1), {
|
|
180
|
-
stdio: silent ? 'pipe' : 'inherit',
|
|
181
|
-
});
|
|
182
|
-
let stdout = '';
|
|
183
|
-
let stderr = '';
|
|
184
|
-
if (silent) {
|
|
185
|
-
proc.stdout?.on('data', (data) => { stdout += data; });
|
|
186
|
-
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
187
|
-
}
|
|
188
|
-
proc.on('close', (code) => {
|
|
189
|
-
resolve({
|
|
190
|
-
success: code === 0,
|
|
191
|
-
stdout,
|
|
192
|
-
stderr,
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
proc.on('error', () => {
|
|
196
|
-
resolve({
|
|
197
|
-
success: false,
|
|
198
|
-
stdout: '',
|
|
199
|
-
stderr: 'Failed to execute command',
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
200
|
exports.default = exports.cleanupCommand;
|
|
205
201
|
//# sourceMappingURL=cleanup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,uDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/cli/commands/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AAerD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAiK1B,CAAC;AAmCF,eAAe,YAAY,CAAC"}
|
|
@@ -10,9 +10,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.startCommand = void 0;
|
|
12
12
|
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
-
const child_process_1 = require("child_process");
|
|
14
13
|
const docker_files_js_1 = require("../utils/docker-files.js");
|
|
15
14
|
const docker_prereq_js_1 = require("../utils/docker-prereq.js");
|
|
15
|
+
const command_executor_js_1 = require("../utils/command-executor.js");
|
|
16
16
|
/**
|
|
17
17
|
* Start command
|
|
18
18
|
*/
|
|
@@ -107,15 +107,27 @@ exports.startCommand = {
|
|
|
107
107
|
}
|
|
108
108
|
// Add up command
|
|
109
109
|
composeArgs.push('up', '-d');
|
|
110
|
-
//
|
|
110
|
+
// Clear progress cache for fresh start
|
|
111
|
+
(0, command_executor_js_1.clearProgressCache)();
|
|
112
|
+
// Track progress messages shown
|
|
113
|
+
const progressMessages = new Set();
|
|
114
|
+
const showProgress = (msg) => {
|
|
115
|
+
if (!progressMessages.has(msg)) {
|
|
116
|
+
progressMessages.add(msg);
|
|
117
|
+
console.log(formatter.info(msg));
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
// Execute compose up with abstract progress output
|
|
111
121
|
console.log();
|
|
112
|
-
const result = await executeCommand(dockerInfo.composeCommand, composeArgs, {
|
|
122
|
+
const result = await (0, command_executor_js_1.executeCommand)(dockerInfo.composeCommand, composeArgs, {
|
|
113
123
|
cwd: dockerPath,
|
|
114
124
|
env: Object.keys(composeEnv).length > 0 ? composeEnv : undefined,
|
|
125
|
+
logCommand: demoMode ? '/start --demo' : allInOneMode ? '/start --allinone' : '/start',
|
|
126
|
+
onProgress: showProgress,
|
|
115
127
|
});
|
|
116
128
|
if (!result.success) {
|
|
117
129
|
console.log(formatter.error('Failed to start services'));
|
|
118
|
-
console.log(
|
|
130
|
+
console.log(formatter.info('Check logs: ~/.clawsql/logs/clawsql.log'));
|
|
119
131
|
return;
|
|
120
132
|
}
|
|
121
133
|
// Wait for API to be ready
|
|
@@ -170,38 +182,6 @@ async function waitForAPI(ctx, timeoutSeconds) {
|
|
|
170
182
|
}
|
|
171
183
|
return false;
|
|
172
184
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Execute a command
|
|
175
|
-
*/
|
|
176
|
-
function executeCommand(cmd, args, options) {
|
|
177
|
-
return new Promise((resolve) => {
|
|
178
|
-
const proc = (0, child_process_1.spawn)(cmd[0], [...cmd.slice(1), ...args], {
|
|
179
|
-
cwd: options?.cwd,
|
|
180
|
-
stdio: options?.silent ? 'pipe' : 'inherit',
|
|
181
|
-
env: options?.env ? { ...process.env, ...options.env } : process.env,
|
|
182
|
-
});
|
|
183
|
-
let stdout = '';
|
|
184
|
-
let stderr = '';
|
|
185
|
-
if (options?.silent) {
|
|
186
|
-
proc.stdout?.on('data', (data) => { stdout += data; });
|
|
187
|
-
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
188
|
-
}
|
|
189
|
-
proc.on('close', (code) => {
|
|
190
|
-
resolve({
|
|
191
|
-
success: code === 0,
|
|
192
|
-
stdout,
|
|
193
|
-
stderr,
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
proc.on('error', () => {
|
|
197
|
-
resolve({
|
|
198
|
-
success: false,
|
|
199
|
-
stdout: '',
|
|
200
|
-
stderr: 'Failed to execute command',
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
185
|
/**
|
|
206
186
|
* Sleep for specified milliseconds
|
|
207
187
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAGH,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AAUrD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAoEzB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -39,11 +39,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
})();
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.stopCommand = void 0;
|
|
42
|
-
const child_process_1 = require("child_process");
|
|
43
42
|
const path = __importStar(require("path"));
|
|
44
43
|
const fs = __importStar(require("fs"));
|
|
45
44
|
const docker_files_js_1 = require("../utils/docker-files.js");
|
|
46
45
|
const docker_prereq_js_1 = require("../utils/docker-prereq.js");
|
|
46
|
+
const command_executor_js_1 = require("../utils/command-executor.js");
|
|
47
47
|
/**
|
|
48
48
|
* Stop command
|
|
49
49
|
*/
|
|
@@ -81,48 +81,31 @@ exports.stopCommand = {
|
|
|
81
81
|
if (hasDemo) {
|
|
82
82
|
composeArgs.unshift('-f', 'docker-compose.yml', '-f', 'docker-compose.demo.yml');
|
|
83
83
|
}
|
|
84
|
-
//
|
|
84
|
+
// Clear progress cache for fresh start
|
|
85
|
+
(0, command_executor_js_1.clearProgressCache)();
|
|
86
|
+
// Track progress messages shown
|
|
87
|
+
const progressMessages = new Set();
|
|
88
|
+
const showProgress = (msg) => {
|
|
89
|
+
if (!progressMessages.has(msg)) {
|
|
90
|
+
progressMessages.add(msg);
|
|
91
|
+
console.log(formatter.info(msg));
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
// Execute compose down with abstract progress output
|
|
85
95
|
console.log(formatter.info('Stopping services...'));
|
|
86
|
-
const result = await executeCommand(dockerInfo.composeCommand, composeArgs, {
|
|
96
|
+
const result = await (0, command_executor_js_1.executeCommand)(dockerInfo.composeCommand, composeArgs, {
|
|
97
|
+
cwd: dockerPath,
|
|
98
|
+
logCommand: '/stop',
|
|
99
|
+
onProgress: showProgress,
|
|
100
|
+
});
|
|
87
101
|
if (result.success) {
|
|
88
102
|
console.log(formatter.success('ClawSQL platform stopped'));
|
|
89
103
|
}
|
|
90
104
|
else {
|
|
91
105
|
console.log(formatter.error('Failed to stop services'));
|
|
92
|
-
console.log(
|
|
106
|
+
console.log(formatter.info('Check logs: ~/.clawsql/logs/clawsql.log'));
|
|
93
107
|
}
|
|
94
108
|
},
|
|
95
109
|
};
|
|
96
|
-
/**
|
|
97
|
-
* Execute a command
|
|
98
|
-
*/
|
|
99
|
-
function executeCommand(cmd, args, options) {
|
|
100
|
-
return new Promise((resolve) => {
|
|
101
|
-
const proc = (0, child_process_1.spawn)(cmd[0], [...cmd.slice(1), ...args], {
|
|
102
|
-
cwd: options?.cwd,
|
|
103
|
-
stdio: options?.silent ? 'pipe' : 'inherit',
|
|
104
|
-
});
|
|
105
|
-
let stdout = '';
|
|
106
|
-
let stderr = '';
|
|
107
|
-
if (options?.silent) {
|
|
108
|
-
proc.stdout?.on('data', (data) => { stdout += data; });
|
|
109
|
-
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
110
|
-
}
|
|
111
|
-
proc.on('close', (code) => {
|
|
112
|
-
resolve({
|
|
113
|
-
success: code === 0,
|
|
114
|
-
stdout,
|
|
115
|
-
stderr,
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
proc.on('error', () => {
|
|
119
|
-
resolve({
|
|
120
|
-
success: false,
|
|
121
|
-
stdout: '',
|
|
122
|
-
stderr: 'Failed to execute command',
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
110
|
exports.default = exports.stopCommand;
|
|
128
111
|
//# sourceMappingURL=stop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClawSQL CLI - Command Executor Utility
|
|
3
|
+
*
|
|
4
|
+
* Executes shell commands with:
|
|
5
|
+
* - Abstract progress output to console
|
|
6
|
+
* - Detailed logging to file (~/.clawsql/logs/clawsql.log)
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Get the ClawSQL home directory (~/.clawsql/)
|
|
10
|
+
*/
|
|
11
|
+
export declare function getClawSQLHome(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the log file path (~/.clawsql/logs/clawsql.log)
|
|
14
|
+
*/
|
|
15
|
+
export declare function getLogFilePath(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Ensure the log directory exists
|
|
18
|
+
*/
|
|
19
|
+
export declare function ensureLogDir(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Append output to the log file
|
|
22
|
+
*/
|
|
23
|
+
export declare function appendToLog(_command: string, output: string, stream?: 'stdout' | 'stderr'): void;
|
|
24
|
+
/**
|
|
25
|
+
* Write a command header to the log file
|
|
26
|
+
*/
|
|
27
|
+
export declare function logCommandHeader(command: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Execute options
|
|
30
|
+
*/
|
|
31
|
+
export interface ExecuteOptions {
|
|
32
|
+
cwd?: string;
|
|
33
|
+
env?: Record<string, string>;
|
|
34
|
+
onProgress?: (message: string) => void;
|
|
35
|
+
/** Command name for logging (e.g., "/start --demo") */
|
|
36
|
+
logCommand?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Execute result
|
|
40
|
+
*/
|
|
41
|
+
export interface ExecuteResult {
|
|
42
|
+
success: boolean;
|
|
43
|
+
stdout: string;
|
|
44
|
+
stderr: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Execute a shell command with abstract progress output and file logging
|
|
48
|
+
*/
|
|
49
|
+
export declare function executeCommand(cmd: string[], args: string[], options?: ExecuteOptions): Promise<ExecuteResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Execute a command with simple progress indicator
|
|
52
|
+
* Shows a spinner while the command runs
|
|
53
|
+
*/
|
|
54
|
+
export declare function executeWithProgress(cmd: string[], args: string[], options: ExecuteOptions & {
|
|
55
|
+
initialMessage: string;
|
|
56
|
+
}): Promise<ExecuteResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Clear the shown messages cache (call at the start of each command)
|
|
59
|
+
*/
|
|
60
|
+
export declare function clearProgressCache(): void;
|
|
61
|
+
export default executeCommand;
|
|
62
|
+
//# sourceMappingURL=command-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/command-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,GAAG,QAAmB,GAAG,IAAI,CAU1G;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMtD;AA0CD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EAAE,EACb,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,CAuExB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EAAE,EACb,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,cAAc,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,eAAe,cAAc,CAAC"}
|