suanpan_node_sdk 2.0.0-beta.9 → 2.0.0

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 (224) hide show
  1. package/README.md +69 -45
  2. package/dist/api/index.d.ts +12 -0
  3. package/dist/api/index.js +55 -0
  4. package/dist/api/index.js.map +1 -0
  5. package/dist/core/common/constant.d.ts +6 -0
  6. package/dist/{constant.js → core/common/constant.js} +7 -2
  7. package/dist/core/common/constant.js.map +1 -0
  8. package/dist/{common → core/common}/exec.d.ts +0 -0
  9. package/dist/{common → core/common}/exec.js +0 -0
  10. package/dist/core/common/exec.js.map +1 -0
  11. package/dist/core/common/log.d.ts +3 -0
  12. package/dist/core/common/log.js +16 -0
  13. package/dist/core/common/log.js.map +1 -0
  14. package/dist/core/event/index.d.ts +6 -0
  15. package/dist/core/event/index.js +11 -0
  16. package/dist/core/event/index.js.map +1 -0
  17. package/dist/core/logkit/index.d.ts +33 -0
  18. package/dist/core/logkit/index.js +126 -0
  19. package/dist/core/logkit/index.js.map +1 -0
  20. package/dist/core/message/channel.d.ts +10 -0
  21. package/dist/core/message/channel.js +3 -0
  22. package/dist/core/message/channel.js.map +1 -0
  23. package/dist/core/message/channelFactory.d.ts +4 -0
  24. package/dist/core/message/channelFactory.js +12 -0
  25. package/dist/core/message/channelFactory.js.map +1 -0
  26. package/dist/core/message/index.d.ts +6 -0
  27. package/dist/core/message/index.js +19 -0
  28. package/dist/core/message/index.js.map +1 -0
  29. package/dist/core/message/message.d.ts +19 -0
  30. package/dist/core/message/message.js +62 -0
  31. package/dist/core/message/message.js.map +1 -0
  32. package/dist/core/message/messageBuilder.d.ts +13 -0
  33. package/dist/core/message/messageBuilder.js +55 -0
  34. package/dist/core/message/messageBuilder.js.map +1 -0
  35. package/dist/core/message/messageChain.d.ts +9 -0
  36. package/dist/core/message/messageChain.js +30 -0
  37. package/dist/core/message/messageChain.js.map +1 -0
  38. package/dist/core/message/messageListener.d.ts +4 -0
  39. package/dist/core/message/messageListener.js +13 -0
  40. package/dist/core/message/messageListener.js.map +1 -0
  41. package/dist/core/message/mq/index.d.ts +9 -0
  42. package/dist/core/message/mq/index.js +47 -0
  43. package/dist/core/message/mq/index.js.map +1 -0
  44. package/dist/core/message/mq/redis.d.ts +10 -0
  45. package/dist/core/message/mq/redis.js +92 -0
  46. package/dist/core/message/mq/redis.js.map +1 -0
  47. package/dist/core/parameter/commandArgs.d.ts +2 -0
  48. package/dist/core/parameter/commandArgs.js +23 -0
  49. package/dist/core/parameter/commandArgs.js.map +1 -0
  50. package/dist/core/parameter/environment.d.ts +84 -0
  51. package/dist/core/parameter/environment.js +102 -0
  52. package/dist/core/parameter/environment.js.map +1 -0
  53. package/dist/core/parameter/index.d.ts +8 -0
  54. package/dist/core/parameter/index.js +32 -0
  55. package/dist/core/parameter/index.js.map +1 -0
  56. package/dist/{script → core/script}/script-babel/babel.d.ts +0 -0
  57. package/dist/{script → core/script}/script-babel/babel.js +0 -0
  58. package/dist/core/script/script-babel/babel.js.map +1 -0
  59. package/dist/{script → core/script}/script-babel/plugin.d.ts +0 -0
  60. package/dist/{script → core/script}/script-babel/plugin.js +0 -0
  61. package/dist/core/script/script-babel/plugin.js.map +1 -0
  62. package/dist/{script → core/script}/script-constant.d.ts +0 -0
  63. package/dist/{script → core/script}/script-constant.js +0 -0
  64. package/dist/core/script/script-constant.js.map +1 -0
  65. package/dist/{script → core/script}/script-context.d.ts +1 -1
  66. package/dist/{script → core/script}/script-context.js +1 -1
  67. package/dist/core/script/script-context.js.map +1 -0
  68. package/dist/{script → core/script}/script-front.d.ts +0 -0
  69. package/dist/{script → core/script}/script-front.js +0 -0
  70. package/dist/core/script/script-front.js.map +1 -0
  71. package/dist/{script → core/script}/script-insert.d.ts +0 -0
  72. package/dist/{script → core/script}/script-insert.js +1 -1
  73. package/dist/core/script/script-insert.js.map +1 -0
  74. package/dist/{script → core/script}/script-manager.d.ts +0 -0
  75. package/dist/{script → core/script}/script-manager.js +2 -2
  76. package/dist/core/script/script-manager.js.map +1 -0
  77. package/dist/{script → core/script}/script-storage.d.ts +1 -1
  78. package/dist/{script → core/script}/script-storage.js +2 -2
  79. package/dist/core/script/script-storage.js.map +1 -0
  80. package/dist/{script → core/script}/script-support.d.ts +0 -0
  81. package/dist/{script → core/script}/script-support.js +1 -1
  82. package/dist/core/script/script-support.js.map +1 -0
  83. package/dist/{script → core/script}/script-template.d.ts +0 -0
  84. package/dist/{script → core/script}/script-template.js +0 -0
  85. package/dist/core/script/script-template.js.map +1 -0
  86. package/dist/{port.d.ts → core/service/port.d.ts} +1 -0
  87. package/dist/{port.js → core/service/port.js} +23 -8
  88. package/dist/core/service/port.js.map +1 -0
  89. package/dist/{latestStorage → core/storage}/minio.d.ts +7 -3
  90. package/dist/{latestStorage → core/storage}/minio.js +54 -14
  91. package/dist/core/storage/minio.js.map +1 -0
  92. package/dist/{latestStorage → core/storage}/oss.d.ts +5 -1
  93. package/dist/{latestStorage → core/storage}/oss.js +54 -3
  94. package/dist/core/storage/oss.js.map +1 -0
  95. package/dist/core/storage/storage.d.ts +37 -0
  96. package/dist/{latestStorage → core/storage}/storage.js +3 -15
  97. package/dist/core/storage/storage.js.map +1 -0
  98. package/dist/core/storage/storageFlusher.d.ts +12 -0
  99. package/dist/core/storage/storageFlusher.js +53 -0
  100. package/dist/core/storage/storageFlusher.js.map +1 -0
  101. package/dist/core/storage/storageLogger.d.ts +14 -0
  102. package/dist/core/storage/storageLogger.js +100 -0
  103. package/dist/core/storage/storageLogger.js.map +1 -0
  104. package/dist/core/storage/storagePath.d.ts +16 -0
  105. package/dist/core/storage/storagePath.js +50 -0
  106. package/dist/core/storage/storagePath.js.map +1 -0
  107. package/dist/core/storage/wrapperStorage.d.ts +6 -0
  108. package/dist/{latestStorage → core/storage}/wrapperStorage.js +5 -5
  109. package/dist/core/storage/wrapperStorage.js.map +1 -0
  110. package/dist/core/utils/flusher.d.ts +18 -0
  111. package/dist/core/utils/flusher.js +63 -0
  112. package/dist/core/utils/flusher.js.map +1 -0
  113. package/dist/core/utils/index.d.ts +55 -0
  114. package/dist/core/utils/index.js +238 -0
  115. package/dist/core/utils/index.js.map +1 -0
  116. package/dist/core/utils/number.d.ts +2 -0
  117. package/dist/core/utils/number.js +20 -0
  118. package/dist/core/utils/number.js.map +1 -0
  119. package/dist/{common → core/utils}/retry.d.ts +0 -0
  120. package/dist/{common → core/utils}/retry.js +0 -0
  121. package/dist/core/utils/retry.js.map +1 -0
  122. package/dist/core/utils/support.d.ts +3 -0
  123. package/dist/core/utils/support.js +28 -0
  124. package/dist/core/utils/support.js.map +1 -0
  125. package/dist/{web → core/web}/app.d.ts +0 -0
  126. package/dist/{web → core/web}/app.js +2 -2
  127. package/dist/core/web/app.js.map +1 -0
  128. package/dist/{web → core/web}/server.d.ts +0 -0
  129. package/dist/{web → core/web}/server.js +10 -10
  130. package/dist/core/web/server.js.map +1 -0
  131. package/dist/main.d.ts +5 -88
  132. package/dist/main.js +9 -37
  133. package/dist/main.js.map +1 -1
  134. package/dist/types/conmonTypes.d.ts +21 -0
  135. package/dist/types/conmonTypes.js +17 -0
  136. package/dist/types/conmonTypes.js.map +1 -0
  137. package/dist/types/index.d.ts +3 -0
  138. package/dist/types/index.js +16 -0
  139. package/dist/types/index.js.map +1 -0
  140. package/dist/types/{storage-types.d.ts → storageTypes.d.ts} +23 -9
  141. package/dist/types/{storage-types.js → storageTypes.js} +1 -1
  142. package/dist/types/storageTypes.js.map +1 -0
  143. package/dist/types/streamTypes.d.ts +24 -0
  144. package/dist/types/streamTypes.js +3 -0
  145. package/dist/types/streamTypes.js.map +1 -0
  146. package/package.json +5 -2
  147. package/dist/arguments.d.ts +0 -72
  148. package/dist/arguments.js +0 -69
  149. package/dist/arguments.js.map +0 -1
  150. package/dist/commandArgs.d.ts +0 -10
  151. package/dist/commandArgs.js +0 -18
  152. package/dist/commandArgs.js.map +0 -1
  153. package/dist/common/exec.js.map +0 -1
  154. package/dist/common/file.d.ts +0 -1
  155. package/dist/common/file.js +0 -18
  156. package/dist/common/file.js.map +0 -1
  157. package/dist/common/log.d.ts +0 -3
  158. package/dist/common/log.js +0 -11
  159. package/dist/common/log.js.map +0 -1
  160. package/dist/common/retry.js.map +0 -1
  161. package/dist/common/streamUtility.d.ts +0 -7
  162. package/dist/common/streamUtility.js +0 -42
  163. package/dist/common/streamUtility.js.map +0 -1
  164. package/dist/common/util.d.ts +0 -45
  165. package/dist/common/util.js +0 -175
  166. package/dist/common/util.js.map +0 -1
  167. package/dist/constant.d.ts +0 -1
  168. package/dist/constant.js.map +0 -1
  169. package/dist/dyParameter.d.ts +0 -5
  170. package/dist/dyParameter.js +0 -34
  171. package/dist/dyParameter.js.map +0 -1
  172. package/dist/eventLogger.d.ts +0 -29
  173. package/dist/eventLogger.js +0 -123
  174. package/dist/eventLogger.js.map +0 -1
  175. package/dist/global.d.ts +0 -9
  176. package/dist/global.js +0 -39
  177. package/dist/global.js.map +0 -1
  178. package/dist/latestStorage/minio.js.map +0 -1
  179. package/dist/latestStorage/oss.js.map +0 -1
  180. package/dist/latestStorage/path.d.ts +0 -9
  181. package/dist/latestStorage/path.js +0 -30
  182. package/dist/latestStorage/path.js.map +0 -1
  183. package/dist/latestStorage/storage.d.ts +0 -27
  184. package/dist/latestStorage/storage.js.map +0 -1
  185. package/dist/latestStorage/wrapperStorage.d.ts +0 -7
  186. package/dist/latestStorage/wrapperStorage.js.map +0 -1
  187. package/dist/mq.d.ts +0 -55
  188. package/dist/mq.js +0 -158
  189. package/dist/mq.js.map +0 -1
  190. package/dist/parameter.d.ts +0 -14
  191. package/dist/parameter.js +0 -94
  192. package/dist/parameter.js.map +0 -1
  193. package/dist/port.js.map +0 -1
  194. package/dist/previousStorage/local.d.ts +0 -12
  195. package/dist/previousStorage/local.js +0 -90
  196. package/dist/previousStorage/local.js.map +0 -1
  197. package/dist/previousStorage/minio.d.ts +0 -10
  198. package/dist/previousStorage/minio.js +0 -201
  199. package/dist/previousStorage/minio.js.map +0 -1
  200. package/dist/previousStorage/oss.d.ts +0 -27
  201. package/dist/previousStorage/oss.js +0 -153
  202. package/dist/previousStorage/oss.js.map +0 -1
  203. package/dist/previousStorage/storage.d.ts +0 -21
  204. package/dist/previousStorage/storage.js +0 -21
  205. package/dist/previousStorage/storage.js.map +0 -1
  206. package/dist/script/script-babel/babel.js.map +0 -1
  207. package/dist/script/script-babel/plugin.js.map +0 -1
  208. package/dist/script/script-constant.js.map +0 -1
  209. package/dist/script/script-context.js.map +0 -1
  210. package/dist/script/script-front.js.map +0 -1
  211. package/dist/script/script-insert.js.map +0 -1
  212. package/dist/script/script-manager.js.map +0 -1
  213. package/dist/script/script-storage.js.map +0 -1
  214. package/dist/script/script-support.js.map +0 -1
  215. package/dist/script/script-template.js.map +0 -1
  216. package/dist/socketSever.d.ts +0 -1
  217. package/dist/socketSever.js +0 -47
  218. package/dist/socketSever.js.map +0 -1
  219. package/dist/staticServer.d.ts +0 -5
  220. package/dist/staticServer.js +0 -30
  221. package/dist/staticServer.js.map +0 -1
  222. package/dist/types/storage-types.js.map +0 -1
  223. package/dist/web/app.js.map +0 -1
  224. package/dist/web/server.js.map +0 -1
