@nsshunt/stsappframework 3.3.184 → 3.3.186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +300 -319
  2. package/dist/logger/stsTransportLoggerSocket.js +6 -0
  3. package/dist/logger/stsTransportLoggerSocket.js.map +1 -1
  4. package/dist/process/appConfig.js +103 -0
  5. package/dist/process/appConfig.js.map +1 -0
  6. package/dist/process/plugins/plugintypes.js +2 -0
  7. package/dist/process/plugins/plugintypes.js.map +1 -0
  8. package/dist/process/plugins/stsconfigplugin.js +16 -0
  9. package/dist/process/plugins/stsconfigplugin.js.map +1 -0
  10. package/dist/process/plugins/stsloggerplugin.js +26 -0
  11. package/dist/process/plugins/stsloggerplugin.js.map +1 -0
  12. package/dist/process/plugins/stsmetricsplugin.js +89 -0
  13. package/dist/process/plugins/stsmetricsplugin.js.map +1 -0
  14. package/dist/process/plugins/ststestplugin.js +26 -0
  15. package/dist/process/plugins/ststestplugin.js.map +1 -0
  16. package/dist/process/server.js +4 -0
  17. package/dist/process/server.js.map +1 -0
  18. package/dist/process/stsapp.js +48 -0
  19. package/dist/process/stsapp.js.map +1 -0
  20. package/package.json +13 -13
  21. package/types/logger/stsTransportLoggerSocket.d.ts +1 -0
  22. package/types/logger/stsTransportLoggerSocket.d.ts.map +1 -1
  23. package/types/process/appConfig.d.ts +3 -0
  24. package/types/process/appConfig.d.ts.map +1 -0
  25. package/types/process/plugins/plugintypes.d.ts +7 -0
  26. package/types/process/plugins/plugintypes.d.ts.map +1 -0
  27. package/types/process/plugins/stsconfigplugin.d.ts +10 -0
  28. package/types/process/plugins/stsconfigplugin.d.ts.map +1 -0
  29. package/types/process/plugins/stsloggerplugin.d.ts +14 -0
  30. package/types/process/plugins/stsloggerplugin.d.ts.map +1 -0
  31. package/types/process/plugins/stsmetricsplugin.d.ts +19 -0
  32. package/types/process/plugins/stsmetricsplugin.d.ts.map +1 -0
  33. package/types/process/plugins/ststestplugin.d.ts +10 -0
  34. package/types/process/plugins/ststestplugin.d.ts.map +1 -0
  35. package/types/process/server.d.ts +5 -0
  36. package/types/process/server.d.ts.map +1 -0
  37. package/types/process/stsapp.d.ts +12 -0
  38. package/types/process/stsapp.d.ts.map +1 -0
  39. package/dist/validation/errors.js +0 -7
  40. package/dist/validation/errors.js.map +0 -1
  41. package/types/validation/errors.d.ts +0 -7
  42. package/types/validation/errors.d.ts.map +0 -1
@@ -25,5 +25,11 @@ export class STSTransportLoggerSocket extends Transport {
25
25
  this.emit("logged", info);
26
26
  callback();
27
27
  }
28
+ close() {
29
+ if (this.#socketIoClient) {
30
+ //this.#socketIoClient.socket?.disconnect();
31
+ this.#socketIoClient.Disconnect();
32
+ }
33
+ }
28
34
  }
29
35
  //# sourceMappingURL=stsTransportLoggerSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stsTransportLoggerSocket.js","sourceRoot":"","sources":["../../src/logger/stsTransportLoggerSocket.ts"],"names":[],"mappings":"AAAA,kDAAkD,CAAC,UAAU;AAC7D,OAAO,SAAqC,MAAM,mBAAmB,CAAC;AAQtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQzE,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IACnD,QAAQ,CAAmC;IAC3C,eAAe,CAGb;IAEF,YAAY,IAAsC;QAC9C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC;YAChD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,GAAG,CAAC,IAAS,EAAE,QAAa;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAC7B,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB;YACI,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB;SACJ,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,QAAQ,EAAE,CAAC;IACf,CAAC;CACJ"}
