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.
Files changed (47) hide show
  1. package/.env.example +20 -0
  2. package/README.md +11 -23
  3. package/dist/app.js +2 -2
  4. package/dist/app.js.map +1 -1
  5. package/dist/bin/clawsql.d.ts +1 -0
  6. package/dist/bin/clawsql.d.ts.map +1 -1
  7. package/dist/bin/clawsql.js +18 -2
  8. package/dist/bin/clawsql.js.map +1 -1
  9. package/dist/cli/agent/index.d.ts +1 -1
  10. package/dist/cli/agent/index.d.ts.map +1 -1
  11. package/dist/cli/agent/index.js +6 -1
  12. package/dist/cli/agent/index.js.map +1 -1
  13. package/dist/cli/agent/openclaw-integration.d.ts +33 -29
  14. package/dist/cli/agent/openclaw-integration.d.ts.map +1 -1
  15. package/dist/cli/agent/openclaw-integration.js +273 -202
  16. package/dist/cli/agent/openclaw-integration.js.map +1 -1
  17. package/dist/cli/commands/doctor.d.ts.map +1 -1
  18. package/dist/cli/commands/doctor.js +121 -1
  19. package/dist/cli/commands/doctor.js.map +1 -1
  20. package/dist/cli/commands/install.d.ts +13 -0
  21. package/dist/cli/commands/install.d.ts.map +1 -0
  22. package/dist/cli/commands/install.js +286 -0
  23. package/dist/cli/commands/install.js.map +1 -0
  24. package/dist/cli/commands/start.d.ts.map +1 -1
  25. package/dist/cli/commands/start.js +137 -7
  26. package/dist/cli/commands/start.js.map +1 -1
  27. package/dist/cli/commands/status.d.ts.map +1 -1
  28. package/dist/cli/commands/status.js +95 -24
  29. package/dist/cli/commands/status.js.map +1 -1
  30. package/dist/cli/index.d.ts.map +1 -1
  31. package/dist/cli/index.js +2 -0
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/utils/command-executor.d.ts.map +1 -1
  34. package/dist/cli/utils/command-executor.js +60 -23
  35. package/dist/cli/utils/command-executor.js.map +1 -1
  36. package/dist/cli/utils/docker-prereq.d.ts +23 -0
  37. package/dist/cli/utils/docker-prereq.d.ts.map +1 -1
  38. package/dist/cli/utils/docker-prereq.js +70 -1
  39. package/dist/cli/utils/docker-prereq.js.map +1 -1
  40. package/dist/config/settings.d.ts +37 -37
  41. package/dist/config/settings.d.ts.map +1 -1
  42. package/dist/config/settings.js +3 -1
  43. package/dist/config/settings.js.map +1 -1
  44. package/docker/openclaw/openclaw.json +10 -0
  45. package/docker-compose.allinone.yml +37 -3
  46. package/docker-compose.yml +41 -1
  47. 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
- * Check if OpenClaw gateway is running
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
- async function isOpenClawAvailable() {
71
+ function execCommand(command, args, options) {
23
72
  return new Promise((resolve) => {
24
- const proc = (0, child_process_1.spawn)('openclaw', ['status', '--json'], {
25
- timeout: 5000,
26
- stdio: ['ignore', 'pipe', 'pipe'], // Don't inherit stdin
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
- if (code === 0) {
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: options?.timeout || 120000,
71
- stdio: ['ignore', 'pipe', 'pipe'], // Don't inherit stdin
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
- // Handle abort signal - use SIGKILL for immediate termination
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
- if (options?.signal) {
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
- if (options?.signal) {
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 agent with streaming output
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: options?.timeout || 120000,
137
- stdio: ['ignore', 'pipe', 'pipe'], // Don't inherit stdin
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
- // Check if already aborted before we started
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
- // Handle abort signal - use SIGKILL for immediate termination
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
- if (options?.signal) {
169
- options.signal.removeEventListener('abort', abortHandler);
170
- }
282
+ options?.signal?.removeEventListener('abort', abortHandler);
171
283
  if (code === 0) {
172
- resolve(fullOutput.trim());
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 || fullOutput}`));
290
+ reject(new Error(`OpenClaw agent failed: ${stderr || stdout}`));
180
291
  }
181
292
  });
182
293
  proc.on('error', (err) => {
183
- if (options?.signal) {
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
- return new Promise((resolve, reject) => {
195
- const proc = (0, child_process_1.spawn)('openclaw', [
196
- 'cron', 'add',
197
- '--name', name,
198
- '--schedule', schedule,
199
- '--prompt', prompt,
200
- ], {
201
- timeout: 10000,
202
- stdio: ['ignore', 'pipe', 'pipe'],
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
- return new Promise((resolve, reject) => {
230
- const proc = (0, child_process_1.spawn)('openclaw', [
231
- 'message', 'send',
232
- '--to', to,
233
- '--message', message,
234
- ], {
235
- timeout: 30000,
236
- stdio: ['ignore', 'pipe', 'pipe'],
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 (error) {
273
- // Memory write is optional - don't fail the operation
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
- available = null;
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.available === null) {
291
- this.available = await isOpenClawAvailable();
358
+ if (this._available === null) {
359
+ this._available = await isOpenClawAvailable();
292
360
  }
293
- return this.available;
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
- const fullMessage = `${contextPrompt}\n\nUser query: ${input}`;
305
- return sendToOpenClaw(fullMessage);
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 settings = this.context.settings;
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: ${settings.orchestrator.url}
316
- - ProxySQL: ${settings.proxysql.host}:${settings.proxysql.adminPort}
317
- - Auto-failover: ${settings.failover.autoFailoverEnabled ? 'enabled' : 'disabled'}
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;AAqBrD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAkC3B,CAAC;AA2qBF,eAAe,aAAa,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"}