clawsql 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -5
- 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/handler.d.ts +13 -31
- package/dist/cli/agent/handler.d.ts.map +1 -1
- package/dist/cli/agent/handler.js +107 -149
- package/dist/cli/agent/handler.js.map +1 -1
- package/dist/cli/agent/index.d.ts +2 -1
- package/dist/cli/agent/index.d.ts.map +1 -1
- package/dist/cli/agent/index.js +7 -1
- package/dist/cli/agent/index.js.map +1 -1
- package/dist/cli/agent/openclaw-integration.d.ts +83 -25
- package/dist/cli/agent/openclaw-integration.d.ts.map +1 -1
- package/dist/cli/agent/openclaw-integration.js +305 -194
- package/dist/cli/agent/openclaw-integration.js.map +1 -1
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +26 -15
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +0 -4
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +330 -469
- 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/openclaw.d.ts +9 -0
- package/dist/cli/commands/openclaw.d.ts.map +1 -0
- package/dist/cli/commands/openclaw.js +236 -0
- package/dist/cli/commands/openclaw.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +342 -16
- 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 +71 -25
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl.js +1 -1
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/utils/ai-config.d.ts +32 -0
- package/dist/cli/utils/ai-config.d.ts.map +1 -0
- package/dist/cli/utils/ai-config.js +78 -0
- package/dist/cli/utils/ai-config.js.map +1 -0
- 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-files.d.ts.map +1 -1
- package/dist/cli/utils/docker-files.js +2 -0
- package/dist/cli/utils/docker-files.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/docker/openclaw/entrypoint.sh +102 -0
- package/docker/openclaw/openclaw.json +4 -1
- package/docker/orchestrator/orchestrator-schema.sql +837 -0
- package/docker-compose.yml +22 -14
- package/init/metadata.sql +14 -2
- package/package.json +1 -1
|
@@ -62,4 +62,27 @@ export declare function getDockerInstallGuidance(): string;
|
|
|
62
62
|
* Format Docker info for display
|
|
63
63
|
*/
|
|
64
64
|
export declare function formatDockerInfo(info: DockerInfo): string;
|
|
65
|
+
/**
|
|
66
|
+
* Required Docker images for ClawSQL platform
|
|
67
|
+
*/
|
|
68
|
+
export declare const CORE_IMAGES: string[];
|
|
69
|
+
/**
|
|
70
|
+
* Image check result
|
|
71
|
+
*/
|
|
72
|
+
export interface ImageStatus {
|
|
73
|
+
/** Images that are present locally */
|
|
74
|
+
installed: string[];
|
|
75
|
+
/** Images that are missing */
|
|
76
|
+
missing: string[];
|
|
77
|
+
/** Total images checked */
|
|
78
|
+
total: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check if required Docker images are installed
|
|
82
|
+
*/
|
|
83
|
+
export declare function checkImagesInstalled(runtime: 'docker' | 'podman' | null | string): Promise<ImageStatus>;
|
|
84
|
+
/**
|
|
85
|
+
* Check if demo MySQL images are installed (same mysql:8.0 image)
|
|
86
|
+
*/
|
|
87
|
+
export declare function areDemoImagesInstalled(imageStatus: ImageStatus): boolean;
|
|
65
88
|
//# sourceMappingURL=docker-prereq.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-prereq.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/docker-prereq.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAEF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA2DlB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IACpC,mFAAmF;IACnF,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,OAAO,CAAC;CACxB;AA6CD;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,CAsBzE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAoC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CASrF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,UAAU,CAAC,CAwBpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAcrF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAgBjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAYzD"}
|
|
1
|
+
{"version":3,"file":"docker-prereq.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/docker-prereq.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAEF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA2DlB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IACpC,mFAAmF;IACnF,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,OAAO,CAAC;CACxB;AA6CD;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,CAsBzE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAoC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CASrF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,UAAU,CAAC,CAwBpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAcrF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAgBjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAYzD;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,UAQvB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2D7G;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAIxE"}
|
|
@@ -39,7 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.REGISTRY_MIRRORS = void 0;
|
|
42
|
+
exports.CORE_IMAGES = exports.REGISTRY_MIRRORS = void 0;
|
|
43
43
|
exports.configureRegistryMirror = configureRegistryMirror;
|
|
44
44
|
exports.detectRuntime = detectRuntime;
|
|
45
45
|
exports.detectComposeCommand = detectComposeCommand;
|
|
@@ -49,6 +49,8 @@ exports.checkDockerPrerequisites = checkDockerPrerequisites;
|
|
|
49
49
|
exports.getComposeInstallGuidance = getComposeInstallGuidance;
|
|
50
50
|
exports.getDockerInstallGuidance = getDockerInstallGuidance;
|
|
51
51
|
exports.formatDockerInfo = formatDockerInfo;
|
|
52
|
+
exports.checkImagesInstalled = checkImagesInstalled;
|
|
53
|
+
exports.areDemoImagesInstalled = areDemoImagesInstalled;
|
|
52
54
|
const child_process_1 = require("child_process");
|
|
53
55
|
const fs = __importStar(require("fs"));
|
|
54
56
|
const path = __importStar(require("path"));
|
|
@@ -324,4 +326,71 @@ function formatDockerInfo(info) {
|
|
|
324
326
|
];
|
|
325
327
|
return lines.join('\n');
|
|
326
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Required Docker images for ClawSQL platform
|
|
331
|
+
*/
|
|
332
|
+
exports.CORE_IMAGES = [
|
|
333
|
+
'ghcr.io/openclaw/openclaw:latest',
|
|
334
|
+
'docker.io/openarkcode/orchestrator:latest',
|
|
335
|
+
'docker.io/proxysql/proxysql:latest',
|
|
336
|
+
'docker.io/prom/prometheus:latest',
|
|
337
|
+
'docker.io/grafana/grafana:latest',
|
|
338
|
+
'docker.io/library/mysql:8.0',
|
|
339
|
+
'docker.io/kefan96/clawsql:latest',
|
|
340
|
+
];
|
|
341
|
+
/**
|
|
342
|
+
* Check if required Docker images are installed
|
|
343
|
+
*/
|
|
344
|
+
async function checkImagesInstalled(runtime) {
|
|
345
|
+
if (!runtime) {
|
|
346
|
+
return { installed: [], missing: exports.CORE_IMAGES, total: exports.CORE_IMAGES.length };
|
|
347
|
+
}
|
|
348
|
+
// Get list of local images
|
|
349
|
+
const result = await execCommand([runtime, 'images', '--format', '{{.Repository}}:{{.Tag}}'], { silent: true, timeout: 10000 });
|
|
350
|
+
if (!result.success) {
|
|
351
|
+
return { installed: [], missing: exports.CORE_IMAGES, total: exports.CORE_IMAGES.length };
|
|
352
|
+
}
|
|
353
|
+
const localImages = new Set(result.stdout
|
|
354
|
+
.trim()
|
|
355
|
+
.split('\n')
|
|
356
|
+
.map(img => img.trim().toLowerCase())
|
|
357
|
+
.filter(Boolean));
|
|
358
|
+
// Also check for images without registry prefix (docker outputs differently)
|
|
359
|
+
const shortNames = new Set(Array.from(localImages).map(img => {
|
|
360
|
+
// Remove common registry prefixes for matching
|
|
361
|
+
return img
|
|
362
|
+
.replace(/^docker\.io\//, '')
|
|
363
|
+
.replace(/^docker\.io\/library\//, '')
|
|
364
|
+
.replace(/^ghcr\.io\//, '');
|
|
365
|
+
}));
|
|
366
|
+
const installed = [];
|
|
367
|
+
const missing = [];
|
|
368
|
+
for (const image of exports.CORE_IMAGES) {
|
|
369
|
+
const imageLower = image.toLowerCase();
|
|
370
|
+
const shortName = imageLower
|
|
371
|
+
.replace(/^docker\.io\//, '')
|
|
372
|
+
.replace(/^docker\.io\/library\//, '')
|
|
373
|
+
.replace(/^ghcr\.io\//, '');
|
|
374
|
+
// Check various forms of the image name
|
|
375
|
+
if (localImages.has(imageLower) ||
|
|
376
|
+
localImages.has(shortName) ||
|
|
377
|
+
shortNames.has(shortName) ||
|
|
378
|
+
// Handle docker's shorthand output (e.g., "openclaw/openclaw" instead of full path)
|
|
379
|
+
Array.from(localImages).some(local => local.endsWith(shortName) || local.endsWith(imageLower.split('/').pop() || ''))) {
|
|
380
|
+
installed.push(image);
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
missing.push(image);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return { installed, missing, total: exports.CORE_IMAGES.length };
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Check if demo MySQL images are installed (same mysql:8.0 image)
|
|
390
|
+
*/
|
|
391
|
+
function areDemoImagesInstalled(imageStatus) {
|
|
392
|
+
// Demo uses the same mysql:8.0 image which is part of core images
|
|
393
|
+
// So if core images are installed, demo images are also installed
|
|
394
|
+
return imageStatus.missing.length === 0;
|
|
395
|
+
}
|
|
327
396
|
//# sourceMappingURL=docker-prereq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-prereq.js","sourceRoot":"","sources":["../../../src/cli/utils/docker-prereq.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,0DA8DC;AA8DD,sCAsBC;AAKD,oDAsCC;AAKD,gDAOC;AAKD,8CASC;AAKD,4DAwBC;AAKD,8DAcC;AAKD,4DAgBC;AAKD,4CAYC;
|
|
1
|
+
{"version":3,"file":"docker-prereq.js","sourceRoot":"","sources":["../../../src/cli/utils/docker-prereq.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,0DA8DC;AA8DD,sCAsBC;AAKD,oDAsCC;AAKD,gDAOC;AAKD,8CASC;AAKD,4DAwBC;AAKD,8DAcC;AAKD,4DAgBC;AAKD,4CAYC;AA8BD,oDA2DC;AAKD,wDAIC;AAjaD,iDAAsC;AACtC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,mCAAmC;IAC3C,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,2BAA2B;CACrC,CAAC;AAEF;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAA4B,EAC5B,MAAc;IAEd,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAC5F,MAAM,eAAe,GAAG,mCAAmC,CAAC;QAE5D,MAAM,aAAa,GAAG;;;;;cAKZ,MAAM;CACnB,CAAC;QAEE,yCAAyC;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACvE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACpC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;gBAC3E,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,yBAAyB,CAAC;QAEjD,IAAI,CAAC;YACH,IAAI,cAAc,GAA4B,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC1D,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1E,kCAAkC;YAClC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAgBD;;GAEG;AACH,SAAS,WAAW,CAClB,GAAa,EACb,OAAgD;IAEhD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACvC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC3C,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI,KAAK,CAAC;gBACnB,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,2BAA2B;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa;IACjC,MAAM,QAAQ,GAA+B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAElE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,qCAAqC;gBACrC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACzB,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnF,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1D,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAA4B;IAE5B,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAA4B;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,wEAAwE;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,wBAAwB;IAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,oBAAoB,CAAC,OAAO,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC;QAC1B,kBAAkB,CAAC,OAAO,CAAC;KAC5B,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,cAAc;QACd,OAAO;QACP,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,OAAmC;IAC3E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;;;8CAGmC,CAAC;IAC7C,CAAC;IAED,gCAAgC;IAChC,OAAO;;;;8DAIqD,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO;;;;;;;;;;;;;;sEAc6D,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAgB;IAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,YAAY,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;QAC1C,YAAY,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE;QAC3D,WAAW,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE;KAC5D,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,kCAAkC;IAClC,2CAA2C;IAC3C,oCAAoC;IACpC,kCAAkC;IAClC,kCAAkC;IAClC,6BAA6B;IAC7B,kCAAkC;CACnC,CAAC;AAcF;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,OAA4C;IACrF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,mBAAW,EAAE,KAAK,EAAE,mBAAW,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAC3D,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CACjC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,mBAAW,EAAE,KAAK,EAAE,mBAAW,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,MAAM;SACV,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IAEF,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChC,+CAA+C;QAC/C,OAAO,GAAG;aACP,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;aACrC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,mBAAW,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU;aACzB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;aACrC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE9B,wCAAwC;QACxC,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YACzB,oFAAoF;YACpF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACnC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAC/E,EAAE,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAW,CAAC,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,WAAwB;IAC7D,kEAAkE;IAClE,kEAAkE;IAClE,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# OpenClaw entrypoint for ClawSQL
|
|
3
|
+
# Auto-configures the gateway on first run using environment variables
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
CONFIG_FILE="/data/state/openclaw.json"
|
|
8
|
+
STATE_DIR="/data/state"
|
|
9
|
+
|
|
10
|
+
# Ensure state directory exists
|
|
11
|
+
mkdir -p "$STATE_DIR"
|
|
12
|
+
|
|
13
|
+
# Check if we need to run initial configuration
|
|
14
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
15
|
+
echo "[openclaw-entrypoint] First run - configuring gateway..."
|
|
16
|
+
|
|
17
|
+
# Determine provider configuration from environment
|
|
18
|
+
if [ -n "$ANTHROPIC_API_KEY" ] && [ -n "$ANTHROPIC_BASE_URL" ]; then
|
|
19
|
+
echo "[openclaw-entrypoint] Configuring custom Anthropic-compatible provider..."
|
|
20
|
+
|
|
21
|
+
# Use onboard to configure custom provider
|
|
22
|
+
node openclaw.mjs onboard \
|
|
23
|
+
--non-interactive \
|
|
24
|
+
--accept-risk \
|
|
25
|
+
--auth-choice custom-api-key \
|
|
26
|
+
--custom-api-key "$ANTHROPIC_API_KEY" \
|
|
27
|
+
--custom-base-url "$ANTHROPIC_BASE_URL" \
|
|
28
|
+
--custom-model-id "${ANTHROPIC_MODEL:-claude-3-5-sonnet-20241022}" \
|
|
29
|
+
--custom-compatibility anthropic \
|
|
30
|
+
--gateway-port "${OPENCLAW_GATEWAY_PORT:-18789}" \
|
|
31
|
+
--gateway-token "${OPENCLAW_GATEWAY_TOKEN:-clawsql-openclaw-token}" \
|
|
32
|
+
--gateway-bind lan \
|
|
33
|
+
2>&1 || echo "[openclaw-entrypoint] Warning: onboard returned non-zero"
|
|
34
|
+
|
|
35
|
+
# Ensure LAN binding and control UI settings
|
|
36
|
+
node openclaw.mjs config set gateway.bind lan 2>&1 || true
|
|
37
|
+
node openclaw.mjs config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true 2>&1 || true
|
|
38
|
+
|
|
39
|
+
elif [ -n "$ANTHROPIC_API_KEY" ]; then
|
|
40
|
+
echo "[openclaw-entrypoint] Configuring Anthropic provider..."
|
|
41
|
+
|
|
42
|
+
node openclaw.mjs onboard \
|
|
43
|
+
--non-interactive \
|
|
44
|
+
--accept-risk \
|
|
45
|
+
--auth-choice anthropic-api-key \
|
|
46
|
+
--anthropic-api-key "$ANTHROPIC_API_KEY" \
|
|
47
|
+
--gateway-port "${OPENCLAW_GATEWAY_PORT:-18789}" \
|
|
48
|
+
--gateway-token "${OPENCLAW_GATEWAY_TOKEN:-clawsql-openclaw-token}" \
|
|
49
|
+
--gateway-bind lan \
|
|
50
|
+
2>&1 || true
|
|
51
|
+
|
|
52
|
+
node openclaw.mjs config set gateway.bind lan 2>&1 || true
|
|
53
|
+
node openclaw.mjs config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true 2>&1 || true
|
|
54
|
+
|
|
55
|
+
elif [ -n "$OPENAI_API_KEY" ]; then
|
|
56
|
+
echo "[openclaw-entrypoint] Configuring OpenAI provider..."
|
|
57
|
+
|
|
58
|
+
node openclaw.mjs onboard \
|
|
59
|
+
--non-interactive \
|
|
60
|
+
--accept-risk \
|
|
61
|
+
--auth-choice openai-api-key \
|
|
62
|
+
--openai-api-key "$OPENAI_API_KEY" \
|
|
63
|
+
--gateway-port "${OPENCLAW_GATEWAY_PORT:-18789}" \
|
|
64
|
+
--gateway-token "${OPENCLAW_GATEWAY_TOKEN:-clawsql-openclaw-token}" \
|
|
65
|
+
--gateway-bind lan \
|
|
66
|
+
2>&1 || true
|
|
67
|
+
|
|
68
|
+
node openclaw.mjs config set gateway.bind lan 2>&1 || true
|
|
69
|
+
node openclaw.mjs config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true 2>&1 || true
|
|
70
|
+
|
|
71
|
+
else
|
|
72
|
+
echo "[openclaw-entrypoint] No AI provider configured - using bundled model (limited)"
|
|
73
|
+
|
|
74
|
+
# Create minimal config
|
|
75
|
+
cat > "$CONFIG_FILE" << EOF
|
|
76
|
+
{
|
|
77
|
+
"gateway": {
|
|
78
|
+
"bind": "lan",
|
|
79
|
+
"port": ${OPENCLAW_GATEWAY_PORT:-18789},
|
|
80
|
+
"auth": {
|
|
81
|
+
"mode": "token",
|
|
82
|
+
"token": "${OPENCLAW_GATEWAY_TOKEN:-clawsql-openclaw-token}"
|
|
83
|
+
},
|
|
84
|
+
"controlUi": {
|
|
85
|
+
"dangerouslyAllowHostHeaderOriginFallback": true
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"agents": {
|
|
89
|
+
"defaults": {
|
|
90
|
+
"model": "anthropic/claude-opus-4-6"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
EOF
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
echo "[openclaw-entrypoint] Configuration complete"
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
# Start the gateway
|
|
101
|
+
echo "[openclaw-entrypoint] Starting gateway..."
|
|
102
|
+
exec node openclaw.mjs gateway --allow-unconfigured
|