1
+ {"version":3,"file":"stsTransportLoggerSocket.js","sourceRoot":"","sources":["../../src/logger/stsTransportLoggerSocket.ts"],"names":[],"mappings":"AAAA,kDAAkD,CAAC,UAAU;AAC7D,OAAO,SAAqC,MAAM,mBAAmB,CAAC;AAQtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQzE,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IACnD,QAAQ,CAAmC;IAC3C,eAAe,CAGb;IAEF,YAAY,IAAsC;QAC9C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC;YAChD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,GAAG,CAAC,IAAS,EAAE,QAAa;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAC7B,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB;YACI,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB;SACJ,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,QAAQ,EAAE,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,4CAA4C;YAC5C,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,103 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { goptions } from "@nsshunt/stsconfig";
3
+ import { STSTransportLoggerSocket } from "./../index.js";
4
+ import { STSExpressRouteFactory } from "./server.js";
5
+ import winston from "winston";
6
+ import { defaultLogger } from "@nsshunt/stsutils";
7
+ /*
8
+ // nid: `${goptions.rest01servicename} @ ${goptions.rest01serviceversion} | ${this.options.globalServiceData.serviceInstanceId} @ ${os.hostname()} ^ ${process.pid} @ ${(cluster.isMaster ? process.pid : process.ppid)}`,
9
+ // <serviceId> <serviceInstanceId> <serviceInstanceProcessId>
10
+ // <serviceName> <serviceVersion> <sid> <hostName> <pid> <ppid>
11
+ // << ............... Static Nid ............... >> << ............... Dynamic Nid ............... >>
12
+ // Note: The final nid will NOT contain the NID_SEPERATOR character. This will be replaced with the SEPERATOR character.
13
+ const Context = (isMaster, serviceInstanceId) => {
14
+ return {
15
+ nid: `\
16
+ ${goptions.rest01servicename}${ModelDelimeter.COMPONENT_SEPERATOR}${goptions.rest01serviceversion}\
17
+ ${ModelDelimeter.SEPERATOR}\
18
+ ${serviceInstanceId}${ModelDelimeter.COMPONENT_SEPERATOR}${os.hostname()}\
19
+ ${ModelDelimeter.NID_SEPERATOR}\
20
+ ${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : process.ppid)}`
21
+ }
22
+ }
23
+ */
24
+ export function ServiceConfigOptions(isMaster) {
25
+ const publisherLogger = winston.createLogger({
26
+ level: "info",
27
+ format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
28
+ transports: [new winston.transports.Console()],
29
+ });
30
+ const GetLoggerRooms = (serviceInstanceId) => {
31
+ const room_service = `logs_${goptions.rest01servicename}_${goptions.rest01serviceversion}`;
32
+ const room_service_instance = `${room_service}_${serviceInstanceId}`;
33
+ return [room_service_instance, room_service];
34
+ };
35
+ if (isMaster === true) {
36
+ const serviceInstanceId = randomUUID();
37
+ const logger = winston.createLogger({
38
+ level: "debug",
39
+ format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
40
+ transports: [
41
+ new winston.transports.Console(),
42
+ new STSTransportLoggerSocket({
43
+ logger: defaultLogger,
44
+ rooms: GetLoggerRooms(serviceInstanceId),
45
+ }),
46
+ ],
47
+ });
48
+ const data = {
49
+ wssServer: false,
50
+ wssCustomPath: "",
51
+ clusterMode: true,
52
+ useLatency: true,
53
+ httpsServerKeyPath: goptions.httpsserverkeypath,
54
+ httpsServerCertificatePath: goptions.httpsservercertpath,
55
+ processExitOnTerminate: true,
56
+ serviceInstanceId: serviceInstanceId,
57
+ useDatabase: true,
58
+ isMaster: isMaster,
59
+ endpoint: goptions.rest01endpoint,
60
+ apiRoot: goptions.rest01apiroot,
61
+ listenPort: goptions.rest01hostport,
62
+ port: goptions.rest01port,
63
+ prometheusSupport: goptions.rest01prometheussupport,
64
+ prometheusClusterPort: goptions.rest01prometheusclusterport,
65
+ serviceName: goptions.rest01servicename,
66
+ serviceVersion: goptions.rest01serviceversion,
67
+ consoleLogging: false,
68
+ instrumentLogging: true,
69
+ expressServerRouteFactory: (app) => {
70
+ return new STSExpressRouteFactory(app);
71
+ },
72
+ instrumentationObservationInterval: goptions.instrumentationObservationInterval,
73
+ instrumentationTimeWindow: goptions.instrumentationTimeWindow,
74
+ useSocketIoRedisAdaptor: false,
75
+ logger: logger,
76
+ publisherLogger: publisherLogger,
77
+ publishInterval: goptions.publishinterval,
78
+ };
79
+ return data;
80
+ }
81
+ else {
82
+ const data = JSON.parse(process.env["STS_GSD_SII"]);
83
+ const logger = winston.createLogger({
84
+ level: "debug",
85
+ format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
86
+ transports: [
87
+ new winston.transports.Console(),
88
+ new STSTransportLoggerSocket({
89
+ logger: defaultLogger,
90
+ rooms: GetLoggerRooms(data.serviceInstanceId),
91
+ }),
92
+ ],
93
+ });
94
+ data.isMaster = false;
95
+ data.expressServerRouteFactory = (app) => {
96
+ return new STSExpressRouteFactory(app);
97
+ };
98
+ data.logger = logger;
99
+ data.publisherLogger = publisherLogger;
100
+ return data;
101
+ }
102
+ }
103
+ //# sourceMappingURL=appConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../src/process/appConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugintypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugintypes.js","sourceRoot":"","sources":["../../../src/process/plugins/plugintypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import { InjectionToken } from "@nsshunt/stsutils";
3
+ import { goptions } from "@nsshunt/stsconfig";
4
+ export const STSConfigToken = new InjectionToken("__STS__Config");
5
+ // STSOptions
6
+ export class STSConfigPlugin {
7
+ install = (injector, options) => {
8
+ injector.register({
9
+ provide: STSConfigToken,
10
+ useValue: goptions,
11
+ });
12
+ };
13
+ Start = async () => { };
14
+ Stop = async () => { };
15
+ }
16
+ //# sourceMappingURL=stsconfigplugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsconfigplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsconfigplugin.ts"],"names":[],"mappings":"AAAA,wFAAwF,CAAC,UAAU;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAc,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAa,eAAe,CAAC,CAAC;AAE9E,aAAa;AACb,MAAM,OAAO,eAAe;IACxB,OAAO,GAAG,CAAC,QAAkB,EAAE,OAA6B,EAAQ,EAAE;QAClE,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACvB,IAAI,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;CACzB"}
@@ -0,0 +1,26 @@
1
+ import { Sleep } from "@nsshunt/stsutils";
2
+ import { STSLoggerToken } from "./../../commonTypes.js";
3
+ export class STSLoggerPlugin {
4
+ options;
5
+ install = (injector, options) => {
6
+ if (!options) {
7
+ throw new Error("STSLoggerPlugin requires options");
8
+ }
9
+ injector.register({
10
+ provide: STSLoggerToken,
11
+ useValue: options.logger,
12
+ });
13
+ this.options = options;
14
+ };
15
+ Start = async () => {
16
+ console.log(`STSLoggerPlugin: Start()...: [${this.options.name}] Starting ...`);
17
+ await Sleep(1000);
18
+ console.log(`STSLoggerPlugin: Start()...: [${this.options.name}] Started`);
19
+ };
20
+ Stop = async () => {
21
+ console.log(`STSLoggerPlugin: Stop()...: [${this.options.name}] Stopping ...`);
22
+ await Sleep(1000);
23
+ console.log(`STSLoggerPlugin: Stop()...: [${this.options.name}] Stopped`);
24
+ };
25
+ }
26
+ //# sourceMappingURL=stsloggerplugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsloggerplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsloggerplugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD,MAAM,OAAO,eAAe;IAChB,OAAO,CAA0B;IAEzC,OAAO,GAAG,CAAC,QAAkB,EAAE,OAAgC,EAAQ,EAAE;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE;QACf,OAAO,CAAC,GAAG,CACP,iCAAiC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CACrE,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,iCAAiC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAChE,CAAC;IACN,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE;QACd,OAAO,CAAC,GAAG,CACP,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CACpE,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAC/D,CAAC;IACN,CAAC,CAAC;CACL"}
@@ -0,0 +1,89 @@
1
+ import { createAgentManager, inject } from "@nsshunt/stsutils";
2
+ import { STSLoggerToken } from "./../../commonTypes.js";
3
+ import http from "node:http";
4
+ import https from "node:https";
5
+ import { STSConfigToken } from "./stsconfigplugin.js";
6
+ import { PublishInstrumentController, TransportType, GetInstruments, } from "@nsshunt/stsinstrumentmanagerclient";
7
+ export class STSMetricsPlugin {
8
+ config = inject(STSConfigToken);
9
+ options;
10
+ publishInstrumentController;
11
+ agentManager;
12
+ install = (injector, options) => {
13
+ if (!options) {
14
+ throw new Error("STSLoggerPlugin requires options");
15
+ }
16
+ injector.register({
17
+ provide: STSLoggerToken,
18
+ useValue: options.logger,
19
+ });
20
+ this.options = options;
21
+ };
22
+ Start = async () => {
23
+ console.log(`STSMetricsPlugin: Start()`);
24
+ this.agentManager = this.#CreateAgentManager();
25
+ this.publishInstrumentController =
26
+ this.#CreatePublishInstrumentController();
27
+ };
28
+ Stop = async () => {
29
+ console.log(`STSMetricsPlugin: Stop()`);
30
+ await this.publishInstrumentController?.EndPublish();
31
+ this.options.logger.close();
32
+ this.agentManager.Terminate();
33
+ };
34
+ #CreateAgentManager = () => {
35
+ return createAgentManager({
36
+ agentOptions: {
37
+ keepAlive: false, // Use basic defaults. This agent will not use keep-alive.
38
+ maxFreeSockets: this.config.maxFreeSockets,
39
+ maxSockets: this.config.maxSockets,
40
+ maxTotalSockets: this.config.maxTotalSockets,
41
+ timeout: this.config.timeout,
42
+ rejectUnauthorized: this.config.isProduction, // Allows self-signed certificates if non-production
43
+ },
44
+ httpAgentFactory(options) {
45
+ return new http.Agent(options);
46
+ },
47
+ httpsAgentFactory(options) {
48
+ return new https.Agent(options);
49
+ },
50
+ });
51
+ };
52
+ #CreatePublishInstrumentController = () => {
53
+ if (!this.options.serviceProcessContext) {
54
+ return undefined;
55
+ }
56
+ let publishTransportOptions = null;
57
+ if (this.config.observabilityPublishMode.localeCompare("PROXY") === 0) {
58
+ publishTransportOptions = {
59
+ transportType: TransportType.RESTAPI,
60
+ url: `${this.config.imendpoint}:${this.config.import}${this.config.imapiroot}/publishmessage`,
61
+ agentManager: this.agentManager,
62
+ // Use this for sockets: socketPath: '/var/run/sts/stsrest01.sock'
63
+ logger: this.options.publisherLogger,
64
+ };
65
+ }
66
+ else {
67
+ // Currently, now other types are supported
68
+ return;
69
+ }
70
+ const httpServer = this.config.STSServerType.localeCompare("EXPRESS") === 0 ||
71
+ this.config.STSServerType.localeCompare("EXPRESS_TLS") === 0;
72
+ const instrumentControllerOptions = {
73
+ processContext: this.options.serviceProcessContext,
74
+ consoleLogging: this.options.consoleLogging,
75
+ instrumentLogging: this.options.instrumentLogging,
76
+ httpServer,
77
+ instrumentationObservationInterval: this.options.instrumentationObservationInterval,
78
+ instrumentationTimeWindow: this.options.instrumentationTimeWindow,
79
+ logger: this.options.publisherLogger,
80
+ publishInterval: this.options.publishInterval,
81
+ publishPostFailInterval: 5000, //@@
82
+ instrumentDefinitions: GetInstruments("service"),
83
+ publishTransportBaseOptions: publishTransportOptions,
84
+ autoStart: true,
85
+ };
86
+ return new PublishInstrumentController(instrumentControllerOptions);
87
+ };
88
+ }
89
+ //# sourceMappingURL=stsmetricsplugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsmetricsplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsmetricsplugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { inject, Sleep } from "@nsshunt/stsutils";
2
+ import { STSLoggerToken, ProcessBaseToken } from "./../../commonTypes.js";
3
+ import { STSConfigToken } from "./stsconfigplugin.js";
4
+ export class STSTestPlugin {
5
+ logger = inject(STSLoggerToken);
6
+ config = inject(STSConfigToken);
7
+ install = (injector, options) => {
8
+ injector.register({
9
+ provide: ProcessBaseToken,
10
+ useValue: this,
11
+ });
12
+ };
13
+ Start = async () => {
14
+ this.logger.info(`STSTestPlugin: Start() Starting ...`);
15
+ this.logger.info(this.config.rest01servicename);
16
+ this.logger.info(this.config.rest01serviceversion);
17
+ await Sleep(1000);
18
+ this.logger.info(`STSTestPlugin: Start() Started`);
19
+ };
20
+ Stop = async () => {
21
+ this.logger.info(`STSTestPlugin: Stop() Stopping ...`);
22
+ await Sleep(1000);
23
+ this.logger.info(`STSTestPlugin: Stop() Stopped`);
24
+ };
25
+ }
26
+ //# sourceMappingURL=ststestplugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ststestplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/ststestplugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,aAAa;IACL,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAChC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO,GAAG,CAAC,QAAkB,EAAE,OAA6B,EAAQ,EAAE;QAClE,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC,CAAC;CACL"}
@@ -0,0 +1,4 @@
1
+ export class STSExpressRouteFactory {
2
+ constructor(app) { }
3
+ }
4
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/process/server.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,sBAAsB;IAC/B,YAAY,GAAoB,IAAG,CAAC;CACvC"}
@@ -0,0 +1,48 @@
1
+ // processbase.ts
2
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
3
+ import { defaultLogger, Sleep } from "@nsshunt/stsutils";
4
+ import { Injector } from "@nsshunt/stsutils";
5
+ import { ServiceConfigOptions } from "./appConfig.js";
6
+ import { STSConfigPlugin } from "./plugins/stsconfigplugin.js";
7
+ import { STSLoggerPlugin } from "./plugins/stsloggerplugin.js";
8
+ import { STSTestPlugin } from "./plugins/ststestplugin.js";
9
+ import { STSMetricsPlugin } from "./plugins/stsmetricsplugin.js";
10
+ export class STSApp {
11
+ rootInjector;
12
+ plugins = [];
13
+ constructor() {
14
+ this.rootInjector = new Injector([]);
15
+ }
16
+ use = (plugin, options) => {
17
+ plugin.install(this.rootInjector, options);
18
+ this.plugins.push(plugin);
19
+ };
20
+ createPlugin = (Plugin) => {
21
+ return this.rootInjector.runInContext(() => new Plugin());
22
+ };
23
+ Start = async () => {
24
+ for (const plugin of this.plugins) {
25
+ await plugin.Start();
26
+ }
27
+ };
28
+ Stop = async () => {
29
+ for (const plugin of this.plugins.toReversed()) {
30
+ await plugin.Stop();
31
+ }
32
+ };
33
+ }
34
+ // Usage ...
35
+ const app = new STSApp();
36
+ //app.use(new STSLoggerPlugin(), loggerOptions01); // also works for the first one ...
37
+ app.use(app.createPlugin(STSConfigPlugin));
38
+ app.use(app.createPlugin(STSLoggerPlugin), {
39
+ logger: defaultLogger,
40
+ name: "LoggerName01",
41
+ });
42
+ app.use(app.createPlugin(STSMetricsPlugin), ServiceConfigOptions(true));
43
+ app.use(app.createPlugin(STSTestPlugin));
44
+ await app.Start();
45
+ await Sleep(2000);
46
+ await app.Stop();
47
+ console.log("STS App Closed");
48
+ //# sourceMappingURL=stsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsapp.js","sourceRoot":"","sources":["../../src/process/stsapp.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,wFAAwF,CAAC,UAAU;AACnG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,OAAO,MAAM;IACI,YAAY,CAAW;IACvB,OAAO,GAAmB,EAAE,CAAC;IAEhD;QACI,IAAI,CAAC,YAAY,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,GAAG,CAAW,MAAyB,EAAE,OAAkB,EAAQ,EAAE;QACpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,YAAY,GAAG,CAAyB,MAAmB,EAAK,EAAE;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,KAAK,GAAG,KAAK,IAAmB,EAAE;QAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,GAAG,KAAK,IAAmB,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IACL,CAAC,CAAC;CACL;AAED,YAAY;AACZ,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AACzB,sFAAsF;AACtF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE;IACvC,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,cAAc;CACvB,CAAC,CAAC;AACH,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;AAEzC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AAClB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;AAClB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;AAEjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.3.184",
3
+ "version": "3.3.186",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,26 +35,26 @@
35
35
  "@types/cookie-parser": "^1.4.10",
