suanpan_node_sdk 3.1.2 → 3.2.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.
@@ -1,3 +1,4 @@
1
1
  export * as sp from './sp';
2
2
  export * from './pubsub';
3
3
  export * from './messageBuilder';
4
+ export * from './node';
@@ -26,4 +26,5 @@ exports.sp = void 0;
26
26
  exports.sp = __importStar(require("./sp"));
27
27
  __exportStar(require("./pubsub"), exports);
28
28
  __exportStar(require("./messageBuilder"), exports);
29
+ __exportStar(require("./node"), exports);
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/message/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/message/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC;AACjC,yCAAuB"}
@@ -0,0 +1,45 @@
1
+ import type { SPNodeInfo } from '../utils/suanpan';
2
+ export declare class NodeInfo {
3
+ /**
4
+ * Get current node information from Suanpan platform
5
+ * @returns Node information including nodeId, state, inputs, outputs, and receiveMsgType
6
+ */
7
+ static getNodeInfo(): Promise<SPNodeInfo | undefined>;
8
+ /**
9
+ * Get node ID
10
+ * @returns Node ID or undefined
11
+ */
12
+ static getNodeId(): Promise<string | undefined>;
13
+ /**
14
+ * Get node state
15
+ * @returns Node state number or undefined
16
+ */
17
+ static getNodeState(): Promise<number | undefined>;
18
+ /**
19
+ * Get node inputs configuration
20
+ * @returns Array of input configurations
21
+ */
22
+ static getInputs(): Promise<SPNodeInfo['inputs'] | undefined>;
23
+ /**
24
+ * Get node outputs configuration
25
+ * @returns Array of output configurations
26
+ */
27
+ static getOutputs(): Promise<SPNodeInfo['outputs'] | undefined>;
28
+ /**
29
+ * Get receive message type
30
+ * @returns Message type string or undefined
31
+ */
32
+ static getReceiveMsgType(): Promise<string | undefined>;
33
+ /**
34
+ * Find input by name
35
+ * @param inputName - Name of the input to find
36
+ * @returns Input configuration or undefined
37
+ */
38
+ static findInputByName(inputName: string): Promise<SPNodeInfo['inputs'][0] | undefined>;
39
+ /**
40
+ * Find output by name
41
+ * @param outputName - Name of the output to find
42
+ * @returns Output configuration or undefined
43
+ */
44
+ static findOutputByName(outputName: string): Promise<SPNodeInfo['outputs'][0] | undefined>;
45
+ }
@@ -0,0 +1,107 @@
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.NodeInfo = void 0;
13
+ const suanpan_1 = require("../utils/suanpan");
14
+ class NodeInfo {
15
+ /**
16
+ * Get current node information from Suanpan platform
17
+ * @returns Node information including nodeId, state, inputs, outputs, and receiveMsgType
18
+ */
19
+ static getNodeInfo() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const nodeInfo = yield suanpan_1.SuanpanWebApi.getNodeInfo();
23
+ if (nodeInfo.success) {
24
+ return nodeInfo.data;
25
+ }
26
+ }
27
+ catch (error) {
28
+ console.error('Failed to get node info:', error);
29
+ }
30
+ return undefined;
31
+ });
32
+ }
33
+ /**
34
+ * Get node ID
35
+ * @returns Node ID or undefined
36
+ */
37
+ static getNodeId() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const info = yield this.getNodeInfo();
40
+ return info === null || info === void 0 ? void 0 : info.nodeId;
41
+ });
42
+ }
43
+ /**
44
+ * Get node state
45
+ * @returns Node state number or undefined
46
+ */
47
+ static getNodeState() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const info = yield this.getNodeInfo();
50
+ return info === null || info === void 0 ? void 0 : info.state;
51
+ });
52
+ }
53
+ /**
54
+ * Get node inputs configuration
55
+ * @returns Array of input configurations
56
+ */
57
+ static getInputs() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const info = yield this.getNodeInfo();
60
+ return info === null || info === void 0 ? void 0 : info.inputs;
61
+ });
62
+ }
63
+ /**
64
+ * Get node outputs configuration
65
+ * @returns Array of output configurations
66
+ */
67
+ static getOutputs() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const info = yield this.getNodeInfo();
70
+ return info === null || info === void 0 ? void 0 : info.outputs;
71
+ });
72
+ }
73
+ /**
74
+ * Get receive message type
75
+ * @returns Message type string or undefined
76
+ */
77
+ static getReceiveMsgType() {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const info = yield this.getNodeInfo();
80
+ return info === null || info === void 0 ? void 0 : info.receiveMsgType;
81
+ });
82
+ }
83
+ /**
84
+ * Find input by name
85
+ * @param inputName - Name of the input to find
86
+ * @returns Input configuration or undefined
87
+ */
88
+ static findInputByName(inputName) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const inputs = yield this.getInputs();
91
+ return inputs === null || inputs === void 0 ? void 0 : inputs.find(input => input.inputName === inputName);
92
+ });
93
+ }
94
+ /**
95
+ * Find output by name
96
+ * @param outputName - Name of the output to find
97
+ * @returns Output configuration or undefined
98
+ */
99
+ static findOutputByName(outputName) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const outputs = yield this.getOutputs();
102
+ return outputs === null || outputs === void 0 ? void 0 : outputs.find(output => output.outputName === outputName);
103
+ });
104
+ }
105
+ }
106
+ exports.NodeInfo = NodeInfo;
107
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/core/message/node.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAAiD;AAEjD,MAAa,QAAQ;IAEnB;;;OAGG;IACH,MAAM,CAAO,WAAW;;YACtB,IAAI;gBACF,MAAM,QAAQ,GAAqB,MAAM,uBAAa,CAAC,WAAW,EAAE,CAAC;gBACrE,IAAI,QAAQ,CAAC,OAAO,EAAE;oBACpB,OAAO,QAAQ,CAAC,IAAI,CAAC;iBACtB;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;aAClD;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAED;;;OAGG;IACH,MAAM,CAAO,SAAS;;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;QACtB,CAAC;KAAA;IAED;;;OAGG;IACH,MAAM,CAAO,YAAY;;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QACrB,CAAC;KAAA;IAED;;;OAGG;IACH,MAAM,CAAO,SAAS;;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;QACtB,CAAC;KAAA;IAED;;;OAGG;IACH,MAAM,CAAO,UAAU;;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC;QACvB,CAAC;KAAA;IAED;;;OAGG;IACH,MAAM,CAAO,iBAAiB;;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,CAAC;QAC9B,CAAC;KAAA;IAED;;;;OAIG;IACH,MAAM,CAAO,eAAe,CAAC,SAAiB;;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC9D,CAAC;KAAA;IAED;;;;OAIG;IACH,MAAM,CAAO,gBAAgB,CAAC,UAAkB;;YAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACnE,CAAC;KAAA;CACF;AAlFD,4BAkFC"}
@@ -7,6 +7,27 @@ declare type RegisterPortResponse = {
7
7
  success: boolean;
8
8
  msg: string;
9
9
  };
