@solidxai/solidctl 0.1.21-beta.0 → 0.1.22
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.
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.registerAgentCommand = registerAgentCommand;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const dotenv_1 = require("dotenv");
|
|
10
|
+
const helper_1 = require("../helper");
|
|
11
|
+
function resolveDatabaseUrl() {
|
|
12
|
+
if (process.env.DATABASE_URL)
|
|
13
|
+
return process.env.DATABASE_URL;
|
|
14
|
+
const host = process.env.DEFAULT_DATABASE_HOST;
|
|
15
|
+
const port = process.env.DEFAULT_DATABASE_PORT;
|
|
16
|
+
const user = process.env.DEFAULT_DATABASE_USER;
|
|
17
|
+
const password = process.env.DEFAULT_DATABASE_PASSWORD;
|
|
18
|
+
const name = process.env.DEFAULT_DATABASE_NAME;
|
|
19
|
+
if (host && port && user && name) {
|
|
20
|
+
return `postgresql://${user}${password ? ':' + password : ''}@${host}:${port}/${name}`;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
function registerAgentCommand(program) {
|
|
25
|
+
const agent = program
|
|
26
|
+
.command('agent')
|
|
27
|
+
.description('SolidX AI Agent — start the server or run a single task');
|
|
28
|
+
agent
|
|
29
|
+
.command('start')
|
|
30
|
+
.description('Start the AI agent server')
|
|
31
|
+
.option('-p, --port <port>', 'Port number', '8765')
|
|
32
|
+
.option('-H, --host <host>', 'Host to bind', '0.0.0.0')
|
|
33
|
+
.option('-l, --log-level <level>', 'Logging level', 'INFO')
|
|
34
|
+
.action((options) => {
|
|
35
|
+
(0, helper_1.validateProjectRoot)();
|
|
36
|
+
const projectRoot = process.cwd();
|
|
37
|
+
(0, dotenv_1.config)({ path: path_1.default.join(projectRoot, 'solid-api', '.env') });
|
|
38
|
+
const databaseUrl = resolveDatabaseUrl();
|
|
39
|
+
const env = {
|
|
40
|
+
...process.env,
|
|
41
|
+
SOLIDX_PROJECT_ROOT: projectRoot,
|
|
42
|
+
...(databaseUrl ? { DATABASE_URL: databaseUrl } : {}),
|
|
43
|
+
};
|
|
44
|
+
console.log(`▶ Starting SolidX AI Agent server on ${options.host}:${options.port}`);
|
|
45
|
+
const agentCommand = process.platform === 'win32' ? 'solidx-agent.cmd' : 'solidx-agent';
|
|
46
|
+
const result = (0, child_process_1.spawnSync)(agentCommand, ['serve', '--port', options.port, '--host', options.host, '--log-level', options.logLevel], {
|
|
47
|
+
cwd: projectRoot,
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
env,
|
|
50
|
+
shell: process.platform === 'win32',
|
|
51
|
+
});
|
|
52
|
+
if (result.error) {
|
|
53
|
+
console.error('❌ Failed to start agent server:', result.error.message);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
if (result.status !== 0) {
|
|
57
|
+
console.error('❌ Agent server exited with code', result.status);
|
|
58
|
+
process.exit(result.status ?? 1);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
agent
|
|
62
|
+
.command('run')
|
|
63
|
+
.description('Run a single agent task')
|
|
64
|
+
.argument('<task>', 'Task description')
|
|
65
|
+
.option('-m, --mode <mode>', 'Tool mode: native or mcp')
|
|
66
|
+
.option('-l, --log-level <level>', 'Logging level', 'INFO')
|
|
67
|
+
.action((task, options) => {
|
|
68
|
+
(0, helper_1.validateProjectRoot)();
|
|
69
|
+
const projectRoot = process.cwd();
|
|
70
|
+
(0, dotenv_1.config)({ path: path_1.default.join(projectRoot, 'solid-api', '.env') });
|
|
71
|
+
const databaseUrl = resolveDatabaseUrl();
|
|
72
|
+
const env = {
|
|
73
|
+
...process.env,
|
|
74
|
+
SOLIDX_PROJECT_ROOT: projectRoot,
|
|
75
|
+
...(databaseUrl ? { DATABASE_URL: databaseUrl } : {}),
|
|
76
|
+
};
|
|
77
|
+
const args = [task];
|
|
78
|
+
if (options.mode) {
|
|
79
|
+
args.push('--mode', options.mode);
|
|
80
|
+
}
|
|
81
|
+
args.push('--log-level', options.logLevel);
|
|
82
|
+
console.log(`▶ Running SolidX AI Agent: ${task}`);
|
|
83
|
+
const agentCommand = process.platform === 'win32' ? 'solidx-agent.cmd' : 'solidx-agent';
|
|
84
|
+
const result = (0, child_process_1.spawnSync)(agentCommand, args, {
|
|
85
|
+
cwd: projectRoot,
|
|
86
|
+
stdio: 'inherit',
|
|
87
|
+
env,
|
|
88
|
+
shell: process.platform === 'win32',
|
|
89
|
+
});
|
|
90
|
+
if (result.error) {
|
|
91
|
+
console.error('❌ Failed to run agent:', result.error.message);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
if (result.status !== 0) {
|
|
95
|
+
console.error('❌ Agent exited with code', result.status);
|
|
96
|
+
process.exit(result.status ?? 1);
|
|
97
|
+
}
|
|
98
|
+
console.log('✔ Agent task completed');
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=agent.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.command.js","sourceRoot":"","sources":["../../src/commands/agent.command.ts"],"names":[],"mappings":";;;;;AAyBA,oDAkGC;AA1HD,iDAA0C;AAC1C,gDAAwB;AACxB,mCAA8C;AAC9C,sCAAgD;AAMhD,SAAS,kBAAkB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAE9D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAE/C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,gBAAgB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAE1E,KAAK;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC;SACtD,MAAM,CAAC,yBAAyB,EAAE,eAAe,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAA,4BAAmB,GAAE,CAAC;QACtB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAGlC,IAAA,eAAU,EAAC,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,MAAM,GAAG,GAA2B;YAClC,GAAG,OAAO,CAAC,GAA6B;YACxC,mBAAmB,EAAE,WAAW;YAChC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;QACxF,MAAM,MAAM,GAAG,IAAA,yBAAS,EACtB,YAAY,EACZ,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1F;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yBAAyB,CAAC;SACtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SACtC,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CAAC,yBAAyB,EAAE,eAAe,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACxB,IAAA,4BAAmB,GAAE,CAAC;QACtB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAGlC,IAAA,eAAU,EAAC,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,MAAM,GAAG,GAA2B;YAClC,GAAG,OAAO,CAAC,GAA6B;YACxC,mBAAmB,EAAE,WAAW;YAChC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;QACxF,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,YAAY,EAAE,IAAI,EAAE;YAC3C,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -15,6 +15,7 @@ const release_command_1 = require("./commands/release.command");
|
|
|
15
15
|
const legacy_migrate_command_1 = require("./commands/legacy-migrate.command");
|
|
16
16
|
const generate_command_1 = require("./commands/generate.command");
|
|
17
17
|
const mcp_command_1 = require("./commands/mcp.command");
|
|
18
|
+
const agent_command_1 = require("./commands/agent.command");
|
|
18
19
|
async function bootstrap() {
|
|
19
20
|
const appContext = await core_1.NestFactory.createApplicationContext(app_module_1.AppModule, { logger: false });
|
|
20
21
|
const program = new commander_1.Command();
|
|
@@ -33,6 +34,7 @@ async function bootstrap() {
|
|
|
33
34
|
(0, legacy_migrate_command_1.registerLegacyMigrateCommand)(program);
|
|
34
35
|
(0, generate_command_1.registerGenerateCommand)(program);
|
|
35
36
|
(0, mcp_command_1.registerMcpCommand)(program);
|
|
37
|
+
(0, agent_command_1.registerAgentCommand)(program);
|
|
36
38
|
await program.parseAsync(process.argv);
|
|
37
39
|
await appContext.close();
|
|
38
40
|
}
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAC3C,yCAAoC;AACpC,6CAAyC;AACzC,4EAA+E;AAC/E,4DAAgE;AAChE,gEAAoE;AACpE,0DAA8D;AAC9D,0DAA8D;AAC9D,0DAA8D;AAC9D,iFAAoF;AACpF,gEAAoE;AACpE,8EAAiF;AAEjF,kEAAsE;AACtE,wDAA4D;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAC3C,yCAAoC;AACpC,6CAAyC;AACzC,4EAA+E;AAC/E,4DAAgE;AAChE,gEAAoE;AACpE,0DAA8D;AAC9D,0DAA8D;AAC9D,0DAA8D;AAC9D,iFAAoF;AACpF,gEAAoE;AACpE,8EAAiF;AAEjF,kEAAsE;AACtE,wDAA4D;AAC5D,4DAAgE;AAEhE,KAAK,UAAU,SAAS;IACtB,MAAM,UAAU,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAC3D,sBAAS,EACT,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,eAAe,CAAC;SAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,IAAA,wCAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,oCAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,mDAA2B,EAAC,OAAO,CAAC,CAAC;IACrC,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,6CAAwB,EAAC,OAAO,CAAC,CAAC;IAClC,IAAA,wCAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,qDAA4B,EAAC,OAAO,CAAC,CAAC;IACtC,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,gCAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,oCAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,EAAE,CAAC"}
|