@qodalis/cli-server-node 1.0.0-beta.4 → 1.0.0-beta.5
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 +145 -23
- package/dist/src/abstractions/index.d.ts +1 -1
- package/dist/src/abstractions/index.d.ts.map +1 -1
- package/dist/src/abstractions/index.js +4 -1
- package/dist/src/abstractions/index.js.map +1 -1
- package/dist/src/controllers/cli-controller.d.ts +6 -0
- package/dist/src/controllers/cli-controller.d.ts.map +1 -1
- package/dist/src/controllers/cli-controller.js +71 -1
- package/dist/src/controllers/cli-controller.js.map +1 -1
- package/dist/src/controllers/cli-version-controller.d.ts +4 -0
- package/dist/src/controllers/cli-version-controller.d.ts.map +1 -1
- package/dist/src/controllers/cli-version-controller.js +11 -3
- package/dist/src/controllers/cli-version-controller.js.map +1 -1
- package/dist/src/controllers/filesystem-controller.d.ts.map +1 -1
- package/dist/src/controllers/filesystem-controller.js +51 -7
- package/dist/src/controllers/filesystem-controller.js.map +1 -1
- package/dist/src/create-cli-server.d.ts +31 -4
- package/dist/src/create-cli-server.d.ts.map +1 -1
- package/dist/src/create-cli-server.js +18 -11
- package/dist/src/create-cli-server.js.map +1 -1
- package/dist/src/extensions/cli-builder.d.ts +19 -1
- package/dist/src/extensions/cli-builder.d.ts.map +1 -1
- package/dist/src/extensions/cli-builder.js +26 -0
- package/dist/src/extensions/cli-builder.js.map +1 -1
- package/dist/src/filesystem/filesystem-options.d.ts +1 -0
- package/dist/src/filesystem/filesystem-options.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/cli-server-command-descriptor.d.ts +2 -1
- package/dist/src/models/cli-server-command-descriptor.d.ts.map +1 -1
- package/dist/src/models/cli-server-output.d.ts +1 -22
- package/dist/src/models/cli-server-output.d.ts.map +1 -1
- package/dist/src/models/cli-server-response.d.ts +1 -5
- package/dist/src/models/cli-server-response.d.ts.map +1 -1
- package/dist/src/processors/cli-base64-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-base64-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-base64-command-processor.js +3 -0
- package/dist/src/processors/cli-base64-command-processor.js.map +1 -1
- package/dist/src/processors/cli-echo-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-echo-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-echo-command-processor.js +1 -0
- package/dist/src/processors/cli-echo-command-processor.js.map +1 -1
- package/dist/src/processors/cli-hash-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-hash-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-hash-command-processor.js +1 -0
- package/dist/src/processors/cli-hash-command-processor.js.map +1 -1
- package/dist/src/processors/cli-http-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-http-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-http-command-processor.js +85 -6
- package/dist/src/processors/cli-http-command-processor.js.map +1 -1
- package/dist/src/processors/cli-status-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-status-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-status-command-processor.js +1 -0
- package/dist/src/processors/cli-status-command-processor.js.map +1 -1
- package/dist/src/processors/cli-system-command-processor.d.ts +1 -0
- package/dist/src/processors/cli-system-command-processor.d.ts.map +1 -1
- package/dist/src/processors/cli-system-command-processor.js +1 -0
- package/dist/src/processors/cli-system-command-processor.js.map +1 -1
- package/dist/src/server.js +8 -6
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/cli-command-executor-service.d.ts +24 -3
- package/dist/src/services/cli-command-executor-service.d.ts.map +1 -1
- package/dist/src/services/cli-command-executor-service.js +35 -3
- package/dist/src/services/cli-command-executor-service.js.map +1 -1
- package/dist/src/services/cli-command-registry.d.ts +11 -0
- package/dist/src/services/cli-command-registry.d.ts.map +1 -1
- package/dist/src/services/cli-command-registry.js +5 -0
- package/dist/src/services/cli-command-registry.js.map +1 -1
- package/dist/src/services/cli-event-socket-manager.d.ts +6 -0
- package/dist/src/services/cli-event-socket-manager.d.ts.map +1 -1
- package/dist/src/services/cli-event-socket-manager.js +16 -2
- package/dist/src/services/cli-event-socket-manager.js.map +1 -1
- package/dist/src/services/cli-log-socket-manager.d.ts +2 -0
- package/dist/src/services/cli-log-socket-manager.d.ts.map +1 -1
- package/dist/src/services/cli-log-socket-manager.js +7 -0
- package/dist/src/services/cli-log-socket-manager.js.map +1 -1
- package/dist/src/services/cli-response-builder.d.ts +9 -0
- package/dist/src/services/cli-response-builder.d.ts.map +1 -1
- package/dist/src/services/cli-response-builder.js +1 -0
- package/dist/src/services/cli-response-builder.js.map +1 -1
- package/dist/src/services/cli-shell-session-manager.d.ts +11 -0
- package/dist/src/services/cli-shell-session-manager.d.ts.map +1 -1
- package/dist/src/services/cli-shell-session-manager.js +36 -5
- package/dist/src/services/cli-shell-session-manager.js.map +1 -1
- package/dist/src/utils/logger.d.ts +11 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +13 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/package.json +12 -3
- package/dist/src/controllers/cli-controller-v2.d.ts +0 -4
- package/dist/src/controllers/cli-controller-v2.d.ts.map +0 -1
- package/dist/src/controllers/cli-controller-v2.js +0 -46
- package/dist/src/controllers/cli-controller-v2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-log-socket-manager.js","sourceRoot":"","sources":["../../../src/services/cli-log-socket-manager.ts"],"names":[],"mappings":";;;AAAA,2BAAgD;AAEhD,6BAA0B;
|
|
1
|
+
{"version":3,"file":"cli-log-socket-manager.js","sourceRoot":"","sources":["../../../src/services/cli-log-socket-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { CliServerResponse } from '../models';
|
|
2
|
+
/** Fluent interface for building a structured CLI server response with typed output blocks. */
|
|
2
3
|
export interface ICliResponseBuilder {
|
|
4
|
+
/** Appends a text output block with an optional style. */
|
|
3
5
|
writeText(text: string, style?: 'success' | 'error' | 'info' | 'warning'): void;
|
|
6
|
+
/** Appends a table output block. */
|
|
4
7
|
writeTable(headers: string[], rows: string[][]): void;
|
|
8
|
+
/** Appends a list output block. */
|
|
5
9
|
writeList(items: string[], ordered?: boolean): void;
|
|
10
|
+
/** Appends a JSON output block. */
|
|
6
11
|
writeJson(value: any): void;
|
|
12
|
+
/** Appends a key-value pairs output block. */
|
|
7
13
|
writeKeyValue(entries: Record<string, string>): void;
|
|
14
|
+
/** Sets the exit code for the response. */
|
|
8
15
|
setExitCode(code: number): void;
|
|
16
|
+
/** Builds and returns the final structured response. */
|
|
9
17
|
build(): CliServerResponse;
|
|
10
18
|
}
|
|
19
|
+
/** Default implementation of {@link ICliResponseBuilder} that accumulates output blocks. */
|
|
11
20
|
export declare class CliResponseBuilder implements ICliResponseBuilder {
|
|
12
21
|
private _exitCode;
|
|
13
22
|
private _outputs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-response-builder.d.ts","sourceRoot":"","sources":["../../../src/services/cli-response-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IACtD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpD,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,IAAI,iBAAiB,CAAC;CAC9B;AAED,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAyB;IAEzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI;IAI/E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIrD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ,GAAG,IAAI;IAIjD,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAI3B,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,KAAK,IAAI,iBAAiB;CAM7B"}
|
|
1
|
+
{"version":3,"file":"cli-response-builder.d.ts","sourceRoot":"","sources":["../../../src/services/cli-response-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,+FAA+F;AAC/F,MAAM,WAAW,mBAAmB;IAChC,0DAA0D;IAC1D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChF,oCAAoC;IACpC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IACtD,mCAAmC;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpD,mCAAmC;IACnC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC5B,8CAA8C;IAC9C,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACrD,2CAA2C;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wDAAwD;IACxD,KAAK,IAAI,iBAAiB,CAAC;CAC9B;AAED,4FAA4F;AAC5F,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAyB;IAEzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI;IAI/E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIrD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ,GAAG,IAAI;IAIjD,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAI3B,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,KAAK,IAAI,iBAAiB;CAM7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CliResponseBuilder = void 0;
|
|
4
|
+
/** Default implementation of {@link ICliResponseBuilder} that accumulates output blocks. */
|
|
4
5
|
class CliResponseBuilder {
|
|
5
6
|
_exitCode = 0;
|
|
6
7
|
_outputs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-response-builder.js","sourceRoot":"","sources":["../../../src/services/cli-response-builder.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cli-response-builder.js","sourceRoot":"","sources":["../../../src/services/cli-response-builder.ts"],"names":[],"mappings":";;;AAqBA,4FAA4F;AAC5F,MAAa,kBAAkB;IACnB,SAAS,GAAG,CAAC,CAAC;IACd,QAAQ,GAAsB,EAAE,CAAC;IAEzC,SAAS,CAAC,IAAY,EAAE,KAAgD;QACpE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,OAAiB,EAAE,IAAgB;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,KAAe,EAAE,OAAO,GAAG,KAAK;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,KAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,OAA+B;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3E,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK;QACD,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACzB,CAAC;IACN,CAAC;CACJ;AArCD,gDAqCC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { WebSocket } from 'ws';
|
|
2
|
+
/** Manages interactive PTY shell sessions over WebSocket connections. */
|
|
2
3
|
export declare class CliShellSessionManager {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a PTY shell session bridged to the given WebSocket.
|
|
6
|
+
* @param ws - WebSocket connection for the shell session.
|
|
7
|
+
* @param cols - Initial terminal width in columns.
|
|
8
|
+
* @param rows - Initial terminal height in rows.
|
|
9
|
+
* @param command - Optional command to execute instead of an interactive shell.
|
|
10
|
+
*/
|
|
3
11
|
handleSession(ws: WebSocket, cols: number, rows: number, command?: string): Promise<void>;
|
|
12
|
+
/** Determines the shell binary and arguments based on the platform and optional command. */
|
|
4
13
|
private getShellInfo;
|
|
14
|
+
/** Detects the best available shell on Unix systems by checking $SHELL and common paths. */
|
|
5
15
|
private detectShell;
|
|
16
|
+
/** Sends a JSON message to the WebSocket if the connection is open. */
|
|
6
17
|
private send;
|
|
7
18
|
}
|
|
8
19
|
//# sourceMappingURL=cli-shell-session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-shell-session-manager.d.ts","sourceRoot":"","sources":["../../../src/services/cli-shell-session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-shell-session-manager.d.ts","sourceRoot":"","sources":["../../../src/services/cli-shell-session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAuC/B,yEAAyE;AACzE,qBAAa,sBAAsB;IAC/B;;;;;;OAMG;IACG,aAAa,CACf,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IA4FhB,4FAA4F;IAC5F,OAAO,CAAC,YAAY;IAcpB,4FAA4F;IAC5F,OAAO,CAAC,WAAW;IAwBnB,uEAAuE;IACvE,OAAO,CAAC,IAAI;CAKf"}
|
|
@@ -37,8 +37,12 @@ exports.CliShellSessionManager = void 0;
|
|
|
37
37
|
const ws_1 = require("ws");
|
|
38
38
|
const os = __importStar(require("os"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
const logger_1 = require("../utils/logger");
|
|
41
|
+
const logger = (0, logger_1.createLogger)('ShellSession');
|
|
42
|
+
/**
|
|
43
|
+
* Lazy-loads node-pty to avoid import failures when the native add-on is unavailable.
|
|
44
|
+
* @throws {Error} If node-pty cannot be loaded.
|
|
45
|
+
*/
|
|
42
46
|
let _pty;
|
|
43
47
|
function getPty() {
|
|
44
48
|
if (!_pty) {
|
|
@@ -52,10 +56,27 @@ function getPty() {
|
|
|
52
56
|
}
|
|
53
57
|
return _pty;
|
|
54
58
|
}
|
|
59
|
+
/** Manages interactive PTY shell sessions over WebSocket connections. */
|
|
55
60
|
class CliShellSessionManager {
|
|
61
|
+
/**
|
|
62
|
+
* Creates a PTY shell session bridged to the given WebSocket.
|
|
63
|
+
* @param ws - WebSocket connection for the shell session.
|
|
64
|
+
* @param cols - Initial terminal width in columns.
|
|
65
|
+
* @param rows - Initial terminal height in rows.
|
|
66
|
+
* @param command - Optional command to execute instead of an interactive shell.
|
|
67
|
+
*/
|
|
56
68
|
async handleSession(ws, cols, rows, command) {
|
|
57
69
|
const { shell, args } = this.getShellInfo(command);
|
|
58
|
-
|
|
70
|
+
let nodePty;
|
|
71
|
+
try {
|
|
72
|
+
nodePty = getPty();
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
logger.error('node-pty unavailable: %s', err.message ?? err);
|
|
76
|
+
this.send(ws, { type: 'error', message: err.message });
|
|
77
|
+
ws.close();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
59
80
|
let ptyProcess;
|
|
60
81
|
try {
|
|
61
82
|
ptyProcess = nodePty.spawn(shell, args, {
|
|
@@ -67,10 +88,12 @@ class CliShellSessionManager {
|
|
|
67
88
|
});
|
|
68
89
|
}
|
|
69
90
|
catch (err) {
|
|
91
|
+
logger.error('Shell session error: %s', err.message ?? err);
|
|
70
92
|
this.send(ws, { type: 'error', message: err.message });
|
|
71
93
|
ws.close();
|
|
72
94
|
return;
|
|
73
95
|
}
|
|
96
|
+
logger.info('Shell session started (shell=%s, cols=%d, rows=%d)', shell, cols, rows);
|
|
74
97
|
const detectedOs = os.platform() === 'win32'
|
|
75
98
|
? 'win32'
|
|
76
99
|
: os.platform() === 'darwin'
|
|
@@ -85,6 +108,7 @@ class CliShellSessionManager {
|
|
|
85
108
|
this.send(ws, { type: 'stdout', data });
|
|
86
109
|
});
|
|
87
110
|
ptyProcess.onExit(({ exitCode }) => {
|
|
111
|
+
logger.info('Shell session ended');
|
|
88
112
|
this.send(ws, { type: 'exit', code: exitCode });
|
|
89
113
|
if (ws.readyState === ws_1.WebSocket.OPEN) {
|
|
90
114
|
ws.close();
|
|
@@ -104,6 +128,7 @@ class CliShellSessionManager {
|
|
|
104
128
|
}
|
|
105
129
|
catch {
|
|
106
130
|
// Ignore malformed messages
|
|
131
|
+
logger.debug('Ignoring malformed WebSocket message');
|
|
107
132
|
}
|
|
108
133
|
});
|
|
109
134
|
ws.on('close', () => {
|
|
@@ -112,17 +137,21 @@ class CliShellSessionManager {
|
|
|
112
137
|
}
|
|
113
138
|
catch {
|
|
114
139
|
// Already exited
|
|
140
|
+
logger.debug('Process already exited, cleanup skipped');
|
|
115
141
|
}
|
|
116
142
|
});
|
|
117
|
-
ws.on('error', () => {
|
|
143
|
+
ws.on('error', (error) => {
|
|
144
|
+
logger.error('Shell session error: %s', error.message ?? error);
|
|
118
145
|
try {
|
|
119
146
|
ptyProcess.kill();
|
|
120
147
|
}
|
|
121
148
|
catch {
|
|
122
149
|
// Already exited
|
|
150
|
+
logger.debug('Process already exited, cleanup skipped');
|
|
123
151
|
}
|
|
124
152
|
});
|
|
125
153
|
}
|
|
154
|
+
/** Determines the shell binary and arguments based on the platform and optional command. */
|
|
126
155
|
getShellInfo(command) {
|
|
127
156
|
if (os.platform() === 'win32') {
|
|
128
157
|
const shell = 'powershell.exe';
|
|
@@ -135,6 +164,7 @@ class CliShellSessionManager {
|
|
|
135
164
|
? { shell, args: ['-c', command] }
|
|
136
165
|
: { shell, args: [] };
|
|
137
166
|
}
|
|
167
|
+
/** Detects the best available shell on Unix systems by checking $SHELL and common paths. */
|
|
138
168
|
detectShell() {
|
|
139
169
|
const envShell = process.env.SHELL;
|
|
140
170
|
if (envShell) {
|
|
@@ -143,7 +173,7 @@ class CliShellSessionManager {
|
|
|
143
173
|
return envShell;
|
|
144
174
|
}
|
|
145
175
|
catch {
|
|
146
|
-
// SHELL
|
|
176
|
+
// $SHELL binary not accessible; try common paths
|
|
147
177
|
}
|
|
148
178
|
}
|
|
149
179
|
const candidates = ['/bin/bash', '/usr/bin/bash', '/bin/sh'];
|
|
@@ -158,6 +188,7 @@ class CliShellSessionManager {
|
|
|
158
188
|
}
|
|
159
189
|
return '/bin/sh';
|
|
160
190
|
}
|
|
191
|
+
/** Sends a JSON message to the WebSocket if the connection is open. */
|
|
161
192
|
send(ws, msg) {
|
|
162
193
|
if (ws.readyState === ws_1.WebSocket.OPEN) {
|
|
163
194
|
ws.send(JSON.stringify(msg));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-shell-session-manager.js","sourceRoot":"","sources":["../../../src/services/cli-shell-session-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"cli-shell-session-manager.js","sourceRoot":"","sources":["../../../src/services/cli-shell-session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple structured logger with category prefixes.
|
|
3
|
+
*/
|
|
4
|
+
export interface Logger {
|
|
5
|
+
debug(message: string, ...args: unknown[]): void;
|
|
6
|
+
info(message: string, ...args: unknown[]): void;
|
|
7
|
+
warn(message: string, ...args: unknown[]): void;
|
|
8
|
+
error(message: string, ...args: unknown[]): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function createLogger(category: string): Logger;
|
|
11
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQrD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLogger = createLogger;
|
|
4
|
+
function createLogger(category) {
|
|
5
|
+
const prefix = `[${category}]`;
|
|
6
|
+
return {
|
|
7
|
+
debug: (msg, ...args) => console.debug(`${prefix} ${msg}`, ...args),
|
|
8
|
+
info: (msg, ...args) => console.log(`${prefix} ${msg}`, ...args),
|
|
9
|
+
warn: (msg, ...args) => console.warn(`${prefix} ${msg}`, ...args),
|
|
10
|
+
error: (msg, ...args) => console.error(`${prefix} ${msg}`, ...args),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;AAUA,oCAQC;AARD,SAAgB,YAAY,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,IAAI,QAAQ,GAAG,CAAC;IAC/B,OAAO;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QACnE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QAChE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QACjE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;KACtE,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qodalis/cli-server-node",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.5",
|
|
4
4
|
"description": "Node.js CLI server for Qodalis CLI ecosystem — use as a library in existing Express apps or run standalone",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"homepage": "https://qodalis.com/",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@qodalis/cli-server-abstractions": "file:packages/abstractions",
|
|
41
|
+
"@qodalis/cli-server-plugin-data-explorer": "file:plugins/data-explorer",
|
|
41
42
|
"@qodalis/cli-server-plugin-filesystem": "file:plugins/filesystem",
|
|
42
43
|
"@qodalis/cli-server-plugin-jobs": "file:plugins/jobs",
|
|
43
44
|
"cors": "^2.8.5",
|
|
@@ -47,17 +48,25 @@
|
|
|
47
48
|
"ws": "^8.18.0"
|
|
48
49
|
},
|
|
49
50
|
"optionalDependencies": {
|
|
51
|
+
"@elastic/elasticsearch": "^8.16.0",
|
|
50
52
|
"@qodalis/cli-server-plugin-filesystem-json": "file:plugins/filesystem-json",
|
|
51
53
|
"@qodalis/cli-server-plugin-filesystem-s3": "file:plugins/filesystem-s3",
|
|
52
54
|
"@qodalis/cli-server-plugin-filesystem-sqlite": "file:plugins/filesystem-sqlite",
|
|
53
|
-
"better-sqlite3": "^11.
|
|
55
|
+
"better-sqlite3": "^11.10.0",
|
|
56
|
+
"ioredis": "^5.4.0",
|
|
57
|
+
"mongodb": "^6.0.0",
|
|
58
|
+
"mssql": "^11.0.0",
|
|
59
|
+
"mysql2": "^3.11.0",
|
|
60
|
+
"pg": "^8.13.0"
|
|
54
61
|
},
|
|
55
62
|
"devDependencies": {
|
|
56
|
-
"@types/better-sqlite3": "^7.6.
|
|
63
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
57
64
|
"@types/cors": "^2.8.17",
|
|
58
65
|
"@types/express": "^4.17.21",
|
|
66
|
+
"@types/mssql": "^9.1.9",
|
|
59
67
|
"@types/multer": "^2.0.0",
|
|
60
68
|
"@types/node": "^22.0.0",
|
|
69
|
+
"@types/pg": "^8.0.0",
|
|
61
70
|
"@types/supertest": "^7.2.0",
|
|
62
71
|
"@types/ws": "^8.5.13",
|
|
63
72
|
"supertest": "^7.2.2",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import { ICliCommandRegistry, ICliCommandExecutorService } from '../services';
|
|
3
|
-
export declare function createCliControllerV2(registry: ICliCommandRegistry, executor: ICliCommandExecutorService): Router;
|
|
4
|
-
//# sourceMappingURL=cli-controller-v2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-controller-v2.d.ts","sourceRoot":"","sources":["../../../src/controllers/cli-controller-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAI9E,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,0BAA0B,GACrC,MAAM,CAqBR"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createCliControllerV2 = createCliControllerV2;
|
|
4
|
-
const express_1 = require("express");
|
|
5
|
-
const SERVER_VERSION = '2.0.0';
|
|
6
|
-
function createCliControllerV2(registry, executor) {
|
|
7
|
-
const router = (0, express_1.Router)();
|
|
8
|
-
router.get('/version', (_req, res) => {
|
|
9
|
-
res.json({ apiVersion: 2, serverVersion: SERVER_VERSION });
|
|
10
|
-
});
|
|
11
|
-
router.get('/commands', (_req, res) => {
|
|
12
|
-
const descriptors = registry.processors
|
|
13
|
-
.filter((p) => (p.apiVersion ?? 1) >= 2)
|
|
14
|
-
.map(mapToDescriptor);
|
|
15
|
-
res.json(descriptors);
|
|
16
|
-
});
|
|
17
|
-
router.post('/execute', async (req, res) => {
|
|
18
|
-
const command = req.body;
|
|
19
|
-
const response = await executor.executeAsync(command);
|
|
20
|
-
res.json(response);
|
|
21
|
-
});
|
|
22
|
-
return router;
|
|
23
|
-
}
|
|
24
|
-
function mapToDescriptor(processor) {
|
|
25
|
-
const descriptor = {
|
|
26
|
-
command: processor.command,
|
|
27
|
-
description: processor.description,
|
|
28
|
-
version: processor.version,
|
|
29
|
-
apiVersion: processor.apiVersion ?? 1,
|
|
30
|
-
};
|
|
31
|
-
if (processor.parameters?.length) {
|
|
32
|
-
descriptor.parameters = processor.parameters.map((p) => ({
|
|
33
|
-
name: p.name,
|
|
34
|
-
aliases: p.aliases,
|
|
35
|
-
description: p.description,
|
|
36
|
-
required: p.required,
|
|
37
|
-
type: p.type,
|
|
38
|
-
defaultValue: p.defaultValue,
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
if (processor.processors?.length) {
|
|
42
|
-
descriptor.processors = processor.processors.map(mapToDescriptor);
|
|
43
|
-
}
|
|
44
|
-
return descriptor;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=cli-controller-v2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-controller-v2.js","sourceRoot":"","sources":["../../../src/controllers/cli-controller-v2.ts"],"names":[],"mappings":";;AAOA,sDAwBC;AA/BD,qCAAiC;AAKjC,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,SAAgB,qBAAqB,CACjC,QAA6B,EAC7B,QAAoC;IAEpC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;aACvC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,SAA+B;IACpD,MAAM,UAAU,GAA+B;QAC3C,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,CAAC;KACxC,CAAC;IAEF,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC/B,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAC5C,CAAC,CAAC,EAA0C,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY;SAC/B,CAAC,CACL,CAAC;IACN,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC/B,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
|