@@ -0,0 +1,62 @@
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.Message = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const serialize_javascript_1 = __importDefault(require("serialize-javascript"));
9
+ const environment_1 = require("../parameter/environment");
10
+ const utils_1 = require("../utils");
11
+ const messageBuilder_1 = require("./messageBuilder");
12
+ const PORT_IN_REG = /^in[1-9][0-9]*$/;
13
+ class Message {
14
+ constructor(headers, payload) {
15
+ this.headers = headers;
16
+ this.payload = payload;
17
+ }
18
+ static fromRequestStream(request) {
19
+ const deserializedRequest = lodash_1.default.mapValues(request, (v) => utils_1.tryJSONParse(v, v));
20
+ const inputPortsMap = lodash_1.default.pickBy(deserializedRequest, (value, key) => key.match(PORT_IN_REG));
21
+ return messageBuilder_1.MessageBuilder
22
+ .withPayload(inputPortsMap)
23
+ .setHeaderIfAbsent('requestId', deserializedRequest.id)
24
+ .setHeaderIfAbsent('extra', deserializedRequest.extra)
25
+ .build();
26
+ }
27
+ /**
28
+ * @param data JSON Object
29
+ * @returns JSON Object with the same key as param @param data
30
+ */
31
+ serializeIfNecessary(data) {
32
+ const serializedResponse = lodash_1.default.mapValues(data, (v) => {
33
+ return lodash_1.default.isString(v) ? v : serialize_javascript_1.default(v);
34
+ });
35
+ return serializedResponse;
36
+ }
37
+ toResponseStream() {
38
+ var _a, _b;
39
+ const unSerializedResponse = Object.assign({
40
+ request_id: (_a = this.headers) === null || _a === void 0 ? void 0 : _a.requestId,
41
+ node_id: environment_1.Environment.stream.nodeId,
42
+ success: 'true',
43
+ type: 'call',
44
+ extra: (_b = this.headers) === null || _b === void 0 ? void 0 : _b.extra
45
+ }, this.payload);
46
+ return this.serializeIfNecessary(unSerializedResponse);
47
+ }
48
+ toErrorResponseStream(errorMessage) {
49
+ var _a, _b;
50
+ const unSerializedResponse = Object.assign({
51
+ request_id: (_a = this.headers) === null || _a === void 0 ? void 0 : _a.requestId,
52
+ node_id: environment_1.Environment.stream.nodeId,
53
+ success: 'false',
54
+ type: 'call',
55
+ msg: errorMessage,
56
+ extra: (_b = this.headers) === null || _b === void 0 ? void 0 : _b.extra
57
+ }, this.payload);
58
+ return this.serializeIfNecessary(unSerializedResponse);
59
+ }
60
+ }
61
+ exports.Message = Message;
62
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/core/message/message.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,gFAA6C;AAE7C,0DAAuD;AACvD,oCAAwC;AACxC,qDAAkD;AAElD,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAMtC,MAAa,OAAO;IAIlB,YAAY,OAAuB,EAAE,OAAmB;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAsB;QAC7C,MAAM,mBAAmB,GAAG,gBAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,oBAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAA8B,CAAC;QACjH,MAAM,aAAa,GAAG,gBAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAuB,CAAC;QAElH,OAAO,+BAAc;aAClB,WAAW,CAAC,aAAa,CAAC;aAC1B,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,CAAC;aACtD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;aACrD,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,IAAkB;QAC7C,MAAM,kBAAkB,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAY,EAAE,EAAE;YAC5D,OAAO,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,8BAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,gBAAgB;;QACd,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;YACzC,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS;YACnC,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAgB;YAC5C,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK;SAC3B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAmB,CAAC;IAC3E,CAAC;IAED,qBAAqB,CAAC,YAAoB;;QACxC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;YACzC,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS;YACnC,OAAO,EAAE,yBAAW,CAAC,MAAM,CAAC,MAAgB;YAC5C,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK;SAC3B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAmB,CAAC;IAC3E,CAAC;CACF;AAvDD,0BAuDC"}
@@ -0,0 +1,13 @@
1
+ import { Message } from './message';
2
+ import type { JSONObject } from '../../types';
3
+ export declare class MessageBuilder {
4
+ private static _payload;
5
+ private static _headers;
6
+ static fromMessage(message: Message): typeof MessageBuilder;
7
+ static fromMessagePayload(message: Message): typeof MessageBuilder;
8
+ static fromMessageHeaders(message: Message): typeof MessageBuilder;
9
+ static withPayload(payload: JSONObject): typeof MessageBuilder;
10
+ static setHeader(key: string, value: string): typeof MessageBuilder;
11
+ static setHeaderIfAbsent(key: string, value: string): typeof MessageBuilder;
12
+ static build(): Message;
13
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBuilder = void 0;
4
+ const utils_1 = require("../utils");
5
+ const message_1 = require("./message");
6
+ const DEFAULT_MESSAGE_HEADERS = {
7
+ requestId: '',
8
+ extra: '',
9
+ timestamp: 0
10
+ };
11
+ class MessageBuilder {
12
+ static fromMessage(message) {
13
+ this._payload = message.payload;
14
+ return this;
15
+ }
16
+ static fromMessagePayload(message) {
17
+ this.fromMessage(message);
18
+ return this;
19
+ }
20
+ static fromMessageHeaders(message) {
21
+ for (const [headerName, headerValue] of Object.entries(message.headers)) {
22
+ this.setHeader(headerName, headerValue);
23
+ }
24
+ return this;
25
+ }
26
+ static withPayload(payload) {
27
+ this._payload = payload;
28
+ return this;
29
+ }
30
+ static setHeader(key, value) {
31
+ this._headers[key] = value;
32
+ return this;
33
+ }
34
+ static setHeaderIfAbsent(key, value) {
35
+ if (!this._headers[key]) {
36
+ this._headers[key] = value;
37
+ }
38
+ return this;
39
+ }
40
+ static build() {
41
+ if (!this._payload) {
42
+ throw new Error('payload must be passed in.');
43
+ }
44
+ if (!this._headers.requestId) {
45
+ this._headers.requestId = utils_1.generateUUID().split('-').join('');
46
+ }
47
+ if (!this._headers.timestamp) {
48
+ this._headers.timestamp = new Date().getTime();
49
+ }
50
+ return new message_1.Message(this._headers, this._payload);
51
+ }
52
+ }
53
+ exports.MessageBuilder = MessageBuilder;
54
+ MessageBuilder._headers = DEFAULT_MESSAGE_HEADERS;
55
+ //# sourceMappingURL=messageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../../../src/core/message/messageBuilder.ts"],"names":[],"mappings":";;;AAAA,oCAAwC;AACxC,uCAAoD;AAGpD,MAAM,uBAAuB,GAAmB;IAC9C,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,MAAa,cAAc;IAKzB,MAAM,CAAC,WAAW,CAAC,OAAgB;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAgB;QACxC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAgB;QACxC,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAmB;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAa;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,oBAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;SAChD;QAED,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;;AArDH,wCAsDC;AAnDgB,uBAAQ,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Message } from './message';
2
+ import type { OutPortsMap } from '../../types';
3
+ import type { MessageChannel } from './channel';
4
+ export declare class MessageChain {
5
+ private message;
6
+ private channel;
7
+ constructor(message: Message, channel: MessageChannel);
8
+ send(payload: OutPortsMap<any>): Promise<void>;
9
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MessageChain = void 0;
13
+ const messageBuilder_1 = require("./messageBuilder");
14
+ class MessageChain {
15
+ constructor(message, channel) {
16
+ this.message = message;
17
+ this.channel = channel;
18
+ }
19
+ send(payload) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const responseMessage = messageBuilder_1.MessageBuilder
22
+ .fromMessageHeaders(this.message)
23
+ .withPayload(payload)
24
+ .build();
25
+ yield this.channel.sendMessage(responseMessage);
26
+ });
27
+ }
28
+ }
29
+ exports.MessageChain = MessageChain;
30
+ //# sourceMappingURL=messageChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageChain.js","sourceRoot":"","sources":["../../../src/core/message/messageChain.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkD;AAKlD,MAAa,YAAY;IAEvB,YAAoB,OAAgB,EAAU,OAAuB;QAAjD,YAAO,GAAP,OAAO,CAAS;QAAU,YAAO,GAAP,OAAO,CAAgB;IAAI,CAAC;IAEpE,IAAI,CAAC,OAAyB;;YAClC,MAAM,eAAe,GAAG,+BAAc;iBACnC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;iBAChC,WAAW,CAAC,OAAO,CAAC;iBACpB,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;KAAA;CACF;AAXD,oCAWC"}
@@ -0,0 +1,4 @@
1
+ import type { MessageHandler } from './channel';
2
+ export declare class MessageListener {
3
+ static onMessage(handler: MessageHandler): void;
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageListener = void 0;
4
+ const mq_1 = require("./mq");
5
+ class MessageListener {
6
+ static onMessage(handler) {
7
+ // TODO: factory
8
+ const channel = new mq_1.RedisStreamChannel();
9
+ channel.subscribe(handler);
10
+ }
11
+ }
12
+ exports.MessageListener = MessageListener;
13
+ //# sourceMappingURL=messageListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageListener.js","sourceRoot":"","sources":["../../../src/core/message/messageListener.ts"],"names":[],"mappings":";;;AAAA,6BAA0C;AAE1C,MAAa,eAAe;IAC1B,MAAM,CAAC,SAAS,CAAC,OAAuB;QACtC,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,uBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,0CAMC"}
@@ -0,0 +1,9 @@
1
+ import type { Message } from '../message';
2
+ import type { MessageHandler, SubscribableChannel } from '../channel';
3
+ export declare class RedisStreamChannel implements SubscribableChannel {
4
+ private _client;
5
+ constructor();
6
+ subscribe(handler: MessageHandler): void;
7
+ unsubscribe(handler: MessageHandler): boolean;
8
+ sendMessage(message: Message): Promise<void>;
9
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RedisStreamChannel = void 0;
13
+ require("lodash");
14
+ const redis_1 = require("./redis");
15
+ const logkit_1 = require("../../logkit");
16
+ const messageChain_1 = require("../messageChain");
17
+ const event_1 = require("../../event");
18
+ class RedisStreamChannel {
19
+ constructor() {
20
+ this._client = new redis_1.RedisClient();
21
+ }
22
+ subscribe(handler) {
23
+ this._client.on(event_1.MessageReachedEvent.NAME, (event) => __awaiter(this, void 0, void 0, function* () {
24
+ const requestMessage = event.message;
25
+ const chain = new messageChain_1.MessageChain(requestMessage, this);
26
+ try {
27
+ yield handler(requestMessage, chain);
28
+ }
29
+ catch (e) {
30
+ logkit_1.EventLogger.Instance.error(e);
31
+ const errorResponse = requestMessage.toErrorResponseStream(e.message);
32
+ yield this._client.sendMessage(errorResponse);
33
+ }
34
+ }));
35
+ }
36
+ unsubscribe(handler) {
37
+ throw new Error('Method not implemented.');
38
+ }
39
+ sendMessage(message) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const responseStream = message.toResponseStream();
42
+ yield this._client.sendMessage(responseStream);
43
+ });
44
+ }
45
+ }
46
+ exports.RedisStreamChannel = RedisStreamChannel;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/message/mq/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kBAAuB;AAEvB,mCAAsC;AACtC,yCAA2C;AAC3C,kDAA+C;AAC/C,uCAAkD;AAKlD,MAAa,kBAAkB;IAG7B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAW,EAAE,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,OAAuB;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,2BAAmB,CAAC,IAAI,EAAE,CAAO,KAA0B,EAAE,EAAE;YAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,2BAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI;gBACF,MAAM,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACtC;YAAC,OAAO,CAAM,EAAE;gBACf,oBAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aAC/C;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAuB;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEK,WAAW,CAAC,OAAgB;;YAChC,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;KAAA;CACF;AA7BD,gDA6BC"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ import * as events from 'events';
3
+ import type { ResponseStream } from '../../../types';
4
+ export declare class RedisClient extends events.EventEmitter {
5
+ private _client;
6
+ constructor();
7
+ private initMQClient;
8
+ private _buildSendMessageOptions;
9
+ sendMessage(responseStream: ResponseStream): Promise<void>;
10
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.RedisClient = void 0;
35
+ const events = __importStar(require("events"));
36
+ const log_1 = __importDefault(require("../../common/log"));
37
+ const utils_1 = require("../../utils");
38
+ const message_1 = require("../message");
39
+ const environment_1 = require("../../parameter/environment");
40
+ const event_1 = require("../../event");
41
+ const suanpan_mq_1 = require("suanpan-mq");
42
+ class RedisClient extends events.EventEmitter {
43
+ constructor() {
44
+ super();
45
+ this.initMQClient();
46
+ }
47
+ initMQClient() {
48
+ if (!this._client) {
49
+ this._client = new suanpan_mq_1.SPMQClient({ host: environment_1.Environment.mq.host, readWriteSeparation: true });
50
+ const queue = environment_1.Environment.mq.receiveQueue;
51
+ const callback = (qMessage) => __awaiter(this, void 0, void 0, function* () {
52
+ if (qMessage.data) {
53
+ const requestStream = qMessage.data;
54
+ const message = message_1.Message.fromRequestStream(requestStream);
55
+ this.emit(event_1.MessageReachedEvent.NAME, new event_1.MessageReachedEvent(message));
56
+ }
57
+ else {
58
+ log_1.default.info(`Received queueMessage: ${JSON.stringify(qMessage)}`);
59
+ log_1.default.info('Received message from the redis queue, but the data is empty.');
60
+ }
61
+ });
62
+ // https://github.com/chylvina/AiLab/blob/58b7d302f5657042e8226cc3168dfee23dc35758/suanpan/stream/__init__.py#L118-L135
63
+ const queueOption = { queue, callback, count: 1 };
64
+ this._client.subscribeQueue(queueOption);
65
+ }
66
+ }
67
+ _buildSendMessageOptions(responseStream) {
68
+ const maxlen = environment_1.Environment.mq.sendQueueMaxLength;
69
+ const trimImmediately = environment_1.Environment.mq.sendQueueTrimImmediately;
70
+ return {
71
+ queue: environment_1.Environment.mq.sendQueue,
72
+ data: responseStream,
73
+ maxlen: maxlen ? parseInt(maxlen) : 2000,
74
+ trimImmediately: utils_1.isTrue(trimImmediately)
75
+ };
76
+ }
77
+ sendMessage(responseStream) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ try {
80
+ this.initMQClient();
81
+ const sendOptions = this._buildSendMessageOptions(responseStream);
82
+ yield this._client.sendMessage(sendOptions);
83
+ }
84
+ catch (e) {
85
+ log_1.default.error(`send message failed, reason: ${e}`);
86
+ throw e;
87
+ }
88
+ });
89
+ }
90
+ }
91
+ exports.RedisClient = RedisClient;
92
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../src/core/message/mq/redis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,2DAAsC;AAItC,uCAAqC;AACrC,wCAAqC;AACrC,6DAA0D;AAC1D,uCAAkD;AAClD,2CAAyH;AACzH,MAAa,WAAY,SAAQ,MAAM,CAAC,YAAY;IAGlD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAEjB,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,EAAE,IAAI,EAAE,yBAAW,CAAC,EAAE,CAAC,IAAc,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;YAElG,MAAM,KAAK,GAAG,yBAAW,CAAC,EAAE,CAAC,YAAsB,CAAC;YAEpD,MAAM,QAAQ,GAA2B,CAAO,QAAsB,EAAE,EAAE;gBACxE,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAqB,CAAC;oBACrD,MAAM,OAAO,GAAG,iBAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC,2BAAmB,CAAC,IAAI,EAAE,IAAI,2BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;iBACvE;qBAAM;oBACL,aAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClE,aAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;iBAC9E;YACH,CAAC,CAAA,CAAC;YACF,uHAAuH;YACvH,MAAM,WAAW,GAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAEzE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,wBAAwB,CAAC,cAA8B;QAC7D,MAAM,MAAM,GAAG,yBAAW,CAAC,EAAE,CAAC,kBAA4B,CAAC;QAC3D,MAAM,eAAe,GAAG,yBAAW,CAAC,EAAE,CAAC,wBAAwB,CAAC;QAChE,OAAO;YACL,KAAK,EAAE,yBAAW,CAAC,EAAE,CAAC,SAAmB;YACzC,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACxC,eAAe,EAAE,cAAM,CAAC,eAAe,CAAC;SACzC,CAAC;IACJ,CAAC;IAEK,WAAW,CAAC,cAA8B;;YAC9C,IAAI;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;gBAClE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACV,aAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,CAAC;aACT;QACH,CAAC;KAAA;CACF;AArDD,kCAqDC"}
@@ -0,0 +1,2 @@
1
+ import type { AnyJSON } from '../../types/index';
2
+ export declare const argvs: AnyJSON<any>;
@@ -0,0 +1,23 @@
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.argvs = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const split_string_1 = __importDefault(require("split-string"));
9
+ const yargs_1 = require("yargs");
10
+ const yargs = yargs_1.parserConfiguration({
11
+ 'camel-case-expansion': false
12
+ });
13
+ function getArgvFromEnvSpParam() {
14
+ const spParam = !lodash_1.default.isString(process.env.SP_PARAM) ? '' : process.env.SP_PARAM;
15
+ const textSpParam = Buffer.from(spParam, 'base64').toString('utf8');
16
+ return yargs.parse(split_string_1.default(textSpParam.trim(), {
17
+ separator: ' ',
18
+ quotes: ['"', '\''],
19
+ brackets: true
20
+ }));
21
+ }
22
+ exports.argvs = Object.assign(yargs.argv, getArgvFromEnvSpParam());
23
+ //# sourceMappingURL=commandArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandArgs.js","sourceRoot":"","sources":["../../../src/core/parameter/commandArgs.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,gEAAiC;AACjC,iCAA4C;AAG5C,MAAM,KAAK,GAAG,2BAAmB,CAAC;IAChC,sBAAsB,EAAE,KAAK;CAC9B,CAAC,CAAC;AAEH,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,KAAK,CAAC,sBAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;QAC3C,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAEY,QAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,EAAE,CAAiB,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { Platform } from '../../types';
2
+ export declare function getPlatform(): Platform;
3
+ export declare class Environment {
4
+ /**
5
+ * Gets a value indicating the type of the current operating system.
6
+ */
7
+ static readonly platform: Platform;
8
+ /**
9
+ * Gets a value indicating whether the current operating system is `Linux`.
10
+ */
11
+ static readonly isLinux: boolean;
12
+ /**
13
+ * Gets a value indicating whether the current operating system is `Macintosh`.
14
+ */
15
+ static readonly isMac: boolean;
16
+ /**
17
+ * Gets a value indicating whether the current operating system is `Windows`.
18
+ */
19
+ static readonly isWindows: boolean;
20
+ static readonly stream: {
21
+ userId: any;
22
+ appId: any;
23
+ componentId: any;
24
+ nodeId: any;
25
+ host: any;
26
+ sendQueue: any;
27
+ receiveQueue: any;
28
+ sendQueueMaxLength: any;
29
+ sendQueueTrimImmediately: any;
30
+ };
31
+ static readonly suanpan: {
32
+ affinity: string | undefined;
33
+ host: string | undefined;
34
+ port: string | undefined;
35
+ protocol: boolean | "" | undefined;
36
+ accessSecret: string | undefined;
37
+ field: {
38
+ userIdHeader: string;
39
+ userSignature: string;
40
+ userSignVersionHeader: string;
41
+ };
42
+ };
43
+ static readonly mq: {
44
+ sendQueue: any;
45
+ receiveQueue: any;
46
+ sendQueueMaxLength: any;
47
+ sendQueueTrimImmediately: any;
48
+ host: any;
49
+ type: any;
50
+ };
51
+ static readonly oss: {
52
+ endpoint: any;
53
+ bucketName: any;
54
+ accessId: any;
55
+ accessKey: any;
56
+ tempStore: any;
57
+ globalStore: any;
58
+ };
59
+ static readonly minio: {
60
+ endpoint: any;
61
+ bucketName: any;
62
+ accessId: any;
63
+ accessKey: any;
64
+ tempStore: any;
65
+ globalStore: any;
66
+ };
67
+ static readonly local: {
68
+ tempStore: any;
69
+ globalStore: any;
70
+ };
71
+ static readonly spConfig: {
72
+ mstorageType: any;
73
+ storageType: any;
74
+ mqType: any;
75
+ dwType: any;
76
+ debug: boolean;
77
+ };
78
+ static readonly logkit: {
79
+ uri: string | undefined;
80
+ logLevel: string;
81
+ namespace: string;
82
+ eventName: string;
83
+ };
84
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Environment = exports.getPlatform = void 0;
4
+ const commandArgs_1 = require("./commandArgs");
5
+ const types_1 = require("../../types");
6
+ function getPlatform() {
7
+ if (process.platform === 'linux') {
8
+ return types_1.Platform.LINUX;
9
+ }
10
+ if (process.platform === 'darwin') {
11
+ return types_1.Platform.MACINTOSH;
12
+ }
13
+ if (process.platform === 'win32') {
14
+ return types_1.Platform.WINDOWS;
15
+ }
16
+ throw new Error('error.env.platform.not.supported');
17
+ }
18
+ exports.getPlatform = getPlatform;
19
+ class Environment {
20
+ }
21
+ exports.Environment = Environment;
22
+ /**
23
+ * Gets a value indicating the type of the current operating system.
24
+ */
25
+ Environment.platform = getPlatform();
26
+ /**
27
+ * Gets a value indicating whether the current operating system is `Linux`.
28
+ */
29
+ Environment.isLinux = (Environment.platform === types_1.Platform.LINUX);
30
+ /**
31
+ * Gets a value indicating whether the current operating system is `Macintosh`.
32
+ */
33
+ Environment.isMac = (Environment.platform === types_1.Platform.MACINTOSH);
34
+ /**
35
+ * Gets a value indicating whether the current operating system is `Windows`.
36
+ */
37
+ Environment.isWindows = (Environment.platform === types_1.Platform.WINDOWS);
38
+ Environment.stream = {
39
+ userId: commandArgs_1.argvs['stream-user-id'] || process.env.SP_USER_ID,
40
+ appId: commandArgs_1.argvs['stream-app-id'] || process.env.SP_APP_ID,
41
+ componentId: commandArgs_1.argvs['stream-component-id'] || process.env.SP_COMPONENT_ID,
42
+ nodeId: commandArgs_1.argvs['stream-node-id'] || process.env.SP_NODE_ID,
43
+ host: commandArgs_1.argvs['stream-host'] || process.env.SP_MQ_REDIS_HOST,
44
+ sendQueue: commandArgs_1.argvs['stream-send-queue'] || process.env.SP_STREAM_SEND_QUEUE,
45
+ receiveQueue: commandArgs_1.argvs['stream-recv-queue'] || process.env.SP_STREAM_RECV_QUEUE,
46
+ sendQueueMaxLength: commandArgs_1.argvs['stream-send-queue-max-length'] || process.env.SP_STREAM_SEND_QUEUE_MAX_LENGTH,
47
+ sendQueueTrimImmediately: commandArgs_1.argvs['stream-send-queue-trim-immediately'] || process.env.SP_STREAM_SEND_QUEUE_TRIM_IMMEDIATELY
48
+ };
49
+ Environment.suanpan = {
50
+ affinity: process.env.SP_AFFINITY,
51
+ host: process.env.SP_HOST,
52
+ port: process.env.SP_PORT,
53
+ protocol: process.env.SP_HOST_TLS && process.env.SP_HOST_TLS !== 'false',
54
+ accessSecret: process.env.SP_ACCESS_SECRET,
55
+ field: {
56
+ userIdHeader: process.env.SP_USER_ID_HEADER_FIELD || 'x-sp-user-id',
57
+ userSignature: process.env.SP_USER_SIGNATURE_HEADER_FIELD || 'x-sp-signature',
58
+ userSignVersionHeader: process.env.SP_USER_SIGN_VERSION_HEADER_FIELD || 'x-sp-sign-version'
59
+ }
60
+ };
61
+ Environment.mq = {
62
+ sendQueue: commandArgs_1.argvs['stream-send-queue'] || process.env.SP_STREAM_SEND_QUEUE,
63
+ receiveQueue: commandArgs_1.argvs['stream-recv-queue'] || process.env.SP_STREAM_RECV_QUEUE,
64
+ sendQueueMaxLength: commandArgs_1.argvs['stream-send-queue-max-length'] || process.env.SP_STREAM_SEND_QUEUE_MAX_LENGTH,
65
+ sendQueueTrimImmediately: commandArgs_1.argvs['stream-send-queue-trim-immediately'] || process.env.SP_STREAM_SEND_QUEUE_TRIM_IMMEDIATELY,
66
+ host: commandArgs_1.argvs['mq-redis-host'] || process.env.SP_MQ_REDIS_HOST,
67
+ type: commandArgs_1.argvs['mq-type'] || process.env.SP_MQ_TYPE
68
+ };
69
+ Environment.oss = {
70
+ endpoint: commandArgs_1.argvs['storage-oss-endpoint'],
71
+ bucketName: commandArgs_1.argvs['storage-oss-bucket-name'],
72
+ accessId: commandArgs_1.argvs['storage-oss-access-id'],
73
+ accessKey: commandArgs_1.argvs['storage-oss-access-key'],
74
+ tempStore: commandArgs_1.argvs['storage-oss-temp-store'] || process.env.SP_STORAGE_OSS_TEMP_STORE,
75
+ globalStore: commandArgs_1.argvs['storage-oss-global-store'] || process.env.SP_STORAGE_OSS_GLOBAL_STORE
76
+ };
77
+ Environment.minio = {
78
+ endpoint: commandArgs_1.argvs['storage-minio-endpoint'] || 'http://127.0.0.1:9000',
79
+ bucketName: commandArgs_1.argvs['storage-minio-bucket-name'] || 'suanpan',
80
+ accessId: commandArgs_1.argvs['storage-minio-access-id'] || 'MINIO_ACCESS',
81
+ accessKey: commandArgs_1.argvs['storage-minio-access-key'] || 'MINIO_SECRET',
82
+ tempStore: commandArgs_1.argvs['storage-minio-temp-store'] || process.env.SP_STORAGE_MINIO_TEMP_STORE,
83
+ globalStore: commandArgs_1.argvs['storage-minio-global-store'] || process.env.SP_STORAGE_MINIO_GLOBAL_STORE
84
+ };
85
+ Environment.local = {
86
+ tempStore: commandArgs_1.argvs['storage-local-temp-store'] || process.env.SP_STORAGE_LOCAL_TEMP_STORE,
87
+ globalStore: commandArgs_1.argvs['storage-local-global-store'] || process.env.SP_STORAGE_LOCAL_GLOBAL_STORE
88
+ };
89
+ Environment.spConfig = {
90
+ mstorageType: commandArgs_1.argvs['mstorage-type'] || process.env.SP_MSTORAGE_TYPE,
91
+ storageType: commandArgs_1.argvs['storage-type'] || process.env.SP_STORAGE_TYPE,
92
+ mqType: commandArgs_1.argvs['mq-type'] || process.env.SP_MQ_TYPE,
93
+ dwType: commandArgs_1.argvs['dw-type'] || process.env.SP_DW_TYPE,
94
+ debug: process.env.SP_DEBUG === 'true'
95
+ };
96
+ Environment.logkit = {
97
+ uri: process.env.SP_LOGKIT_URI,
98
+ logLevel: process.env.SP_LOGKIT_LOGS_LEVEL || 'debug',
99
+ namespace: process.env.SP_LOGKIT_NAMESPACE || 'logkit',
100
+ eventName: process.env.SP_LOGKIT_EVENTS_APPEND || 'append'
101
+ };
102
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/core/parameter/environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AnyJSON } from '../../types';
2
+ export declare class Parameter {
3
+ static get UserId(): string | undefined;
4
+ static get AppId(): string | undefined;
5
+ static get ComponentId(): any;
6
+ static get NodeId(): string | undefined;
7
+ static get(key?: string): AnyJSON<string> | string | undefined;
8
+ }