clawsql 0.1.9 → 0.2.1
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 +20 -0
- package/README.md +11 -23
- package/dist/app.js +2 -2
- package/dist/app.js.map +1 -1
- package/dist/bin/clawsql.d.ts +1 -0
- package/dist/bin/clawsql.d.ts.map +1 -1
- package/dist/bin/clawsql.js +18 -2
- package/dist/bin/clawsql.js.map +1 -1
- package/dist/cli/agent/index.d.ts +1 -1
- package/dist/cli/agent/index.d.ts.map +1 -1
- package/dist/cli/agent/index.js +6 -1
- package/dist/cli/agent/index.js.map +1 -1
- package/dist/cli/agent/openclaw-integration.d.ts +33 -29
- package/dist/cli/agent/openclaw-integration.d.ts.map +1 -1
- package/dist/cli/agent/openclaw-integration.js +273 -202
- package/dist/cli/agent/openclaw-integration.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +121 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install.d.ts +13 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +286 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +137 -7
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +95 -24
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/command-executor.d.ts.map +1 -1
- package/dist/cli/utils/command-executor.js +60 -23
- package/dist/cli/utils/command-executor.js.map +1 -1
- package/dist/cli/utils/docker-prereq.d.ts +23 -0
- package/dist/cli/utils/docker-prereq.d.ts.map +1 -1
- package/dist/cli/utils/docker-prereq.js +70 -1
- package/dist/cli/utils/docker-prereq.js.map +1 -1
- package/dist/config/settings.d.ts +37 -37
- package/dist/config/settings.d.ts.map +1 -1
- package/dist/config/settings.js +3 -1
- package/dist/config/settings.js.map +1 -1
- package/docker/openclaw/openclaw.json +10 -0
- package/docker-compose.allinone.yml +37 -3
- package/docker-compose.yml +41 -1
- package/package.json +1 -1
|
@@ -3,101 +3,225 @@
|
|
|
3
3
|
* ClawSQL CLI - OpenClaw Integration
|
|
4
4
|
*
|
|
5
5
|
* Integrates with OpenClaw gateway for AI-powered operations.
|
|
6
|
+
* Supports both Docker-based gateway and local CLI installation.
|
|
6
7
|
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
7
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.OpenClawAgent = void 0;
|
|
42
|
+
exports.isOpenClawGatewayReachable = exports.isDockerOpenClawContainerRunning = exports.OpenClawAgent = void 0;
|
|
43
|
+
exports.isDockerOpenClawAvailable = isDockerOpenClawAvailable;
|
|
44
|
+
exports.isGatewayHealthy = isGatewayHealthy;
|
|
45
|
+
exports.isLocalOpenClawAvailable = isLocalOpenClawAvailable;
|
|
9
46
|
exports.isOpenClawAvailable = isOpenClawAvailable;
|
|
47
|
+
exports.getOpenClawStatus = getOpenClawStatus;
|
|
10
48
|
exports.sendToOpenClaw = sendToOpenClaw;
|
|
11
49
|
exports.sendToOpenClawStream = sendToOpenClawStream;
|
|
12
50
|
exports.scheduleCron = scheduleCron;
|
|
13
51
|
exports.sendNotification = sendNotification;
|
|
14
52
|
exports.writeToMemory = writeToMemory;
|
|
15
53
|
exports.createOpenClawAgent = createOpenClawAgent;
|
|
54
|
+
exports.ensureOpenClawRunning = ensureOpenClawRunning;
|
|
16
55
|
const child_process_1 = require("child_process");
|
|
56
|
+
const fs = __importStar(require("fs"));
|
|
57
|
+
const path = __importStar(require("path"));
|
|
58
|
+
const os = __importStar(require("os"));
|
|
59
|
+
// ============================================================================
|
|
60
|
+
// Configuration
|
|
61
|
+
// ============================================================================
|
|
62
|
+
const DEFAULT_GATEWAY_URL = 'ws://localhost:18789';
|
|
63
|
+
const DEFAULT_GATEWAY_TOKEN = 'clawsql-openclaw-token';
|
|
64
|
+
const SESSION_ID = 'clawsql-session';
|
|
65
|
+
const DEFAULT_TIMEOUT = 120000;
|
|
66
|
+
const getGatewayUrl = () => process.env.OPENCLAW_GATEWAY_URL || DEFAULT_GATEWAY_URL;
|
|
67
|
+
const getGatewayToken = () => process.env.OPENCLAW_GATEWAY_TOKEN || DEFAULT_GATEWAY_TOKEN;
|
|
17
68
|
/**
|
|
18
|
-
*
|
|
19
|
-
* Note: The status command may show "unreachable" due to internal scope issues,
|
|
20
|
-
* but the agent can still work. We check if OpenClaw is installed and try to use it.
|
|
69
|
+
* Execute a command and return the result
|
|
21
70
|
*/
|
|
22
|
-
|
|
71
|
+
function execCommand(command, args, options) {
|
|
23
72
|
return new Promise((resolve) => {
|
|
24
|
-
const proc = (0, child_process_1.spawn)(
|
|
25
|
-
timeout:
|
|
26
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
27
|
-
|
|
28
|
-
let output = '';
|
|
29
|
-
proc.stdout?.on('data', (data) => {
|
|
30
|
-
output += data.toString();
|
|
73
|
+
const proc = (0, child_process_1.spawn)(command, args, {
|
|
74
|
+
timeout: options?.timeout || 30000,
|
|
75
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
76
|
+
env: options?.env ? { ...process.env, ...options.env } : process.env,
|
|
31
77
|
});
|
|
78
|
+
let stdout = '';
|
|
79
|
+
let stderr = '';
|
|
80
|
+
proc.stdout?.on('data', (data) => { stdout += data; });
|
|
81
|
+
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
32
82
|
proc.on('close', (code) => {
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
const result = JSON.parse(output);
|
|
36
|
-
// Gateway is configured if we have a mode and URL, even if status shows unreachable
|
|
37
|
-
// The agent can still work despite "missing scope: operator.read" errors
|
|
38
|
-
const hasGateway = result.gateway?.mode === 'local' && !!result.gateway?.url;
|
|
39
|
-
resolve(hasGateway);
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
resolve(false);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
resolve(false);
|
|
47
|
-
}
|
|
83
|
+
resolve({ success: code === 0, stdout, stderr });
|
|
48
84
|
});
|
|
49
|
-
proc.on('error', () => {
|
|
50
|
-
resolve(false);
|
|
85
|
+
proc.on('error', (err) => {
|
|
86
|
+
resolve({ success: false, stdout: '', stderr: err.message });
|
|
51
87
|
});
|
|
52
88
|
});
|
|
53
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Execute openclaw CLI with gateway configuration
|
|
92
|
+
*/
|
|
93
|
+
async function execOpenClaw(args, options) {
|
|
94
|
+
const gatewayUrl = options?.gatewayUrl || getGatewayUrl();
|
|
95
|
+
const gatewayToken = options?.gatewayToken || getGatewayToken();
|
|
96
|
+
const env = {};
|
|
97
|
+
if (gatewayUrl !== DEFAULT_GATEWAY_URL) {
|
|
98
|
+
env.OPENCLAW_GATEWAY_URL = gatewayUrl;
|
|
99
|
+
}
|
|
100
|
+
env.OPENCLAW_GATEWAY_TOKEN = gatewayToken;
|
|
101
|
+
return execCommand('openclaw', args, { timeout: options?.timeout, env });
|
|
102
|
+
}
|
|
103
|
+
// ============================================================================
|
|
104
|
+
// Detection Functions
|
|
105
|
+
// ============================================================================
|
|
106
|
+
/**
|
|
107
|
+
* Check if OpenClaw Docker container is running
|
|
108
|
+
*/
|
|
109
|
+
async function isDockerOpenClawAvailable() {
|
|
110
|
+
const result = await execCommand('docker', [
|
|
111
|
+
'ps', '--filter', 'name=openclaw', '--filter', 'status=running',
|
|
112
|
+
'--format', '{{.Names}}'
|
|
113
|
+
]);
|
|
114
|
+
return result.success && result.stdout.trim() === 'openclaw';
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Check if OpenClaw gateway health endpoint responds
|
|
118
|
+
*/
|
|
119
|
+
async function isGatewayHealthy() {
|
|
120
|
+
try {
|
|
121
|
+
const httpUrl = getGatewayUrl().replace('ws://', 'http://').replace('wss://', 'https://');
|
|
122
|
+
const response = await fetch(`${httpUrl}/health`, {
|
|
123
|
+
signal: AbortSignal.timeout(5000),
|
|
124
|
+
});
|
|
125
|
+
return response.ok;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Check if local OpenClaw CLI gateway is running (not Docker)
|
|
133
|
+
*/
|
|
134
|
+
async function isLocalOpenClawAvailable() {
|
|
135
|
+
// Docker container takes precedence
|
|
136
|
+
if (await isDockerOpenClawAvailable()) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
// Gateway must be reachable
|
|
140
|
+
if (!(await isGatewayHealthy())) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
// Verify via CLI status
|
|
144
|
+
const result = await execCommand('openclaw', ['status', '--json'], { timeout: 5000 });
|
|
145
|
+
if (!result.success) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const status = JSON.parse(result.stdout);
|
|
150
|
+
return status.gateway?.mode === 'local' && !!status.gateway?.url;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if any OpenClaw gateway is available (Docker or local)
|
|
158
|
+
*/
|
|
159
|
+
async function isOpenClawAvailable() {
|
|
160
|
+
return (await isDockerOpenClawAvailable()) || (await isLocalOpenClawAvailable());
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get detailed OpenClaw status
|
|
164
|
+
*/
|
|
165
|
+
async function getOpenClawStatus() {
|
|
166
|
+
const [isDocker, isLocal] = await Promise.all([
|
|
167
|
+
isDockerOpenClawAvailable(),
|
|
168
|
+
isLocalOpenClawAvailable(),
|
|
169
|
+
]);
|
|
170
|
+
return {
|
|
171
|
+
available: isDocker || isLocal,
|
|
172
|
+
isDocker,
|
|
173
|
+
isLocal,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// ============================================================================
|
|
177
|
+
// Agent Functions
|
|
178
|
+
// ============================================================================
|
|
54
179
|
/**
|
|
55
180
|
* Send a message to OpenClaw agent
|
|
56
181
|
*/
|
|
57
182
|
async function sendToOpenClaw(message, options) {
|
|
183
|
+
const args = [
|
|
184
|
+
'agent',
|
|
185
|
+
'--session-id', SESSION_ID,
|
|
186
|
+
'--message', message,
|
|
187
|
+
'--thinking', 'minimal',
|
|
188
|
+
];
|
|
189
|
+
const timeout = options?.timeout || DEFAULT_TIMEOUT;
|
|
190
|
+
const gatewayUrl = options?.gatewayUrl || getGatewayUrl();
|
|
191
|
+
const gatewayToken = options?.gatewayToken || getGatewayToken();
|
|
58
192
|
return new Promise((resolve, reject) => {
|
|
59
|
-
// Use a fixed session ID for ClawSQL interactions
|
|
60
|
-
const args = [
|
|
61
|
-
'agent',
|
|
62
|
-
'--session-id', 'clawsql-session',
|
|
63
|
-
'--message', message,
|
|
64
|
-
'--thinking', 'minimal'
|
|
65
|
-
];
|
|
66
|
-
if (options?.gatewayUrl) {
|
|
67
|
-
args.push('--gateway', options.gatewayUrl);
|
|
68
|
-
}
|
|
69
193
|
const proc = (0, child_process_1.spawn)('openclaw', args, {
|
|
70
|
-
timeout
|
|
71
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
194
|
+
timeout,
|
|
195
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
196
|
+
env: {
|
|
197
|
+
...process.env,
|
|
198
|
+
OPENCLAW_GATEWAY_URL: gatewayUrl,
|
|
199
|
+
OPENCLAW_GATEWAY_TOKEN: gatewayToken,
|
|
200
|
+
},
|
|
72
201
|
});
|
|
73
202
|
let stdout = '';
|
|
74
203
|
let stderr = '';
|
|
75
|
-
|
|
204
|
+
proc.stdout?.on('data', (data) => { stdout += data; });
|
|
205
|
+
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
206
|
+
// Handle abort signal
|
|
76
207
|
const abortHandler = () => {
|
|
77
208
|
proc.kill('SIGKILL');
|
|
78
209
|
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
79
210
|
};
|
|
80
211
|
if (options?.signal) {
|
|
212
|
+
if (options.signal.aborted) {
|
|
213
|
+
proc.kill('SIGKILL');
|
|
214
|
+
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
81
217
|
options.signal.addEventListener('abort', abortHandler);
|
|
82
|
-
proc.on('close', () => {
|
|
83
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
84
|
-
});
|
|
85
218
|
}
|
|
86
|
-
proc.stdout?.on('data', (data) => {
|
|
87
|
-
stdout += data.toString();
|
|
88
|
-
});
|
|
89
|
-
proc.stderr?.on('data', (data) => {
|
|
90
|
-
stderr += data.toString();
|
|
91
|
-
});
|
|
92
219
|
proc.on('close', (code) => {
|
|
93
|
-
|
|
94
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
95
|
-
}
|
|
220
|
+
options?.signal?.removeEventListener('abort', abortHandler);
|
|
96
221
|
if (code === 0) {
|
|
97
222
|
resolve(stdout.trim());
|
|
98
223
|
}
|
|
99
224
|
else if (code === null) {
|
|
100
|
-
// Process was killed by signal (e.g., SIGKILL during abort)
|
|
101
225
|
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
102
226
|
}
|
|
103
227
|
else {
|
|
@@ -105,231 +229,161 @@ async function sendToOpenClaw(message, options) {
|
|
|
105
229
|
}
|
|
106
230
|
});
|
|
107
231
|
proc.on('error', (err) => {
|
|
108
|
-
|
|
109
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
110
|
-
}
|
|
232
|
+
options?.signal?.removeEventListener('abort', abortHandler);
|
|
111
233
|
reject(new Error(`Failed to run openclaw: ${err.message}`));
|
|
112
234
|
});
|
|
113
235
|
});
|
|
114
236
|
}
|
|
115
237
|
/**
|
|
116
|
-
* Send a message to OpenClaw
|
|
117
|
-
* Calls onChunk callback for each chunk of output as it arrives
|
|
118
|
-
*
|
|
119
|
-
* NOTE: OpenClaw's agent command outputs all at once after processing completes,
|
|
120
|
-
* not incrementally. The streaming callback will typically receive one large chunk.
|
|
121
|
-
* This is a limitation of OpenClaw's internal output handling, not Node.js buffering.
|
|
238
|
+
* Send a message to OpenClaw with streaming output
|
|
122
239
|
*/
|
|
123
240
|
async function sendToOpenClawStream(message, onChunk, options) {
|
|
241
|
+
const args = [
|
|
242
|
+
'agent',
|
|
243
|
+
'--session-id', SESSION_ID,
|
|
244
|
+
'--message', message,
|
|
245
|
+
'--thinking', 'minimal',
|
|
246
|
+
];
|
|
247
|
+
const timeout = options?.timeout || DEFAULT_TIMEOUT;
|
|
248
|
+
const gatewayUrl = options?.gatewayUrl || getGatewayUrl();
|
|
249
|
+
const gatewayToken = options?.gatewayToken || getGatewayToken();
|
|
124
250
|
return new Promise((resolve, reject) => {
|
|
125
|
-
// Use a fixed session ID for ClawSQL interactions
|
|
126
|
-
const args = [
|
|
127
|
-
'agent',
|
|
128
|
-
'--session-id', 'clawsql-session',
|
|
129
|
-
'--message', message,
|
|
130
|
-
'--thinking', 'minimal' // Reduce verbose thinking output
|
|
131
|
-
];
|
|
132
|
-
if (options?.gatewayUrl) {
|
|
133
|
-
args.push('--gateway', options.gatewayUrl);
|
|
134
|
-
}
|
|
135
251
|
const proc = (0, child_process_1.spawn)('openclaw', args, {
|
|
136
|
-
timeout
|
|
137
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
252
|
+
timeout,
|
|
253
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
254
|
+
env: {
|
|
255
|
+
...process.env,
|
|
256
|
+
OPENCLAW_GATEWAY_URL: gatewayUrl,
|
|
257
|
+
OPENCLAW_GATEWAY_TOKEN: gatewayToken,
|
|
258
|
+
},
|
|
138
259
|
});
|
|
139
|
-
|
|
140
|
-
if (options?.signal?.aborted) {
|
|
141
|
-
proc.kill('SIGKILL');
|
|
142
|
-
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
let fullOutput = '';
|
|
260
|
+
let stdout = '';
|
|
146
261
|
let stderr = '';
|
|
147
|
-
|
|
262
|
+
proc.stdout?.on('data', (data) => {
|
|
263
|
+
const chunk = data.toString();
|
|
264
|
+
stdout += chunk;
|
|
265
|
+
onChunk(chunk);
|
|
266
|
+
});
|
|
267
|
+
proc.stderr?.on('data', (data) => { stderr += data; });
|
|
268
|
+
// Handle abort signal
|
|
148
269
|
const abortHandler = () => {
|
|
149
270
|
proc.kill('SIGKILL');
|
|
150
271
|
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
151
272
|
};
|
|
152
273
|
if (options?.signal) {
|
|
274
|
+
if (options.signal.aborted) {
|
|
275
|
+
proc.kill('SIGKILL');
|
|
276
|
+
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
153
279
|
options.signal.addEventListener('abort', abortHandler);
|
|
154
|
-
proc.on('close', () => {
|
|
155
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
156
|
-
});
|
|
157
280
|
}
|
|
158
|
-
// Stream stdout chunks immediately
|
|
159
|
-
proc.stdout?.on('data', (data) => {
|
|
160
|
-
const chunk = data.toString();
|
|
161
|
-
fullOutput += chunk;
|
|
162
|
-
onChunk(chunk);
|
|
163
|
-
});
|
|
164
|
-
proc.stderr?.on('data', (data) => {
|
|
165
|
-
stderr += data.toString();
|
|
166
|
-
});
|
|
167
281
|
proc.on('close', (code) => {
|
|
168
|
-
|
|
169
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
170
|
-
}
|
|
282
|
+
options?.signal?.removeEventListener('abort', abortHandler);
|
|
171
283
|
if (code === 0) {
|
|
172
|
-
resolve(
|
|
284
|
+
resolve(stdout.trim());
|
|
173
285
|
}
|
|
174
286
|
else if (code === null) {
|
|
175
|
-
// Process was killed by signal (e.g., SIGKILL during abort)
|
|
176
287
|
reject(new DOMException('The operation was aborted', 'AbortError'));
|
|
177
288
|
}
|
|
178
289
|
else {
|
|
179
|
-
reject(new Error(`OpenClaw agent failed: ${stderr ||
|
|
290
|
+
reject(new Error(`OpenClaw agent failed: ${stderr || stdout}`));
|
|
180
291
|
}
|
|
181
292
|
});
|
|
182
293
|
proc.on('error', (err) => {
|
|
183
|
-
|
|
184
|
-
options.signal.removeEventListener('abort', abortHandler);
|
|
185
|
-
}
|
|
294
|
+
options?.signal?.removeEventListener('abort', abortHandler);
|
|
186
295
|
reject(new Error(`Failed to run openclaw: ${err.message}`));
|
|
187
296
|
});
|
|
188
297
|
});
|
|
189
298
|
}
|
|
299
|
+
// ============================================================================
|
|
300
|
+
// Cron & Notifications
|
|
301
|
+
// ============================================================================
|
|
190
302
|
/**
|
|
191
303
|
* Schedule a cron job via OpenClaw
|
|
192
304
|
*/
|
|
193
305
|
async function scheduleCron(name, schedule, prompt) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
let stdout = '';
|
|
205
|
-
let stderr = '';
|
|
206
|
-
proc.stdout?.on('data', (data) => {
|
|
207
|
-
stdout += data.toString();
|
|
208
|
-
});
|
|
209
|
-
proc.stderr?.on('data', (data) => {
|
|
210
|
-
stderr += data.toString();
|
|
211
|
-
});
|
|
212
|
-
proc.on('close', (code) => {
|
|
213
|
-
if (code === 0) {
|
|
214
|
-
resolve(stdout.trim());
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
reject(new Error(`Failed to schedule cron: ${stderr || stdout}`));
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
proc.on('error', (err) => {
|
|
221
|
-
reject(new Error(`Failed to run openclaw: ${err.message}`));
|
|
222
|
-
});
|
|
223
|
-
});
|
|
306
|
+
const result = await execOpenClaw([
|
|
307
|
+
'cron', 'add',
|
|
308
|
+
'--name', name,
|
|
309
|
+
'--schedule', schedule,
|
|
310
|
+
'--prompt', prompt,
|
|
311
|
+
], { timeout: 10000 });
|
|
312
|
+
if (!result.success) {
|
|
313
|
+
throw new Error(`Failed to schedule cron: ${result.stderr || result.stdout}`);
|
|
314
|
+
}
|
|
315
|
+
return result.stdout.trim();
|
|
224
316
|
}
|
|
225
317
|
/**
|
|
226
318
|
* Send a notification via OpenClaw channels
|
|
227
319
|
*/
|
|
228
320
|
async function sendNotification(to, message) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
let stdout = '';
|
|
239
|
-
let stderr = '';
|
|
240
|
-
proc.stdout?.on('data', (data) => {
|
|
241
|
-
stdout += data.toString();
|
|
242
|
-
});
|
|
243
|
-
proc.stderr?.on('data', (data) => {
|
|
244
|
-
stderr += data.toString();
|
|
245
|
-
});
|
|
246
|
-
proc.on('close', (code) => {
|
|
247
|
-
if (code === 0) {
|
|
248
|
-
resolve(stdout.trim());
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
reject(new Error(`Failed to send message: ${stderr || stdout}`));
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
proc.on('error', (err) => {
|
|
255
|
-
reject(new Error(`Failed to run openclaw: ${err.message}`));
|
|
256
|
-
});
|
|
257
|
-
});
|
|
321
|
+
const result = await execOpenClaw([
|
|
322
|
+
'message', 'send',
|
|
323
|
+
'--to', to,
|
|
324
|
+
'--message', message,
|
|
325
|
+
], { timeout: 30000 });
|
|
326
|
+
if (!result.success) {
|
|
327
|
+
throw new Error(`Failed to send message: ${result.stderr || result.stdout}`);
|
|
328
|
+
}
|
|
329
|
+
return result.stdout.trim();
|
|
258
330
|
}
|
|
259
331
|
/**
|
|
260
332
|
* Write to OpenClaw memory
|
|
261
333
|
*/
|
|
262
334
|
async function writeToMemory(content, filename = 'clawsql-cluster-state.md') {
|
|
263
|
-
const fs = await import('fs');
|
|
264
|
-
const path = await import('path');
|
|
265
|
-
const os = await import('os');
|
|
266
335
|
const memoryDir = path.join(os.homedir(), '.openclaw', 'memory');
|
|
267
336
|
try {
|
|
268
337
|
await fs.promises.mkdir(memoryDir, { recursive: true });
|
|
269
338
|
const filePath = path.join(memoryDir, filename);
|
|
270
339
|
await fs.promises.appendFile(filePath, `\n\n---\n\n${content}`);
|
|
271
340
|
}
|
|
272
|
-
catch
|
|
273
|
-
// Memory write is optional -
|
|
274
|
-
console.error('Failed to write to OpenClaw memory:', error);
|
|
341
|
+
catch {
|
|
342
|
+
// Memory write is optional - silently ignore errors
|
|
275
343
|
}
|
|
276
344
|
}
|
|
345
|
+
// ============================================================================
|
|
346
|
+
// Agent Class
|
|
347
|
+
// ============================================================================
|
|
277
348
|
/**
|
|
278
349
|
* OpenClaw-backed AI agent
|
|
279
350
|
*/
|
|
280
351
|
class OpenClawAgent {
|
|
281
352
|
context;
|
|
282
|
-
|
|
353
|
+
_available = null;
|
|
283
354
|
constructor(ctx) {
|
|
284
355
|
this.context = ctx;
|
|
285
356
|
}
|
|
286
|
-
/**
|
|
287
|
-
* Check if OpenClaw is available
|
|
288
|
-
*/
|
|
289
357
|
async isAvailable() {
|
|
290
|
-
if (this.
|
|
291
|
-
this.
|
|
358
|
+
if (this._available === null) {
|
|
359
|
+
this._available = await isOpenClawAvailable();
|
|
292
360
|
}
|
|
293
|
-
return this.
|
|
361
|
+
return this._available;
|
|
294
362
|
}
|
|
295
|
-
/**
|
|
296
|
-
* Process a natural language query
|
|
297
|
-
*/
|
|
298
363
|
async process(input) {
|
|
299
364
|
if (!(await this.isAvailable())) {
|
|
300
365
|
throw new Error('OpenClaw gateway is not running. Start it with: openclaw gateway');
|
|
301
366
|
}
|
|
302
|
-
// Build context for the agent
|
|
303
367
|
const contextPrompt = this.buildContextPrompt();
|
|
304
|
-
|
|
305
|
-
|
|
368
|
+
return sendToOpenClaw(`${contextPrompt}\n\nUser query: ${input}`);
|
|
369
|
+
}
|
|
370
|
+
async scheduleHealthCheck(schedule = '0 * * * *') {
|
|
371
|
+
return scheduleCron('clawsql:health-check', schedule, 'Check MySQL cluster health using clawsql skill. Report any issues with instances, replication lag, or failover status.');
|
|
372
|
+
}
|
|
373
|
+
async alert(channel, message) {
|
|
374
|
+
return sendNotification(channel, `🦞 ClawSQL Alert: ${message}`);
|
|
306
375
|
}
|
|
307
|
-
/**
|
|
308
|
-
* Build context prompt with current cluster state
|
|
309
|
-
*/
|
|
310
376
|
buildContextPrompt() {
|
|
311
|
-
const
|
|
377
|
+
const { orchestrator, proxysql, failover } = this.context.settings;
|
|
312
378
|
return `You are the ClawSQL assistant. You have access to MySQL cluster management tools.
|
|
313
379
|
|
|
314
380
|
Current configuration:
|
|
315
|
-
- Orchestrator: ${
|
|
316
|
-
- ProxySQL: ${
|
|
317
|
-
- Auto-failover: ${
|
|
381
|
+
- Orchestrator: ${orchestrator.url}
|
|
382
|
+
- ProxySQL: ${proxysql.host}:${proxysql.adminPort}
|
|
383
|
+
- Auto-failover: ${failover.autoFailoverEnabled ? 'enabled' : 'disabled'}
|
|
318
384
|
|
|
319
385
|
Use the clawsql skill commands to answer questions about the MySQL cluster.`;
|
|
320
386
|
}
|
|
321
|
-
/**
|
|
322
|
-
* Schedule periodic health checks
|
|
323
|
-
*/
|
|
324
|
-
async scheduleHealthCheck(schedule = '0 * * * *') {
|
|
325
|
-
return scheduleCron('clawsql:health-check', schedule, 'Check MySQL cluster health using clawsql skill. Report any issues with instances, replication lag, or failover status.');
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Send an alert through configured channels
|
|
329
|
-
*/
|
|
330
|
-
async alert(channel, message) {
|
|
331
|
-
return sendNotification(channel, `🦞 ClawSQL Alert: ${message}`);
|
|
332
|
-
}
|
|
333
387
|
}
|
|
334
388
|
exports.OpenClawAgent = OpenClawAgent;
|
|
335
389
|
/**
|
|
@@ -338,4 +392,21 @@ exports.OpenClawAgent = OpenClawAgent;
|
|
|
338
392
|
function createOpenClawAgent(ctx) {
|
|
339
393
|
return new OpenClawAgent(ctx);
|
|
340
394
|
}
|
|
395
|
+
// ============================================================================
|
|
396
|
+
// Backwards Compatibility Exports
|
|
397
|
+
// ============================================================================
|
|
398
|
+
/** @deprecated Use isDockerOpenClawAvailable instead */
|
|
399
|
+
exports.isDockerOpenClawContainerRunning = isDockerOpenClawAvailable;
|
|
400
|
+
/** @deprecated Use isGatewayHealthy instead */
|
|
401
|
+
exports.isOpenClawGatewayReachable = isGatewayHealthy;
|
|
402
|
+
/** @deprecated Use getOpenClawStatus() or individual detection functions */
|
|
403
|
+
async function ensureOpenClawRunning(timeoutSeconds = 30) {
|
|
404
|
+
const startTime = Date.now();
|
|
405
|
+
while (Date.now() - startTime < timeoutSeconds * 1000) {
|
|
406
|
+
if (await isGatewayHealthy())
|
|
407
|
+
return true;
|
|
408
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
409
|
+
}
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
341
412
|
//# sourceMappingURL=openclaw-integration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-integration.js","sourceRoot":"","sources":["../../../src/cli/agent/openclaw-integration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openclaw-integration.js","sourceRoot":"","sources":["../../../src/cli/agent/openclaw-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AA6BrD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAkC3B,CAAC;AAsyBF,eAAe,aAAa,CAAC"}
|