36
36
  "@types/debug": "^4.1.13",
37
37
  "@types/express": "^5.0.6",
38
- "@types/node": "^26.5.1",
38
+ "@types/node": "^26.6.2",
39
39
  "@typescript-eslint/eslint-plugin": "^8.70.0",
40
40
  "@typescript-eslint/parser": "^8.70.0",
41
- "eslint": "^10.10.0",
41
+ "eslint": "^10.11.0",
42
42
  "eslint-config-prettier": "^10.1.8",
43
43
  "globals": "^17.12.0",
44
44
  "typescript": "^6.0.3",
45
45
  "vite": "^8.3.0",
46
- "vitest": "^5.0.0"
46
+ "vitest": "^5.0.1"
47
47
  },
48
48
  "dependencies": {
49
- "@grpc/grpc-js": "^1.14.4",
49
+ "@grpc/grpc-js": "^1.14.5",
50
50
  "@grpc/proto-loader": "^0.8.1",
51
- "@nsshunt/stsconfig": "^1.27.76",
52
- "@nsshunt/stsdatamanagement": "^1.18.203",
53
- "@nsshunt/stsinstrumentmanagerclient": "^1.0.50",
54
- "@nsshunt/stsmessaging": "^1.0.81",
55
- "@nsshunt/stsobservability": "^1.0.167",
56
- "@nsshunt/stssocketioutils": "^2.0.61",
57
- "@nsshunt/stsutils": "^1.19.141",
51
+ "@nsshunt/stsconfig": "^1.27.77",
52
+ "@nsshunt/stsdatamanagement": "^1.18.204",
53
+ "@nsshunt/stsinstrumentmanagerclient": "^1.0.51",
54
+ "@nsshunt/stsmessaging": "^1.0.82",
55
+ "@nsshunt/stsobservability": "^1.0.168",
56
+ "@nsshunt/stssocketioutils": "^2.0.63",
57
+ "@nsshunt/stsutils": "^1.19.143",
58
58
  "@socket.io/cluster-adapter": "^0.3.0",
59
59
  "@socket.io/redis-streams-adapter": "^0.3.1",
60
60
  "@types/on-headers": "^1.0.4",
@@ -73,7 +73,7 @@
73
73
  "prom-client": "^15.1.3",
74
74
  "socket.io": "^4.8.3",
75
75
  "socket.io-adapter": "^2.5.8",
76
- "systeminformation": "^5.33.10",
76
+ "systeminformation": "^5.33.12",
77
77
  "tiny-emitter": "^2.1.0",
78
78
  "winston-transport": "^4.9.0"
79
79
  },