10
+ export declare type SPNodeInfo = {
11
+ nodeId: string;
12
+ state: number;
13
+ inputs: Array<{
14
+ inputId: string;
15
+ inputName: string;
16
+ dataType: string;
17
+ display: boolean;
18
+ }>;
19
+ outputs: Array<{
20
+ outputId: string;
21
+ outputName: string;
22
+ dataType: string;
23
+ display: boolean;
24
+ }>;
25
+ receiveMsgType: string;
26
+ };
27
+ export declare type NodeInfoResponse = {
28
+ success: boolean;
29
+ data: SPNodeInfo;
30
+ };
10
31
  export declare const suanpanAddress: string;
11
32
  export declare const suanpanHeaders: {
12
33
  [key: string]: string;
@@ -16,5 +37,6 @@ export declare class SuanpanWebApi {
16
37
  static presignedGetObject(objectName: string): Promise<PresignedResponse>;
17
38
  static presignedPutObject(objectName: string): Promise<PresignedResponse>;
18
39
  static registerPort(logicalPort: number, realPort: number): Promise<RegisterPortResponse>;
40
+ static getNodeInfo(): Promise<NodeInfoResponse>;
19
41
  }
20
42
  export {};
@@ -88,6 +88,20 @@ class SuanpanWebApi {
88
88
  return yield http_1.httpRequest(requestConfig);
89
89
  });
90
90
  }
91
+ static getNodeInfo() {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const { appId, nodeId } = environment_1.Environment.stream;
94
+ const requestConfig = {
95
+ url: `${exports.suanpanAddress}/internal/app/graph/node/info`,
96
+ method: 'POST',
97
+ data: {
98
+ appId, nodeId
99
+ },
100
+ headers: { "Content-Type": "application/json" }
101
+ };
102
+ return yield http_1.httpRequest(requestConfig);
103
+ });
104
+ }
91
105
  }
92
106
  exports.SuanpanWebApi = SuanpanWebApi;
93
107
  //# sourceMappingURL=suanpan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suanpan.js","sourceRoot":"","sources":["../../../src/core/utils/suanpan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suanpan.js","sourceRoot":"","sources":["../../../src/core/utils/suanpan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "suanpan_node_sdk",
3
- "version": "3.1.2",
3
+ "version": "3.2.0",
4
4
  "description": "suanpan sdk for node.js",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",