@qodalis/cli-server-node 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +146 -0
- package/dist/abstractions/cli-command-author.d.ts +11 -0
- package/dist/abstractions/cli-command-author.d.ts.map +1 -0
- package/dist/abstractions/cli-command-author.js +14 -0
- package/dist/abstractions/cli-command-author.js.map +1 -0
- package/dist/abstractions/cli-command-parameter-descriptor.d.ts +18 -0
- package/dist/abstractions/cli-command-parameter-descriptor.d.ts.map +1 -0
- package/dist/abstractions/cli-command-parameter-descriptor.js +21 -0
- package/dist/abstractions/cli-command-parameter-descriptor.js.map +1 -0
- package/dist/abstractions/cli-command-processor.d.ts +26 -0
- package/dist/abstractions/cli-command-processor.d.ts.map +1 -0
- package/dist/abstractions/cli-command-processor.js +14 -0
- package/dist/abstractions/cli-command-processor.js.map +1 -0
- package/dist/abstractions/cli-process-command.d.ts +9 -0
- package/dist/abstractions/cli-process-command.d.ts.map +1 -0
- package/dist/abstractions/cli-process-command.js +3 -0
- package/dist/abstractions/cli-process-command.js.map +1 -0
- package/dist/abstractions/index.d.ts +5 -0
- package/dist/abstractions/index.d.ts.map +1 -0
- package/dist/abstractions/index.js +11 -0
- package/dist/abstractions/index.js.map +1 -0
- package/dist/controllers/cli-controller.d.ts +4 -0
- package/dist/controllers/cli-controller.d.ts.map +1 -0
- package/dist/controllers/cli-controller.js +42 -0
- package/dist/controllers/cli-controller.js.map +1 -0
- package/dist/create-cli-server.d.ts +25 -0
- package/dist/create-cli-server.d.ts.map +1 -0
- package/dist/create-cli-server.js +35 -0
- package/dist/create-cli-server.js.map +1 -0
- package/dist/extensions/cli-builder.d.ts +9 -0
- package/dist/extensions/cli-builder.d.ts.map +1 -0
- package/dist/extensions/cli-builder.js +18 -0
- package/dist/extensions/cli-builder.js.map +1 -0
- package/dist/extensions/index.d.ts +2 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +6 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/models/cli-server-command-descriptor.d.ts +16 -0
- package/dist/models/cli-server-command-descriptor.d.ts.map +1 -0
- package/dist/models/cli-server-command-descriptor.js +3 -0
- package/dist/models/cli-server-command-descriptor.js.map +1 -0
- package/dist/models/cli-server-output.d.ts +23 -0
- package/dist/models/cli-server-output.d.ts.map +1 -0
- package/dist/models/cli-server-output.js +3 -0
- package/dist/models/cli-server-output.js.map +1 -0
- package/dist/models/cli-server-response.d.ts +6 -0
- package/dist/models/cli-server-response.d.ts.map +1 -0
- package/dist/models/cli-server-response.js +3 -0
- package/dist/models/cli-server-response.js.map +1 -0
- package/dist/models/index.d.ts +4 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -0
- package/dist/processors/cli-base64-command-processor.d.ts +11 -0
- package/dist/processors/cli-base64-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-base64-command-processor.js +40 -0
- package/dist/processors/cli-base64-command-processor.js.map +1 -0
- package/dist/processors/cli-echo-command-processor.d.ts +8 -0
- package/dist/processors/cli-echo-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-echo-command-processor.js +14 -0
- package/dist/processors/cli-echo-command-processor.js.map +1 -0
- package/dist/processors/cli-hash-command-processor.d.ts +10 -0
- package/dist/processors/cli-hash-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-hash-command-processor.js +30 -0
- package/dist/processors/cli-hash-command-processor.js.map +1 -0
- package/dist/processors/cli-http-command-processor.d.ts +11 -0
- package/dist/processors/cli-http-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-http-command-processor.js +79 -0
- package/dist/processors/cli-http-command-processor.js.map +1 -0
- package/dist/processors/cli-status-command-processor.d.ts +7 -0
- package/dist/processors/cli-status-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-status-command-processor.js +18 -0
- package/dist/processors/cli-status-command-processor.js.map +1 -0
- package/dist/processors/cli-system-command-processor.d.ts +8 -0
- package/dist/processors/cli-system-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-system-command-processor.js +33 -0
- package/dist/processors/cli-system-command-processor.js.map +1 -0
- package/dist/processors/cli-uuid-command-processor.d.ts +10 -0
- package/dist/processors/cli-uuid-command-processor.d.ts.map +1 -0
- package/dist/processors/cli-uuid-command-processor.js +27 -0
- package/dist/processors/cli-uuid-command-processor.js.map +1 -0
- package/dist/processors/index.d.ts +8 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +18 -0
- package/dist/processors/index.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +43 -0
- package/dist/server.js.map +1 -0
- package/dist/services/cli-command-executor-service.d.ts +12 -0
- package/dist/services/cli-command-executor-service.d.ts.map +1 -0
- package/dist/services/cli-command-executor-service.js +45 -0
- package/dist/services/cli-command-executor-service.js.map +1 -0
- package/dist/services/cli-command-registry.d.ts +14 -0
- package/dist/services/cli-command-registry.d.ts.map +1 -0
- package/dist/services/cli-command-registry.js +32 -0
- package/dist/services/cli-command-registry.js.map +1 -0
- package/dist/services/cli-event-socket-manager.d.ts +15 -0
- package/dist/services/cli-event-socket-manager.d.ts.map +1 -0
- package/dist/services/cli-event-socket-manager.js +60 -0
- package/dist/services/cli-event-socket-manager.js.map +1 -0
- package/dist/services/cli-response-builder.d.ts +22 -0
- package/dist/services/cli-response-builder.d.ts.map +1 -0
- package/dist/services/cli-response-builder.js +36 -0
- package/dist/services/cli-response-builder.js.map +1 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +12 -0
- package/dist/services/index.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-server-command-descriptor.js","sourceRoot":"","sources":["../../src/models/cli-server-command-descriptor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type CliServerOutput = {
|
|
2
|
+
type: 'text';
|
|
3
|
+
value: string;
|
|
4
|
+
style?: 'success' | 'error' | 'info' | 'warning';
|
|
5
|
+
} | {
|
|
6
|
+
type: 'table';
|
|
7
|
+
headers: string[];
|
|
8
|
+
rows: string[][];
|
|
9
|
+
} | {
|
|
10
|
+
type: 'list';
|
|
11
|
+
items: string[];
|
|
12
|
+
ordered?: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
type: 'json';
|
|
15
|
+
value: any;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'key-value';
|
|
18
|
+
entries: {
|
|
19
|
+
key: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}[];
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=cli-server-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-server-output.d.ts","sourceRoot":"","sources":["../../src/models/cli-server-output.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-server-output.js","sourceRoot":"","sources":["../../src/models/cli-server-output.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-server-response.d.ts","sourceRoot":"","sources":["../../src/models/cli-server-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-server-response.js","sourceRoot":"","sources":["../../src/models/cli-server-response.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
2
|
+
import { CliProcessCommand } from '../abstractions/cli-process-command';
|
|
3
|
+
import { ICliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
4
|
+
export declare class CliBase64CommandProcessor extends CliCommandProcessor {
|
|
5
|
+
command: string;
|
|
6
|
+
description: string;
|
|
7
|
+
allowUnlistedCommands: boolean;
|
|
8
|
+
processors: ICliCommandProcessor[];
|
|
9
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=cli-base64-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-base64-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-base64-command-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AA4B7E,qBAAa,yBAA0B,SAAQ,mBAAmB;IAC9D,OAAO,SAAY;IACnB,WAAW,SAAoC;IAC/C,qBAAqB,UAAS;IAC9B,UAAU,EAAE,oBAAoB,EAAE,CAA8D;IAE1F,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliBase64CommandProcessor = void 0;
|
|
4
|
+
const cli_command_processor_1 = require("../abstractions/cli-command-processor");
|
|
5
|
+
class Base64EncodeProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
6
|
+
command = 'encode';
|
|
7
|
+
description = 'Encodes text to Base64';
|
|
8
|
+
async handleAsync(command) {
|
|
9
|
+
const text = command.value;
|
|
10
|
+
if (!text)
|
|
11
|
+
return 'Usage: base64 encode <text>';
|
|
12
|
+
return Buffer.from(text, 'utf8').toString('base64');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class Base64DecodeProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
16
|
+
command = 'decode';
|
|
17
|
+
description = 'Decodes Base64 to text';
|
|
18
|
+
async handleAsync(command) {
|
|
19
|
+
const text = command.value;
|
|
20
|
+
if (!text)
|
|
21
|
+
return 'Usage: base64 decode <base64string>';
|
|
22
|
+
try {
|
|
23
|
+
return Buffer.from(text, 'base64').toString('utf8');
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return 'Error: Invalid Base64 input';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class CliBase64CommandProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
31
|
+
command = 'base64';
|
|
32
|
+
description = 'Encodes or decodes Base64 text';
|
|
33
|
+
allowUnlistedCommands = false;
|
|
34
|
+
processors = [new Base64EncodeProcessor(), new Base64DecodeProcessor()];
|
|
35
|
+
async handleAsync(command) {
|
|
36
|
+
return 'Usage: base64 encode|decode <text>';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.CliBase64CommandProcessor = CliBase64CommandProcessor;
|
|
40
|
+
//# sourceMappingURL=cli-base64-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-base64-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-base64-command-processor.ts"],"names":[],"mappings":";;;AAAA,iFAA4E;AAI5E,MAAM,qBAAsB,SAAQ,2CAAmB;IACnD,OAAO,GAAG,QAAQ,CAAC;IACnB,WAAW,GAAG,wBAAwB,CAAC;IAEvC,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,6BAA6B,CAAC;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACJ;AAED,MAAM,qBAAsB,SAAQ,2CAAmB;IACnD,OAAO,GAAG,QAAQ,CAAC;IACnB,WAAW,GAAG,wBAAwB,CAAC;IAEvC,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,qCAAqC,CAAC;QACxD,IAAI,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,6BAA6B,CAAC;QACzC,CAAC;IACL,CAAC;CACJ;AAED,MAAa,yBAA0B,SAAQ,2CAAmB;IAC9D,OAAO,GAAG,QAAQ,CAAC;IACnB,WAAW,GAAG,gCAAgC,CAAC;IAC/C,qBAAqB,GAAG,KAAK,CAAC;IAC9B,UAAU,GAA2B,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAEhG,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,OAAO,oCAAoC,CAAC;IAChD,CAAC;CACJ;AATD,8DASC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CliCommandProcessor, CliProcessCommand } from '../abstractions';
|
|
2
|
+
export declare class CliEchoCommandProcessor extends CliCommandProcessor {
|
|
3
|
+
command: string;
|
|
4
|
+
description: string;
|
|
5
|
+
valueRequired: boolean;
|
|
6
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cli-echo-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-echo-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-echo-command-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC5D,OAAO,SAAU;IACjB,WAAW,SAAgC;IAC3C,aAAa,UAAQ;IAEf,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliEchoCommandProcessor = void 0;
|
|
4
|
+
const abstractions_1 = require("../abstractions");
|
|
5
|
+
class CliEchoCommandProcessor extends abstractions_1.CliCommandProcessor {
|
|
6
|
+
command = 'echo';
|
|
7
|
+
description = 'Echoes back the input text';
|
|
8
|
+
valueRequired = true;
|
|
9
|
+
async handleAsync(command) {
|
|
10
|
+
return command.value ?? '';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.CliEchoCommandProcessor = CliEchoCommandProcessor;
|
|
14
|
+
//# sourceMappingURL=cli-echo-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-echo-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-echo-command-processor.ts"],"names":[],"mappings":";;;AAAA,kDAAyE;AAEzE,MAAa,uBAAwB,SAAQ,kCAAmB;IAC5D,OAAO,GAAG,MAAM,CAAC;IACjB,WAAW,GAAG,4BAA4B,CAAC;IAC3C,aAAa,GAAG,IAAI,CAAC;IAErB,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,OAAO,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,CAAC;CACJ;AARD,0DAQC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
2
|
+
import { CliCommandParameterDescriptor } from '../abstractions/cli-command-parameter-descriptor';
|
|
3
|
+
import { CliProcessCommand } from '../abstractions/cli-process-command';
|
|
4
|
+
export declare class CliHashCommandProcessor extends CliCommandProcessor {
|
|
5
|
+
command: string;
|
|
6
|
+
description: string;
|
|
7
|
+
parameters: CliCommandParameterDescriptor[];
|
|
8
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cli-hash-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-hash-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-hash-command-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAIxE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC5D,OAAO,SAAU;IACjB,WAAW,SAAqC;IAChD,UAAU,kCASR;IAEI,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAYjE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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.CliHashCommandProcessor = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const cli_command_processor_1 = require("../abstractions/cli-command-processor");
|
|
9
|
+
const cli_command_parameter_descriptor_1 = require("../abstractions/cli-command-parameter-descriptor");
|
|
10
|
+
const SUPPORTED_ALGORITHMS = ['md5', 'sha1', 'sha256', 'sha512'];
|
|
11
|
+
class CliHashCommandProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
12
|
+
command = 'hash';
|
|
13
|
+
description = 'Computes hash of the input text';
|
|
14
|
+
parameters = [
|
|
15
|
+
new cli_command_parameter_descriptor_1.CliCommandParameterDescriptor('algorithm', `Hash algorithm (${SUPPORTED_ALGORITHMS.join(', ')})`, false, 'string', ['-a'], 'sha256'),
|
|
16
|
+
];
|
|
17
|
+
async handleAsync(command) {
|
|
18
|
+
const text = command.value;
|
|
19
|
+
if (!text)
|
|
20
|
+
return 'Usage: hash <text> [--algorithm sha256]';
|
|
21
|
+
const algo = (command.args?.algorithm ?? 'sha256').toLowerCase();
|
|
22
|
+
if (!SUPPORTED_ALGORITHMS.includes(algo)) {
|
|
23
|
+
return `Unsupported algorithm: ${algo}. Supported: ${SUPPORTED_ALGORITHMS.join(', ')}`;
|
|
24
|
+
}
|
|
25
|
+
const digest = crypto_1.default.createHash(algo).update(text, 'utf8').digest('hex');
|
|
26
|
+
return `${algo}: ${digest}`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CliHashCommandProcessor = CliHashCommandProcessor;
|
|
30
|
+
//# sourceMappingURL=cli-hash-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-hash-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-hash-command-processor.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iFAA4E;AAC5E,uGAAiG;AAGjG,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEjE,MAAa,uBAAwB,SAAQ,2CAAmB;IAC5D,OAAO,GAAG,MAAM,CAAC;IACjB,WAAW,GAAG,iCAAiC,CAAC;IAChD,UAAU,GAAG;QACT,IAAI,gEAA6B,CAC7B,WAAW,EACX,mBAAmB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACrD,KAAK,EACL,QAAQ,EACR,CAAC,IAAI,CAAC,EACN,QAAQ,CACX;KACJ,CAAC;IAEF,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,yCAAyC,CAAC;QAE5D,MAAM,IAAI,GAAG,CAAE,OAAO,CAAC,IAAI,EAAE,SAAoB,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,0BAA0B,IAAI,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;IAChC,CAAC;CACJ;AA1BD,0DA0BC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
2
|
+
import { CliProcessCommand } from '../abstractions/cli-process-command';
|
|
3
|
+
import { ICliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
4
|
+
export declare class CliHttpCommandProcessor extends CliCommandProcessor {
|
|
5
|
+
command: string;
|
|
6
|
+
description: string;
|
|
7
|
+
allowUnlistedCommands: boolean;
|
|
8
|
+
processors: ICliCommandProcessor[];
|
|
9
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=cli-http-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-http-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-http-command-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAwE7E,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC5D,OAAO,SAAU;IACjB,WAAW,SAAyC;IACpD,qBAAqB,UAAS;IAC9B,UAAU,EAAE,oBAAoB,EAAE,CAAqD;IAEjF,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliHttpCommandProcessor = void 0;
|
|
4
|
+
const cli_command_processor_1 = require("../abstractions/cli-command-processor");
|
|
5
|
+
const cli_command_parameter_descriptor_1 = require("../abstractions/cli-command-parameter-descriptor");
|
|
6
|
+
class HttpGetProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
7
|
+
command = 'get';
|
|
8
|
+
description = 'Performs an HTTP GET request';
|
|
9
|
+
parameters = [
|
|
10
|
+
new cli_command_parameter_descriptor_1.CliCommandParameterDescriptor('headers', 'Show response headers', false, 'boolean'),
|
|
11
|
+
];
|
|
12
|
+
async handleAsync(command) {
|
|
13
|
+
const url = command.value;
|
|
14
|
+
if (!url)
|
|
15
|
+
return 'Usage: http get <url>';
|
|
16
|
+
return doRequest(url, 'GET', undefined, 'headers' in (command.args ?? {}));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
class HttpPostProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
20
|
+
command = 'post';
|
|
21
|
+
description = 'Performs an HTTP POST request';
|
|
22
|
+
parameters = [
|
|
23
|
+
new cli_command_parameter_descriptor_1.CliCommandParameterDescriptor('body', 'Request body (JSON string)', false, 'string', ['-b']),
|
|
24
|
+
new cli_command_parameter_descriptor_1.CliCommandParameterDescriptor('headers', 'Show response headers', false, 'boolean'),
|
|
25
|
+
];
|
|
26
|
+
async handleAsync(command) {
|
|
27
|
+
const url = command.value;
|
|
28
|
+
if (!url)
|
|
29
|
+
return "Usage: http post <url> --body '{\"key\":\"value\"}'";
|
|
30
|
+
const body = command.args?.body;
|
|
31
|
+
return doRequest(url, 'POST', body, 'headers' in (command.args ?? {}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function doRequest(url, method, body, showHeaders) {
|
|
35
|
+
try {
|
|
36
|
+
const init = {
|
|
37
|
+
method,
|
|
38
|
+
headers: body ? { 'Content-Type': 'application/json' } : undefined,
|
|
39
|
+
body: body ?? undefined,
|
|
40
|
+
signal: AbortSignal.timeout(30000),
|
|
41
|
+
};
|
|
42
|
+
const resp = await fetch(url, init);
|
|
43
|
+
const contentType = resp.headers.get('content-type') ?? 'unknown';
|
|
44
|
+
let respBody = await resp.text();
|
|
45
|
+
const lines = [
|
|
46
|
+
`Status: ${resp.status}`,
|
|
47
|
+
`Content-Type: ${contentType}`,
|
|
48
|
+
];
|
|
49
|
+
if (showHeaders) {
|
|
50
|
+
lines.push('Headers:');
|
|
51
|
+
resp.headers.forEach((value, key) => {
|
|
52
|
+
lines.push(` ${key}: ${value}`);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
lines.push('');
|
|
56
|
+
if (contentType.includes('json')) {
|
|
57
|
+
try {
|
|
58
|
+
respBody = JSON.stringify(JSON.parse(respBody), null, 2);
|
|
59
|
+
}
|
|
60
|
+
catch { /* keep raw */ }
|
|
61
|
+
}
|
|
62
|
+
lines.push(respBody.substring(0, 5000));
|
|
63
|
+
return lines.join('\n');
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
return `Error: ${err.message ?? err}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
class CliHttpCommandProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
70
|
+
command = 'http';
|
|
71
|
+
description = 'Makes HTTP requests from the server';
|
|
72
|
+
allowUnlistedCommands = false;
|
|
73
|
+
processors = [new HttpGetProcessor(), new HttpPostProcessor()];
|
|
74
|
+
async handleAsync(command) {
|
|
75
|
+
return 'Usage: http get|post <url> [--body <json>] [--headers]';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.CliHttpCommandProcessor = CliHttpCommandProcessor;
|
|
79
|
+
//# sourceMappingURL=cli-http-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-http-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-http-command-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CliCommandProcessor, CliProcessCommand } from '../abstractions';
|
|
2
|
+
export declare class CliStatusCommandProcessor extends CliCommandProcessor {
|
|
3
|
+
command: string;
|
|
4
|
+
description: string;
|
|
5
|
+
handleAsync(_command: CliProcessCommand): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=cli-status-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-status-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-status-command-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzE,qBAAa,yBAA0B,SAAQ,mBAAmB;IAC9D,OAAO,SAAY;IACnB,WAAW,SAAqC;IAE1C,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAIlE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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.CliStatusCommandProcessor = void 0;
|
|
7
|
+
const abstractions_1 = require("../abstractions");
|
|
8
|
+
const os_1 = __importDefault(require("os"));
|
|
9
|
+
class CliStatusCommandProcessor extends abstractions_1.CliCommandProcessor {
|
|
10
|
+
command = 'status';
|
|
11
|
+
description = 'Shows server status information';
|
|
12
|
+
async handleAsync(_command) {
|
|
13
|
+
const uptime = Math.floor(process.uptime());
|
|
14
|
+
return `Server: Running\nUptime: ${uptime}s\nOS: ${os_1.default.type()} ${os_1.default.release()}\nNode: ${process.version}`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CliStatusCommandProcessor = CliStatusCommandProcessor;
|
|
18
|
+
//# sourceMappingURL=cli-status-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-status-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-status-command-processor.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyE;AACzE,4CAAoB;AAEpB,MAAa,yBAA0B,SAAQ,kCAAmB;IAC9D,OAAO,GAAG,QAAQ,CAAC;IACnB,WAAW,GAAG,iCAAiC,CAAC;IAEhD,KAAK,CAAC,WAAW,CAAC,QAA2B;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,4BAA4B,MAAM,UAAU,YAAE,CAAC,IAAI,EAAE,IAAI,YAAE,CAAC,OAAO,EAAE,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7G,CAAC;CACJ;AARD,8DAQC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
2
|
+
import { CliProcessCommand } from '../abstractions/cli-process-command';
|
|
3
|
+
export declare class CliSystemCommandProcessor extends CliCommandProcessor {
|
|
4
|
+
command: string;
|
|
5
|
+
description: string;
|
|
6
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cli-system-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-system-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-system-command-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAIxE,qBAAa,yBAA0B,SAAQ,mBAAmB;IAC9D,OAAO,SAAY;IACnB,WAAW,SAAqC;IAE1C,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBjE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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.CliSystemCommandProcessor = void 0;
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const cli_command_processor_1 = require("../abstractions/cli-command-processor");
|
|
9
|
+
const startTime = Date.now();
|
|
10
|
+
class CliSystemCommandProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
11
|
+
command = 'system';
|
|
12
|
+
description = 'Shows server system information';
|
|
13
|
+
async handleAsync(command) {
|
|
14
|
+
const uptimeSecs = Math.floor((Date.now() - startTime) / 1000);
|
|
15
|
+
const hours = Math.floor(uptimeSecs / 3600);
|
|
16
|
+
const minutes = Math.floor((uptimeSecs % 3600) / 60);
|
|
17
|
+
const seconds = uptimeSecs % 60;
|
|
18
|
+
const totalMem = (os_1.default.totalmem() / 1024 / 1024 / 1024).toFixed(1);
|
|
19
|
+
const freeMem = (os_1.default.freemem() / 1024 / 1024 / 1024).toFixed(1);
|
|
20
|
+
const lines = [
|
|
21
|
+
`Hostname: ${os_1.default.hostname()}`,
|
|
22
|
+
`OS: ${os_1.default.type()} ${os_1.default.release()}`,
|
|
23
|
+
`Architecture: ${os_1.default.arch()}`,
|
|
24
|
+
`CPU Cores: ${os_1.default.cpus().length}`,
|
|
25
|
+
`Memory: ${freeMem} GB free / ${totalMem} GB total`,
|
|
26
|
+
`Node.js: ${process.version}`,
|
|
27
|
+
`Server Uptime: ${hours}h ${minutes}m ${seconds}s`,
|
|
28
|
+
];
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.CliSystemCommandProcessor = CliSystemCommandProcessor;
|
|
33
|
+
//# sourceMappingURL=cli-system-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-system-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-system-command-processor.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,iFAA4E;AAG5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAE7B,MAAa,yBAA0B,SAAQ,2CAAmB;IAC9D,OAAO,GAAG,QAAQ,CAAC;IACnB,WAAW,GAAG,iCAAiC,CAAC;IAEhD,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,UAAU,GAAG,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,CAAC,YAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,CAAC,YAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG;YACV,kBAAkB,YAAE,CAAC,QAAQ,EAAE,EAAE;YACjC,kBAAkB,YAAE,CAAC,IAAI,EAAE,IAAI,YAAE,CAAC,OAAO,EAAE,EAAE;YAC7C,kBAAkB,YAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,kBAAkB,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;YACpC,kBAAkB,OAAO,cAAc,QAAQ,WAAW;YAC1D,kBAAkB,OAAO,CAAC,OAAO,EAAE;YACnC,kBAAkB,KAAK,KAAK,OAAO,KAAK,OAAO,GAAG;SACrD,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAxBD,8DAwBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CliCommandProcessor } from '../abstractions/cli-command-processor';
|
|
2
|
+
import { CliCommandParameterDescriptor } from '../abstractions/cli-command-parameter-descriptor';
|
|
3
|
+
import { CliProcessCommand } from '../abstractions/cli-process-command';
|
|
4
|
+
export declare class CliUuidCommandProcessor extends CliCommandProcessor {
|
|
5
|
+
command: string;
|
|
6
|
+
description: string;
|
|
7
|
+
parameters: CliCommandParameterDescriptor[];
|
|
8
|
+
handleAsync(command: CliProcessCommand): Promise<string>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cli-uuid-command-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-uuid-command-processor.d.ts","sourceRoot":"","sources":["../../src/processors/cli-uuid-command-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC5D,OAAO,SAAU;IACjB,WAAW,SAA4B;IACvC,UAAU,kCAER;IAEI,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAUjE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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.CliUuidCommandProcessor = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const cli_command_processor_1 = require("../abstractions/cli-command-processor");
|
|
9
|
+
const cli_command_parameter_descriptor_1 = require("../abstractions/cli-command-parameter-descriptor");
|
|
10
|
+
class CliUuidCommandProcessor extends cli_command_processor_1.CliCommandProcessor {
|
|
11
|
+
command = 'uuid';
|
|
12
|
+
description = 'Generates random UUIDs';
|
|
13
|
+
parameters = [
|
|
14
|
+
new cli_command_parameter_descriptor_1.CliCommandParameterDescriptor('count', 'Number of UUIDs to generate (max 50)', false, 'number', ['-n'], '1'),
|
|
15
|
+
];
|
|
16
|
+
async handleAsync(command) {
|
|
17
|
+
let count = parseInt(command.args?.count ?? '1', 10);
|
|
18
|
+
count = Math.max(1, Math.min(count, 50));
|
|
19
|
+
const uuids = [];
|
|
20
|
+
for (let i = 0; i < count; i++) {
|
|
21
|
+
uuids.push(crypto_1.default.randomUUID());
|
|
22
|
+
}
|
|
23
|
+
return uuids.join('\n');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.CliUuidCommandProcessor = CliUuidCommandProcessor;
|
|
27
|
+
//# sourceMappingURL=cli-uuid-command-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-uuid-command-processor.js","sourceRoot":"","sources":["../../src/processors/cli-uuid-command-processor.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iFAA4E;AAC5E,uGAAiG;AAGjG,MAAa,uBAAwB,SAAQ,2CAAmB;IAC5D,OAAO,GAAG,MAAM,CAAC;IACjB,WAAW,GAAG,wBAAwB,CAAC;IACvC,UAAU,GAAG;QACT,IAAI,gEAA6B,CAAC,OAAO,EAAE,sCAAsC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;KACnH,CAAC;IAEF,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAe,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,gBAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAjBD,0DAiBC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { CliEchoCommandProcessor } from './cli-echo-command-processor';
|
|
2
|
+
export { CliStatusCommandProcessor } from './cli-status-command-processor';
|
|
3
|
+
export { CliSystemCommandProcessor } from './cli-system-command-processor';
|
|
4
|
+
export { CliHttpCommandProcessor } from './cli-http-command-processor';
|
|
5
|
+
export { CliHashCommandProcessor } from './cli-hash-command-processor';
|
|
6
|
+
export { CliBase64CommandProcessor } from './cli-base64-command-processor';
|
|
7
|
+
export { CliUuidCommandProcessor } from './cli-uuid-command-processor';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/processors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliUuidCommandProcessor = exports.CliBase64CommandProcessor = exports.CliHashCommandProcessor = exports.CliHttpCommandProcessor = exports.CliSystemCommandProcessor = exports.CliStatusCommandProcessor = exports.CliEchoCommandProcessor = void 0;
|
|
4
|
+
var cli_echo_command_processor_1 = require("./cli-echo-command-processor");
|
|
5
|
+
Object.defineProperty(exports, "CliEchoCommandProcessor", { enumerable: true, get: function () { return cli_echo_command_processor_1.CliEchoCommandProcessor; } });
|
|
6
|
+
var cli_status_command_processor_1 = require("./cli-status-command-processor");
|
|
7
|
+
Object.defineProperty(exports, "CliStatusCommandProcessor", { enumerable: true, get: function () { return cli_status_command_processor_1.CliStatusCommandProcessor; } });
|
|
8
|
+
var cli_system_command_processor_1 = require("./cli-system-command-processor");
|
|
9
|
+
Object.defineProperty(exports, "CliSystemCommandProcessor", { enumerable: true, get: function () { return cli_system_command_processor_1.CliSystemCommandProcessor; } });
|
|
10
|
+
var cli_http_command_processor_1 = require("./cli-http-command-processor");
|
|
11
|
+
Object.defineProperty(exports, "CliHttpCommandProcessor", { enumerable: true, get: function () { return cli_http_command_processor_1.CliHttpCommandProcessor; } });
|
|
12
|
+
var cli_hash_command_processor_1 = require("./cli-hash-command-processor");
|
|
13
|
+
Object.defineProperty(exports, "CliHashCommandProcessor", { enumerable: true, get: function () { return cli_hash_command_processor_1.CliHashCommandProcessor; } });
|
|
14
|
+
var cli_base64_command_processor_1 = require("./cli-base64-command-processor");
|
|
15
|
+
Object.defineProperty(exports, "CliBase64CommandProcessor", { enumerable: true, get: function () { return cli_base64_command_processor_1.CliBase64CommandProcessor; } });
|
|
16
|
+
var cli_uuid_command_processor_1 = require("./cli-uuid-command-processor");
|
|
17
|
+
Object.defineProperty(exports, "CliUuidCommandProcessor", { enumerable: true, get: function () { return cli_uuid_command_processor_1.CliUuidCommandProcessor; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processors/index.ts"],"names":[],"mappings":";;;AAAA,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const create_cli_server_1 = require("./create-cli-server");
|
|
5
|
+
const cli_echo_command_processor_1 = require("./processors/cli-echo-command-processor");
|
|
6
|
+
const cli_status_command_processor_1 = require("./processors/cli-status-command-processor");
|
|
7
|
+
const cli_system_command_processor_1 = require("./processors/cli-system-command-processor");
|
|
8
|
+
const cli_http_command_processor_1 = require("./processors/cli-http-command-processor");
|
|
9
|
+
const cli_hash_command_processor_1 = require("./processors/cli-hash-command-processor");
|
|
10
|
+
const cli_base64_command_processor_1 = require("./processors/cli-base64-command-processor");
|
|
11
|
+
const cli_uuid_command_processor_1 = require("./processors/cli-uuid-command-processor");
|
|
12
|
+
const port = process.env.PORT ?? 8047;
|
|
13
|
+
const { app, eventSocketManager } = (0, create_cli_server_1.createCliServer)({
|
|
14
|
+
configure: (builder) => {
|
|
15
|
+
builder
|
|
16
|
+
.addProcessor(new cli_echo_command_processor_1.CliEchoCommandProcessor())
|
|
17
|
+
.addProcessor(new cli_status_command_processor_1.CliStatusCommandProcessor())
|
|
18
|
+
.addProcessor(new cli_system_command_processor_1.CliSystemCommandProcessor())
|
|
19
|
+
.addProcessor(new cli_http_command_processor_1.CliHttpCommandProcessor())
|
|
20
|
+
.addProcessor(new cli_hash_command_processor_1.CliHashCommandProcessor())
|
|
21
|
+
.addProcessor(new cli_base64_command_processor_1.CliBase64CommandProcessor())
|
|
22
|
+
.addProcessor(new cli_uuid_command_processor_1.CliUuidCommandProcessor());
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const server = app.listen(port, () => {
|
|
26
|
+
console.log(`CLI server (Node.js) listening on http://localhost:${port}`);
|
|
27
|
+
console.log(` Commands: http://localhost:${port}/api/cli/commands`);
|
|
28
|
+
console.log(` Execute: http://localhost:${port}/api/cli/execute`);
|
|
29
|
+
console.log(` Events: ws://localhost:${port}/ws/cli/events`);
|
|
30
|
+
});
|
|
31
|
+
eventSocketManager.attach(server);
|
|
32
|
+
process.on('SIGINT', async () => {
|
|
33
|
+
console.log('\nShutting down...');
|
|
34
|
+
await eventSocketManager.broadcastDisconnect();
|
|
35
|
+
server.close();
|
|
36
|
+
process.exit(0);
|
|
37
|
+
});
|
|
38
|
+
process.on('SIGTERM', async () => {
|
|
39
|
+
await eventSocketManager.broadcastDisconnect();
|
|
40
|
+
server.close();
|
|
41
|
+
process.exit(0);
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;AAEA,2DAAsD;AACtD,wFAAkF;AAClF,4FAAsF;AACtF,4FAAsF;AACtF,wFAAkF;AAClF,wFAAkF;AAClF,4FAAsF;AACtF,wFAAkF;AAElF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAEtC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,IAAA,mCAAe,EAAC;IAChD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;QACnB,OAAO;aACF,YAAY,CAAC,IAAI,oDAAuB,EAAE,CAAC;aAC3C,YAAY,CAAC,IAAI,wDAAyB,EAAE,CAAC;aAC7C,YAAY,CAAC,IAAI,wDAAyB,EAAE,CAAC;aAC7C,YAAY,CAAC,IAAI,oDAAuB,EAAE,CAAC;aAC3C,YAAY,CAAC,IAAI,oDAAuB,EAAE,CAAC;aAC3C,YAAY,CAAC,IAAI,wDAAyB,EAAE,CAAC;aAC7C,YAAY,CAAC,IAAI,oDAAuB,EAAE,CAAC,CAAC;IACrD,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACjC,OAAO,CAAC,GAAG,CAAC,sDAAsD,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,mBAAmB,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,kBAAkB,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,gBAAgB,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAElC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CliProcessCommand } from '../abstractions';
|
|
2
|
+
import { CliServerResponse } from '../models';
|
|
3
|
+
import { ICliCommandRegistry } from './cli-command-registry';
|
|
4
|
+
export interface ICliCommandExecutorService {
|
|
5
|
+
executeAsync(command: CliProcessCommand): Promise<CliServerResponse>;
|
|
6
|
+
}
|
|
7
|
+
export declare class CliCommandExecutorService implements ICliCommandExecutorService {
|
|
8
|
+
private readonly _registry;
|
|
9
|
+
constructor(_registry: ICliCommandRegistry);
|
|
10
|
+
executeAsync(command: CliProcessCommand): Promise<CliServerResponse>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=cli-command-executor-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command-executor-service.d.ts","sourceRoot":"","sources":["../../src/services/cli-command-executor-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,0BAA0B;IACvC,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxE;AAED,qBAAa,yBAA0B,YAAW,0BAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,mBAAmB;IAErD,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAsC7E"}
|