@@ -8,5 +8,6 @@ export declare class STSTransportLoggerSocket extends Transport {
8
8
  #private;
9
9
  constructor(opts: ISTSTransportLoggerSocketOptions);
10
10
  log(info: any, callback: any): void;
11
+ close(): void;
11
12
  }
12
13
  //# sourceMappingURL=stsTransportLoggerSocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stsTransportLoggerSocket.d.ts","sourceRoot":"","sources":["../../src/logger/stsTransportLoggerSocket.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAStE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;CACtB;AAED,qBAAa,wBAAyB,SAAQ,SAAS;;gBAOvC,IAAI,EAAE,gCAAgC;IAUlD,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;CAgB/B"}
1
+ {"version":3,"file":"stsTransportLoggerSocket.d.ts","sourceRoot":"","sources":["../../src/logger/stsTransportLoggerSocket.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAStE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;CACtB;AAED,qBAAa,wBAAyB,SAAQ,SAAS;;gBAOvC,IAAI,EAAE,gCAAgC;IAUlD,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAiBrB,KAAK,IAAI,IAAI;CAMvB"}
@@ -0,0 +1,3 @@
1
+ import { ProcessOptions } from "./../index.js";
2
+ export declare function ServiceConfigOptions(isMaster: boolean): ProcessOptions;
3
+ //# sourceMappingURL=appConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.d.ts","sourceRoot":"","sources":["../../src/process/appConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAA4B,MAAM,eAAe,CAAC;AAyBzE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,CAoGtE"}
@@ -0,0 +1,7 @@
1
+ import { Injector } from "@nsshunt/stsutils";
2
+ export interface IPlugin<TOptions = Record<string, unknown>> {
3
+ install(injector: Injector, options?: TOptions): void;
4
+ Start(): void | Promise<void>;
5
+ Stop(): void | Promise<void>;
6
+ }
7
+ //# sourceMappingURL=plugintypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugintypes.d.ts","sourceRoot":"","sources":["../../../src/process/plugins/plugintypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
@@ -0,0 +1,10 @@
1
+ import { InjectionToken } from "@nsshunt/stsutils";
2
+ import { Injector } from "@nsshunt/stsutils";
3
+ import { STSOptions } from "@nsshunt/stsconfig";
4
+ export declare const STSConfigToken: InjectionToken<STSOptions>;
5
+ export declare class STSConfigPlugin {
6
+ install: (injector: Injector, options?: Record<string, any>) => void;
7
+ Start: () => Promise<void>;
8
+ Stop: () => Promise<void>;
9
+ }
10
+ //# sourceMappingURL=stsconfigplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsconfigplugin.d.ts","sourceRoot":"","sources":["../../../src/process/plugins/stsconfigplugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAY,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,cAAc,4BAAkD,CAAC;AAG9E,qBAAa,eAAe;IACxB,OAAO,GAAI,UAAU,QAAQ,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAKjE;IACF,KAAK,sBAAkB;IACvB,IAAI,sBAAkB;CACzB"}
@@ -0,0 +1,14 @@
1
+ import { IPlugin } from "./plugintypes.js";
2
+ import { ISTSLogger } from "@nsshunt/stsutils";
3
+ import { Injector } from "@nsshunt/stsutils";
4
+ export interface STSLoggerPluginOptions {
5
+ logger: ISTSLogger;
6
+ name: string;
7
+ }
8
+ export declare class STSLoggerPlugin implements IPlugin<STSLoggerPluginOptions> {
9
+ private options;
10
+ install: (injector: Injector, options?: STSLoggerPluginOptions) => void;
11
+ Start: () => Promise<void>;
12
+ Stop: () => Promise<void>;
13
+ }
14
+ //# sourceMappingURL=stsloggerplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsloggerplugin.d.ts","sourceRoot":"","sources":["../../../src/process/plugins/stsloggerplugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAS,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,YAAW,OAAO,CAAC,sBAAsB,CAAC;IACnE,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,GAAI,UAAU,QAAQ,EAAE,UAAU,sBAAsB,KAAG,IAAI,CASpE;IACF,KAAK,sBAQH;IACF,IAAI,sBAQF;CACL"}
@@ -0,0 +1,19 @@
1
+ import { IPlugin } from "./plugintypes.js";
2
+ import { ISTSLogger } from "@nsshunt/stsutils";
3
+ import { Injector } from "@nsshunt/stsutils";
4
+ export interface STSMetricsPluginOptions {
5
+ logger: ISTSLogger;
6
+ name: string;
7
+ }
8
+ import { ProcessOptions } from "./../../commonTypes.js";
9
+ export declare class STSMetricsPlugin implements IPlugin<ProcessOptions> {
10
+ #private;
11
+ private readonly config;
12
+ private options;
13
+ private publishInstrumentController?;
14
+ private agentManager?;
15
+ install: (injector: Injector, options?: ProcessOptions) => void;
16
+ Start: () => Promise<void>;
17
+ Stop: () => Promise<void>;
18
+ }
19
+ //# sourceMappingURL=stsmetricsplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsmetricsplugin.d.ts","sourceRoot":"","sources":["../../../src/process/plugins/stsmetricsplugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAID,OAAO,EAAE,cAAc,EAAkB,MAAM,wBAAwB,CAAC;AAiBxE,qBAAa,gBAAiB,YAAW,OAAO,CAAC,cAAc,CAAC;;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,2BAA2B,CAAC,CAA8B;IAClE,OAAO,CAAC,YAAY,CAAC,CAAgB;IAErC,OAAO,GAAI,UAAU,QAAQ,EAAE,UAAU,cAAc,KAAG,IAAI,CAS5D;IAEF,KAAK,sBAKH;IACF,IAAI,sBAKF;CAiEL"}
@@ -0,0 +1,10 @@
1
+ import { IPlugin } from "./plugintypes.js";
2
+ import { Injector } from "@nsshunt/stsutils";
3
+ export declare class STSTestPlugin implements IPlugin {
4
+ private readonly logger;
5
+ private readonly config;
6
+ install: (injector: Injector, options?: Record<string, any>) => void;
7
+ Start: () => Promise<void>;
8
+ Stop: () => Promise<void>;
9
+ }
10
+ //# sourceMappingURL=ststestplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ststestplugin.d.ts","sourceRoot":"","sources":["../../../src/process/plugins/ststestplugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,qBAAa,aAAc,YAAW,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,OAAO,GAAI,UAAU,QAAQ,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAAI,CAKjE;IACF,KAAK,sBAMH;IACF,IAAI,sBAIF;CACL"}
@@ -0,0 +1,5 @@
1
+ import express from "express";
2
+ export declare class STSExpressRouteFactory {
3
+ constructor(app: express.Express);
4
+ }
5
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/process/server.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,qBAAa,sBAAsB;gBACnB,GAAG,EAAE,OAAO,CAAC,OAAO;CACnC"}
@@ -0,0 +1,12 @@
1
+ import { Injector } from "@nsshunt/stsutils";
2
+ import { IPlugin } from "./plugins/plugintypes.js";
3
+ export declare class STSApp {
4
+ protected readonly rootInjector: Injector;
5
+ protected readonly plugins: IPlugin<any>[];
6
+ constructor();
7
+ use: <TOptions>(plugin: IPlugin<TOptions>, options?: TOptions) => void;
8
+ createPlugin: <T extends IPlugin<any>>(Plugin: new () => T) => T;
9
+ Start: () => Promise<void>;
10
+ Stop: () => Promise<void>;
11
+ }
12
+ //# sourceMappingURL=stsapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stsapp.d.ts","sourceRoot":"","sources":["../../src/process/stsapp.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AASnD,qBAAa,MAAM;IACf,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAM;;IAMhD,GAAG,GAAI,QAAQ,EAAE,QAAQ,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,QAAQ,KAAG,IAAI,CAGnE;IAEF,YAAY,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,UAAU,CAAC,KAAG,CAAC,CAE7D;IAEF,KAAK,QAAa,OAAO,CAAC,IAAI,CAAC,CAI7B;IAEF,IAAI,QAAa,OAAO,CAAC,IAAI,CAAC,CAI5B;CACL"}
@@ -1,7 +0,0 @@
1
- export const AppFrameworkErrorCode = Object.freeze({
2
- APPFRAMEWORK_MISSING_PERMISSION: {
3
- code: "STS_AF_0001",
4
- description: "STS_AF_0001: Missing Permission(s).",
5
- },
6
- });
7
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,+BAA+B,EAAE;QAC7B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qCAAqC;KACrD;CACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare const AppFrameworkErrorCode: Readonly<{
2
- APPFRAMEWORK_MISSING_PERMISSION: {
3
- code: string;
4
- description: string;
5
- };
6
- }>;
7
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;EAKhC,CAAC"}