@ultipa-graph/ultipa-driver 5.1.5-s5.2 → 6.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 (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/client.d.ts +194 -0
  4. package/dist/client.js +390 -0
  5. package/dist/config.d.ts +65 -0
  6. package/dist/config.js +135 -0
  7. package/dist/connection.d.ts +30 -0
  8. package/dist/connection.js +190 -0
  9. package/dist/errors.d.ts +99 -0
  10. package/dist/errors.js +237 -0
  11. package/dist/index.d.ts +14 -5
  12. package/dist/index.js +88 -39
  13. package/dist/printers.d.ts +33 -0
  14. package/dist/printers.js +312 -0
  15. package/dist/proto/gqldb.proto +632 -0
  16. package/dist/response.d.ts +256 -0
  17. package/dist/response.js +723 -0
  18. package/dist/services/admin-service.d.ts +40 -0
  19. package/dist/services/admin-service.js +115 -0
  20. package/dist/services/bulk-import-service.d.ts +35 -0
  21. package/dist/services/bulk-import-service.js +108 -0
  22. package/dist/services/converters.d.ts +57 -0
  23. package/dist/services/converters.js +254 -0
  24. package/dist/services/data-service.d.ts +44 -0
  25. package/dist/services/data-service.js +206 -0
  26. package/dist/services/graph-service.d.ts +32 -0
  27. package/dist/services/graph-service.js +127 -0
  28. package/dist/services/health-service.d.ts +50 -0
  29. package/dist/services/health-service.js +78 -0
  30. package/dist/services/index.d.ts +13 -0
  31. package/dist/services/index.js +30 -0
  32. package/dist/services/query-service.d.ts +39 -0
  33. package/dist/services/query-service.js +112 -0
  34. package/dist/services/service-context.d.ts +39 -0
  35. package/dist/services/service-context.js +73 -0
  36. package/dist/services/session-service.d.ts +24 -0
  37. package/dist/services/session-service.js +66 -0
  38. package/dist/services/transaction-service.d.ts +33 -0
  39. package/dist/services/transaction-service.js +100 -0
  40. package/dist/services.d.ts +28 -0
  41. package/dist/services.js +122 -0
  42. package/dist/session.d.ts +45 -0
  43. package/dist/session.js +75 -0
  44. package/dist/transaction.d.ts +42 -0
  45. package/dist/transaction.js +89 -0
  46. package/dist/types/bulk_import.d.ts +53 -0
  47. package/dist/types/bulk_import.js +6 -0
  48. package/dist/types/data_types.d.ts +116 -0
  49. package/dist/types/data_types.js +122 -0
  50. package/dist/types/enums.d.ts +59 -0
  51. package/dist/types/enums.js +67 -0
  52. package/dist/types/graph_models.d.ts +54 -0
  53. package/dist/types/graph_models.js +6 -0
  54. package/dist/types/index.d.ts +11 -5
  55. package/dist/types/index.js +36 -37
  56. package/dist/types/metadata.d.ts +60 -0
  57. package/dist/types/metadata.js +6 -0
  58. package/dist/types/schema.d.ts +31 -0
  59. package/dist/types/schema.js +6 -0
  60. package/dist/types/typed_value.d.ts +25 -0
  61. package/dist/types/typed_value.js +1176 -0
  62. package/dist/types/wrappers.d.ts +23 -0
  63. package/dist/types/wrappers.js +39 -0
  64. package/dist/types.d.ts +7 -0
  65. package/dist/types.js +24 -0
  66. package/package.json +49 -62
  67. package/dist/connection/connection.final.d.ts +0 -14
  68. package/dist/connection/connection.final.js +0 -94
  69. package/dist/connection/connection.final.js.map +0 -1
  70. package/dist/connection/connection.pool.d.ts +0 -21
  71. package/dist/connection/connection.pool.js +0 -103
  72. package/dist/connection/connection.pool.js.map +0 -1
  73. package/dist/connection/extra/algos/algo.extra.d.ts +0 -34
  74. package/dist/connection/extra/algos/algo.extra.js +0 -69
  75. package/dist/connection/extra/algos/algo.extra.js.map +0 -1
  76. package/dist/connection/extra/algos/algo.utils.d.ts +0 -3
  77. package/dist/connection/extra/algos/algo.utils.js +0 -54
  78. package/dist/connection/extra/algos/algo.utils.js.map +0 -1
  79. package/dist/connection/extra/algos/community.d.ts +0 -27
  80. package/dist/connection/extra/algos/community.js +0 -76
  81. package/dist/connection/extra/algos/community.js.map +0 -1
  82. package/dist/connection/extra/algos/degrees.d.ts +0 -10
  83. package/dist/connection/extra/algos/degrees.js +0 -24
  84. package/dist/connection/extra/algos/degrees.js.map +0 -1
  85. package/dist/connection/extra/algos/embedding.d.ts +0 -13
  86. package/dist/connection/extra/algos/embedding.js +0 -33
  87. package/dist/connection/extra/algos/embedding.js.map +0 -1
  88. package/dist/connection/extra/algos/index.d.ts +0 -5
  89. package/dist/connection/extra/algos/index.js +0 -14
  90. package/dist/connection/extra/algos/index.js.map +0 -1
  91. package/dist/connection/extra/base.extra.d.ts +0 -18
  92. package/dist/connection/extra/base.extra.js +0 -111
  93. package/dist/connection/extra/base.extra.js.map +0 -1
  94. package/dist/connection/extra/batch.insert.extra.d.ts +0 -58
  95. package/dist/connection/extra/batch.insert.extra.js +0 -354
  96. package/dist/connection/extra/batch.insert.extra.js.map +0 -1
  97. package/dist/connection/extra/connection.base.d.ts +0 -112
  98. package/dist/connection/extra/connection.base.js +0 -530
  99. package/dist/connection/extra/connection.base.js.map +0 -1
  100. package/dist/connection/extra/connection.d.ts +0 -17
  101. package/dist/connection/extra/connection.js +0 -44
  102. package/dist/connection/extra/connection.js.map +0 -1
  103. package/dist/connection/extra/graph.extra.d.ts +0 -54
  104. package/dist/connection/extra/graph.extra.js +0 -151
  105. package/dist/connection/extra/graph.extra.js.map +0 -1
  106. package/dist/connection/extra/hdc.extra.d.ts +0 -89
  107. package/dist/connection/extra/hdc.extra.js +0 -322
  108. package/dist/connection/extra/hdc.extra.js.map +0 -1
  109. package/dist/connection/extra/index.extra.d.ts +0 -102
  110. package/dist/connection/extra/index.extra.js +0 -210
  111. package/dist/connection/extra/index.extra.js.map +0 -1
  112. package/dist/connection/extra/job.extra.d.ts +0 -32
  113. package/dist/connection/extra/job.extra.js +0 -122
  114. package/dist/connection/extra/job.extra.js.map +0 -1
  115. package/dist/connection/extra/meta.extra.d.ts +0 -36
  116. package/dist/connection/extra/meta.extra.js +0 -123
  117. package/dist/connection/extra/meta.extra.js.map +0 -1
  118. package/dist/connection/extra/policy.extra.d.ts +0 -32
  119. package/dist/connection/extra/policy.extra.js +0 -114
  120. package/dist/connection/extra/policy.extra.js.map +0 -1
  121. package/dist/connection/extra/privilege.extra.d.ts +0 -8
  122. package/dist/connection/extra/privilege.extra.js +0 -20
  123. package/dist/connection/extra/privilege.extra.js.map +0 -1
  124. package/dist/connection/extra/property.extra.d.ts +0 -66
  125. package/dist/connection/extra/property.extra.js +0 -190
  126. package/dist/connection/extra/property.extra.js.map +0 -1
  127. package/dist/connection/extra/schema.extra.d.ts +0 -108
  128. package/dist/connection/extra/schema.extra.js +0 -253
  129. package/dist/connection/extra/schema.extra.js.map +0 -1
  130. package/dist/connection/extra/search.extra.d.ts +0 -12
  131. package/dist/connection/extra/search.extra.js +0 -117
  132. package/dist/connection/extra/search.extra.js.map +0 -1
  133. package/dist/connection/extra/task.extra.d.ts +0 -24
  134. package/dist/connection/extra/task.extra.js +0 -107
  135. package/dist/connection/extra/task.extra.js.map +0 -1
  136. package/dist/connection/extra/user.extra.d.ts +0 -28
  137. package/dist/connection/extra/user.extra.js +0 -91
  138. package/dist/connection/extra/user.extra.js.map +0 -1
  139. package/dist/connection/extra/user.privilege.extra.d.ts +0 -64
  140. package/dist/connection/extra/user.privilege.extra.js +0 -273
  141. package/dist/connection/extra/user.privilege.extra.js.map +0 -1
  142. package/dist/connection/index.d.ts +0 -5
  143. package/dist/connection/index.js +0 -13
  144. package/dist/connection/index.js.map +0 -1
  145. package/dist/connection/network.manager.d.ts +0 -28
  146. package/dist/connection/network.manager.js +0 -179
  147. package/dist/connection/network.manager.js.map +0 -1
  148. package/dist/index.js.map +0 -1
  149. package/dist/printers/alias.d.ts +0 -2
  150. package/dist/printers/alias.js +0 -39
  151. package/dist/printers/alias.js.map +0 -1
  152. package/dist/printers/any.d.ts +0 -2
  153. package/dist/printers/any.js +0 -63
  154. package/dist/printers/any.js.map +0 -1
  155. package/dist/printers/array.aio.d.ts +0 -3
  156. package/dist/printers/array.aio.js +0 -259
  157. package/dist/printers/array.aio.js.map +0 -1
  158. package/dist/printers/common.d.ts +0 -0
  159. package/dist/printers/common.js +0 -1
  160. package/dist/printers/common.js.map +0 -1
  161. package/dist/printers/edge.d.ts +0 -5
  162. package/dist/printers/edge.js +0 -78
  163. package/dist/printers/edge.js.map +0 -1
  164. package/dist/printers/explain.plan.d.ts +0 -2
  165. package/dist/printers/explain.plan.js +0 -46
  166. package/dist/printers/explain.plan.js.map +0 -1
  167. package/dist/printers/index.d.ts +0 -24
  168. package/dist/printers/index.js +0 -43
  169. package/dist/printers/index.js.map +0 -1
  170. package/dist/printers/node.d.ts +0 -5
  171. package/dist/printers/node.js +0 -77
  172. package/dist/printers/node.js.map +0 -1
  173. package/dist/printers/path.d.ts +0 -3
  174. package/dist/printers/path.js +0 -62
  175. package/dist/printers/path.js.map +0 -1
  176. package/dist/printers/status.d.ts +0 -3
  177. package/dist/printers/status.js +0 -68
  178. package/dist/printers/status.js.map +0 -1
  179. package/dist/printers/table.d.ts +0 -2
  180. package/dist/printers/table.js +0 -56
  181. package/dist/printers/table.js.map +0 -1
  182. package/dist/proto/tmp.js +0 -366
  183. package/dist/proto/ultipa_grpc_pb.d.ts +0 -258
  184. package/dist/proto/ultipa_grpc_pb.js +0 -366
  185. package/dist/proto/ultipa_grpc_pb.js.map +0 -1
  186. package/dist/proto/ultipa_pb.d.ts +0 -1
  187. package/dist/proto/ultipa_pb.js +0 -12119
  188. package/dist/proto/ultipa_pb.js.map +0 -1
  189. package/dist/types/index.js.map +0 -1
  190. package/dist/types/types.algos.params.d.ts +0 -545
  191. package/dist/types/types.algos.params.js +0 -16
  192. package/dist/types/types.algos.params.js.map +0 -1
  193. package/dist/types/types.d.ts +0 -1214
  194. package/dist/types/types.extra.d.ts +0 -146
  195. package/dist/types/types.extra.js +0 -27
  196. package/dist/types/types.extra.js.map +0 -1
  197. package/dist/types/types.js +0 -1606
  198. package/dist/types/types.js.map +0 -1
  199. package/dist/types/util.d.ts +0 -15
  200. package/dist/types/util.js +0 -136
  201. package/dist/types/util.js.map +0 -1
  202. package/dist/utils/common.d.ts +0 -3
  203. package/dist/utils/common.js +0 -22
  204. package/dist/utils/common.js.map +0 -1
  205. package/dist/utils/config.d.ts +0 -3
  206. package/dist/utils/config.js +0 -7
  207. package/dist/utils/config.js.map +0 -1
  208. package/dist/utils/format.d.ts +0 -45
  209. package/dist/utils/format.js +0 -879
  210. package/dist/utils/format.js.map +0 -1
  211. package/dist/utils/index.d.ts +0 -10
  212. package/dist/utils/index.js +0 -30
  213. package/dist/utils/index.js.map +0 -1
  214. package/dist/utils/params.validate.d.ts +0 -4
  215. package/dist/utils/params.validate.js +0 -14
  216. package/dist/utils/params.validate.js.map +0 -1
  217. package/dist/utils/property.d.ts +0 -24
  218. package/dist/utils/property.js +0 -203
  219. package/dist/utils/property.js.map +0 -1
  220. package/dist/utils/raft.retry.d.ts +0 -0
  221. package/dist/utils/raft.retry.js +0 -1
  222. package/dist/utils/raft.retry.js.map +0 -1
  223. package/dist/utils/serialize/commont.d.ts +0 -12
  224. package/dist/utils/serialize/commont.js +0 -46
  225. package/dist/utils/serialize/commont.js.map +0 -1
  226. package/dist/utils/serialize/deserialize.d.ts +0 -10
  227. package/dist/utils/serialize/deserialize.js +0 -288
  228. package/dist/utils/serialize/deserialize.js.map +0 -1
  229. package/dist/utils/serialize/null.d.ts +0 -32
  230. package/dist/utils/serialize/null.js +0 -178
  231. package/dist/utils/serialize/null.js.map +0 -1
  232. package/dist/utils/serialize/serialize.d.ts +0 -10
  233. package/dist/utils/serialize/serialize.js +0 -146
  234. package/dist/utils/serialize/serialize.js.map +0 -1
  235. package/dist/utils/stream.helper.d.ts +0 -10
  236. package/dist/utils/stream.helper.js +0 -71
  237. package/dist/utils/stream.helper.js.map +0 -1
  238. package/dist/utils/time.record.d.ts +0 -15
  239. package/dist/utils/time.record.js +0 -52
  240. package/dist/utils/time.record.js.map +0 -1
  241. package/dist/utils/timezone.d.ts +0 -7
  242. package/dist/utils/timezone.js +0 -21
  243. package/dist/utils/timezone.js.map +0 -1
  244. package/dist/utils/ultipa.datetime.d.ts +0 -14
  245. package/dist/utils/ultipa.datetime.js +0 -160
  246. package/dist/utils/ultipa.datetime.js.map +0 -1
  247. package/dist/utils/uql-maker.d.ts +0 -165
  248. package/dist/utils/uql-maker.js +0 -402
  249. package/dist/utils/uql-maker.js.map +0 -1
  250. package/dist/utils/uql.parse.d.ts +0 -27
  251. package/dist/utils/uql.parse.js +0 -205
  252. package/dist/utils/uql.parse.js.map +0 -1
  253. package/readme.md +0 -65
  254. package/src/proto/build.sh +0 -41
  255. package/src/proto/build_windows.sh +0 -40
  256. package/src/proto/ultipa.proto +0 -531
  257. package/src/proto/ultipa_grpc_pb.d.ts +0 -92
  258. package/src/proto/ultipa_grpc_pb.js +0 -414
  259. package/src/proto/ultipa_pb.d.ts +0 -1983
  260. package/src/proto/ultipa_pb.js +0 -14852
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphExra = void 0;
4
- const connection_base_1 = require("./connection.base");
5
- const utils_1 = require("../../utils");
6
- const types_1 = require("../../types/types");
7
- const types_extra_1 = require("../../types/types.extra");
8
- const CommandList = utils_1.UQLMAKER.CommandList;
9
- class GraphExra extends connection_base_1.ConnectionBase {
10
- /**
11
- * retrieve all graphs, graphs should contain total of nodes and edges.
12
- * @example client.showGraph(config)
13
- */
14
- async showGraph(config) {
15
- let command = CommandList.showGraph;
16
- let uqlMaker = new utils_1.UQLMAKER(command, config);
17
- uqlMaker.addEmptyParam("more", true);
18
- let res = await this.uql(uqlMaker.toString(), config);
19
- return res.items[types_extra_1.ResponseTableName.GRAPH]?.asGraphSets();
20
- }
21
- /**
22
- * Retrieves all GraphSets from the database.
23
- * TODO delete param partitionByHash
24
- */
25
- async createGraph(graphSet, config) {
26
- if (!graphSet.name) {
27
- throw new Error("The name of graphSet connot be null.");
28
- }
29
- if (graphSet.shards && !(graphSet.partitionBy)) {
30
- throw new Error("The partitionBy cannot be null.");
31
- }
32
- let gql = `CREATE GRAPH ${graphSet.name} {} `;
33
- (graphSet.shards) && (gql += `PARTITION BY HASH(${graphSet.partitionBy}) SHARDS [${graphSet.shards.map(i => +i)}] `);
34
- (graphSet.description) && (gql += `COMMENT "${graphSet.description}" `);
35
- return this.gql(gql, config);
36
- }
37
- /**
38
- * Creates a new GraphSet in the database, handling cases where the given GraphSet name already exists by ignoring the error.
39
- * @param graph
40
- * @param partitionByHash
41
- * @param config
42
- * @returns
43
- */
44
- async createGraphIfNotExist(graphSet, config) {
45
- let isGraphExit = await this.hasGraph(graphSet.name, config);
46
- if (isGraphExit) {
47
- return {
48
- response: {
49
- status: utils_1.FormatResponse.successStatus(),
50
- statistics: utils_1.FormatResponse.statisticsSum(),
51
- },
52
- exist: true
53
- };
54
- }
55
- let res = await this.createGraph(graphSet, config);
56
- return {
57
- response: res,
58
- exist: false
59
- };
60
- }
61
- /**
62
- * Retrieves one GraphSet from the database by its name.
63
- */
64
- async getGraph(graphName, config) {
65
- let command = CommandList.getGraph;
66
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
67
- uqlMaker.addEmptyParam("more", true);
68
- let res = await this.uql(uqlMaker.toString(), config);
69
- return res.items[types_extra_1.ResponseTableName.GRAPH]?.asGraphSets()?.pop();
70
- }
71
- /**
72
- * Checks the existence of a GraphSet in the database by its name.
73
- */
74
- async hasGraph(graphName, config) {
75
- let res = await this.getGraph(graphName, config);
76
- return res ? true : false;
77
- }
78
- /**
79
- * Drops one GraphSet from the database by its name.
80
- * @param graphName
81
- * @param config
82
- * @returns Response
83
- */
84
- async dropGraph(graphName, config) {
85
- let command = CommandList.dropGraph;
86
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
87
- return this.uql(uqlMaker.toString(), config);
88
- }
89
- /**
90
- * Alters the name and description of one existing GraphSet in the database by its name.
91
- */
92
- async alterGraph(graphName, alterGraphset, config) {
93
- let command = CommandList.updateGraph;
94
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
95
- let set = {};
96
- if (alterGraphset.name) {
97
- set.name = alterGraphset.name;
98
- }
99
- if ((0, utils_1.isNotNullString)(alterGraphset.description)) {
100
- set.description = alterGraphset.description;
101
- }
102
- uqlMaker.addParam("set", set);
103
- return this.uql(uqlMaker.toString(), config);
104
- }
105
- /**
106
- * Compacts a GraphSet by clearing its invalid and redundant data on the server disk. Valid data will not be affected.
107
- */
108
- async compact(graphName, config) {
109
- let command = CommandList.compact;
110
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
111
- let res = await this.uql(uqlMaker.toString(), config);
112
- return {
113
- statisics: res.statistics,
114
- status: utils_1.FormatResponse.successStatus(),
115
- jobId: res.items[types_extra_1.ResponseTableName.JOB_RESULT].asTable().toKV().pop().new_job_id
116
- };
117
- }
118
- /**
119
- * Truncates (Deletes) the specified nodes or edges in the given GraphSet or truncates the entire GraphSet.
120
- * Note that truncating nodes will cause the deletion of edges attached to those affected nodes.
121
- * The truncating operation retains the definition of schemas and properties while deleting the data.
122
- * @param params TruncateParams object containing graphName, schemaName and dbType
123
- * @param config Optional request configuration
124
- */
125
- async truncate(params, config) {
126
- let { graphName, schemaName, dbType } = params;
127
- if (!graphName) {
128
- throw new Error("GraphName cannot be null.");
129
- }
130
- let command = CommandList.truncate;
131
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
132
- let scope = "*";
133
- if (schemaName) {
134
- if (dbType === undefined) {
135
- throw new Error("DbType is required when schema is specified.");
136
- }
137
- if (schemaName !== "*") {
138
- scope = utils_1.UQLMAKER.SchemaStringWithDefault(schemaName);
139
- }
140
- if (dbType === types_1.DBType.DBNODE) {
141
- uqlMaker.addParam("nodes", scope);
142
- }
143
- else if (dbType === types_1.DBType.DBEDGE) {
144
- uqlMaker.addParam("edges", scope);
145
- }
146
- }
147
- return this.uqlResponse(uqlMaker, config);
148
- }
149
- }
150
- exports.GraphExra = GraphExra;
151
- //# sourceMappingURL=graph.extra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.extra.js","sourceRoot":"","sources":["../../../src/connection/extra/graph.extra.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import { ConnectionBase } from "./connection.base";
2
- import { HDCGraph, JobResponse, RequestConfig, Response, HDCSyncType, Algo } from "../../types/types";
3
- export declare const FORMAT_ALGO: (algo: any) => Algo;
4
- export declare enum HDCDirection {
5
- OUT = "out",
6
- IN = "in",
7
- UNDIRECTED = "undirected"
8
- }
9
- export declare class HDCBuilder {
10
- syncType?: HDCSyncType;
11
- hdcGraphName: string;
12
- hdcServerName: string;
13
- nodeSchema?: Map<string, string[]>;
14
- edgeSchema?: Map<string, string[]>;
15
- direction?: HDCDirection;
16
- loadId?: boolean;
17
- isDefault?: boolean;
18
- }
19
- export declare class HDCExtra extends ConnectionBase {
20
- /**
21
- * Show HDC graph
22
- * @param hdcGraphName
23
- * @param config
24
- * @returns
25
- */
26
- showHDCGraph(config?: RequestConfig): Promise<HDCGraph[]>;
27
- /**
28
- * Drop HDC graph
29
- * @param hdcGraphName
30
- * @param config
31
- * @returns
32
- */
33
- dropHDCGraph(hdcGraphName: string, config?: RequestConfig): Promise<Response>;
34
- /**
35
- * Create HDC graph by schema
36
- * @param hdcGraphName
37
- * @param nodeSchemas
38
- * @param edgeSchemas
39
- * @param hdcName
40
- * @param update
41
- * @param config
42
- */
43
- createHDCGraphBySchema(builder: HDCBuilder, config?: RequestConfig): Promise<JobResponse>;
44
- /**
45
- * Show HDC algo
46
- * @param hdcServerName
47
- * @param config
48
- */
49
- showHDCAlgo(hdcServerName: string, config?: RequestConfig): Promise<Algo[]>;
50
- /**
51
- * Uninstalls an Ultipa graph algorithm in the instance.
52
- * @param algoName
53
- * @param hdcServerName
54
- * @param config
55
- * @returns Response<boolean>
56
- */
57
- uninstallHDCAlgo(algoName: string, hdcServerName: string, config?: RequestConfig): Promise<Response>;
58
- /**
59
- * Rollback algo
60
- * @param algoName
61
- * @param hdcServerName
62
- * @param config
63
- * @returns Response<boolean>
64
- */
65
- rollbackHDCAlgo(algoName: string, hdcServerName: string, config?: RequestConfig): Promise<Response>;
66
- /**
67
- *Installs an Ultipa graph algorithm in the instance. files includes all file paths required to install the algo.
68
- * @param soFile
69
- * @param ymlFile
70
- * @param hdcName
71
- * @param config
72
- * @returns Response<boolean>
73
- */
74
- installHDCAlgo(files: string[], hdcServerName: string, config?: RequestConfig): Promise<Response>;
75
- /**
76
- * install algo aio
77
- * @param req
78
- * @param config
79
- * @returns
80
- */
81
- private installAlgoAio;
82
- /**
83
- * install algo
84
- * @param req
85
- * @param config
86
- * @returns
87
- * */
88
- private _installAlgo;
89
- }
@@ -1,322 +0,0 @@
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.HDCExtra = exports.HDCBuilder = exports.HDCDirection = exports.FORMAT_ALGO = void 0;
7
- const connection_base_1 = require("./connection.base");
8
- const utils_1 = require("../..//utils");
9
- const ultipa_pb_1 = require("../../proto/ultipa_pb");
10
- const types_1 = require("../../types/types");
11
- const path_1 = __importDefault(require("path"));
12
- const fs_extra_1 = __importDefault(require("fs-extra"));
13
- const crypto_1 = __importDefault(require("crypto"));
14
- const types_extra_1 = require("../../types/types.extra");
15
- const { CommandList } = utils_1.UQLMAKER;
16
- const FORMAT_ALGO = (algo) => {
17
- return {
18
- name: algo.name,
19
- type: algo.type,
20
- writeSupportType: algo.write_support_type,
21
- canRollback: algo.can_rollback,
22
- configContext: algo.config_context,
23
- version: algo.version,
24
- params: algo.params,
25
- description: algo.description,
26
- };
27
- };
28
- exports.FORMAT_ALGO = FORMAT_ALGO;
29
- var HDCDirection;
30
- (function (HDCDirection) {
31
- HDCDirection["OUT"] = "out";
32
- HDCDirection["IN"] = "in";
33
- HDCDirection["UNDIRECTED"] = "undirected";
34
- })(HDCDirection = exports.HDCDirection || (exports.HDCDirection = {}));
35
- class HDCBuilder {
36
- syncType = types_1.HDCSyncType.STATIC;
37
- hdcGraphName;
38
- hdcServerName;
39
- nodeSchema;
40
- edgeSchema;
41
- direction = HDCDirection.UNDIRECTED;
42
- loadId = true;
43
- isDefault = false;
44
- }
45
- exports.HDCBuilder = HDCBuilder;
46
- class HDCExtra extends connection_base_1.ConnectionBase {
47
- /**
48
- * Show HDC graph
49
- * @param hdcGraphName
50
- * @param config
51
- * @returns
52
- */
53
- async showHDCGraph(config) {
54
- let command = CommandList.showHDCGraph;
55
- let uqlMaker = new utils_1.UQLMAKER(command, config);
56
- let res = await this.uql(uqlMaker.toString(), config);
57
- return res.items[types_extra_1.ResponseTableName.HDC_GRAPH_LIST].asHDCGraphs();
58
- }
59
- /**
60
- * Drop HDC graph
61
- * @param hdcGraphName
62
- * @param config
63
- * @returns
64
- */
65
- async dropHDCGraph(hdcGraphName, config) {
66
- let command = CommandList.dropHDCGraph;
67
- let uqlMaker = new utils_1.UQLMAKER(command, config, hdcGraphName);
68
- return this.uql(uqlMaker.toString(), config);
69
- }
70
- /**
71
- * Create HDC graph by schema
72
- * @param hdcGraphName
73
- * @param nodeSchemas
74
- * @param edgeSchemas
75
- * @param hdcName
76
- * @param update
77
- * @param config
78
- */
79
- async createHDCGraphBySchema(builder, config) {
80
- let command = CommandList.createHDCGraph;
81
- let req = {
82
- nodes: Object.fromEntries(builder.nodeSchema),
83
- edges: Object.fromEntries(builder.edgeSchema),
84
- direction: builder.direction,
85
- load_id: builder.loadId,
86
- update: builder.syncType,
87
- query: "query",
88
- default: builder.isDefault
89
- };
90
- let commandP = [builder.hdcServerName, builder.hdcGraphName, req];
91
- let uqlMaker = new utils_1.UQLMAKER(command, config, commandP);
92
- let res = await this.gql('CALL ' + uqlMaker.toString(), config);
93
- return {
94
- status: utils_1.FormatResponse.successStatus(),
95
- statisics: res.statistics,
96
- jobId: res.items[types_extra_1.ResponseTableName.JOB_RESULT]?.asTable()?.toKV()?.pop().new_job_id
97
- };
98
- }
99
- /**
100
- * Show HDC algo
101
- * @param hdcServerName
102
- * @param config
103
- */
104
- async showHDCAlgo(hdcServerName, config) {
105
- let command = utils_1.UQLMAKER.CommandList.showHDCAlgo;
106
- let uqlMaker = new utils_1.UQLMAKER(command, config, hdcServerName);
107
- let res = await this.uql(uqlMaker.toString(), config);
108
- return res.items[types_extra_1.ResponseTableName.ALGO_LIST].asAlgos();
109
- }
110
- /**
111
- * Uninstalls an Ultipa graph algorithm in the instance.
112
- * @param algoName
113
- * @param hdcServerName
114
- * @param config
115
- * @returns Response<boolean>
116
- */
117
- async uninstallHDCAlgo(algoName, hdcServerName, config) {
118
- return new Promise(async (resolve, reject) => {
119
- try {
120
- let clientInfo = await this.getClientInfo({
121
- graphSetName: config?.graph,
122
- isGlobal: true,
123
- timezone: config?.timezone,
124
- timezoneOffset: config?.timezoneOffset,
125
- });
126
- let request = new ultipa_pb_1.UninstallAlgoRequest();
127
- request.setAlgoName(algoName);
128
- if (hdcServerName) {
129
- let with_server = new ultipa_pb_1.WithServer();
130
- with_server.setHdcServerName(hdcServerName);
131
- request.setWithServer(with_server);
132
- }
133
- clientInfo.client.controlsClient.uninstallAlgo(request, clientInfo.metadata, (err, reply) => {
134
- let response = new types_1.Response();
135
- if (err) {
136
- response = utils_1.FormatResponse.unknownError(err, response);
137
- resolve(response);
138
- return;
139
- }
140
- response.status = utils_1.FormatType.status(reply.getStatus()),
141
- resolve(response);
142
- });
143
- }
144
- catch (error) {
145
- reject(error);
146
- }
147
- });
148
- }
149
- /**
150
- * Rollback algo
151
- * @param algoName
152
- * @param hdcServerName
153
- * @param config
154
- * @returns Response<boolean>
155
- */
156
- async rollbackHDCAlgo(algoName, hdcServerName, config) {
157
- return new Promise(async (resolve, reject) => {
158
- try {
159
- let clientInfo = await this.getClientInfo({
160
- graphSetName: config?.graph,
161
- isGlobal: true,
162
- timezone: config?.timezone,
163
- timezoneOffset: config?.timezoneOffset,
164
- });
165
- let request = new ultipa_pb_1.RollbackAlgoRequest();
166
- request.setAlgoName(algoName);
167
- let with_server = new ultipa_pb_1.WithServer();
168
- with_server.setHdcServerName(hdcServerName);
169
- request.setWithServer(with_server);
170
- clientInfo.client.controlsClient.rollbackAlgo(request, clientInfo.metadata, (err, reply) => {
171
- let response = new types_1.Response();
172
- if (err) {
173
- response = utils_1.FormatResponse.unknownError(err, response);
174
- resolve(response);
175
- return;
176
- }
177
- response.status = utils_1.FormatType.status(reply.getStatus()),
178
- resolve(response);
179
- });
180
- }
181
- catch (error) {
182
- reject(error);
183
- }
184
- });
185
- }
186
- /**
187
- *Installs an Ultipa graph algorithm in the instance. files includes all file paths required to install the algo.
188
- * @param soFile
189
- * @param ymlFile
190
- * @param hdcName
191
- * @param config
192
- * @returns Response<boolean>
193
- */
194
- async installHDCAlgo(files, hdcServerName, config) {
195
- const soFile = files.find(file => file.endsWith('.so'));
196
- const ymlFile = files.find(file => file.endsWith('.yml') || file.endsWith('.yaml'));
197
- if (!soFile || !ymlFile) {
198
- throw new Error('Must provide a .so file and a .yml/.yaml file');
199
- }
200
- return this.installAlgoAio({
201
- hdc: hdcServerName,
202
- paths: {
203
- algoFilePath: soFile,
204
- infoFilePath: ymlFile
205
- },
206
- isHdc: true
207
- }, config);
208
- }
209
- /**
210
- * install algo aio
211
- * @param req
212
- * @param config
213
- * @returns
214
- */
215
- async installAlgoAio(req, config) {
216
- if (req.datas) {
217
- return this._installAlgo({
218
- ...req.datas,
219
- isHdc: req?.isHdc
220
- }, config);
221
- }
222
- let filePaths = [req.paths.algoFilePath, req.paths.infoFilePath];
223
- let _req = {
224
- datas: [],
225
- isHdc: req.isHdc,
226
- hdc: req.hdc
227
- };
228
- for (let i = 0; i < filePaths.length; i++) {
229
- const filePath = filePaths[i];
230
- let chunk = fs_extra_1.default.readFileSync(filePath);
231
- let md5 = crypto_1.default.createHash("md5").update(chunk).digest("hex");
232
- let fileName = path_1.default.basename(filePath);
233
- _req.datas.push({
234
- chunk,
235
- md5,
236
- fileName,
237
- });
238
- }
239
- return this._installAlgo(_req, config);
240
- }
241
- /**
242
- * install algo
243
- * @param req
244
- * @param config
245
- * @returns
246
- * */
247
- async _installAlgo(req, config) {
248
- return new Promise(async (resolve, reject) => {
249
- try {
250
- let clientInfo = await this.getClientInfo({
251
- graphSetName: config?.graph,
252
- isGlobal: true,
253
- timezone: config?.timezone,
254
- timezoneOffset: config?.timezoneOffset,
255
- });
256
- let isError = null;
257
- let callback = (err, reply) => {
258
- let response = new types_1.Response();
259
- if (err) {
260
- isError = err;
261
- response = utils_1.FormatResponse.unknownError(err, response);
262
- resolve(response);
263
- return;
264
- }
265
- response.status = utils_1.FormatType.status(reply.getStatus()),
266
- resolve(response);
267
- };
268
- let v = clientInfo.client.controlsClient.installAlgo(clientInfo.metadata, callback);
269
- for (let i = 0; i < req.datas.length; i++) {
270
- if (isError) {
271
- break;
272
- }
273
- const { chunk, md5, fileName } = req.datas[i];
274
- let request = new ultipa_pb_1.InstallAlgoRequest();
275
- request.setFileName(fileName);
276
- request.setMd5(md5);
277
- if (req?.isHdc) {
278
- let ws = new ultipa_pb_1.WithServer();
279
- ws.setHdcServerName(req.hdc);
280
- request.setWithServer(ws);
281
- }
282
- let bufferSize = 1 * 1024 * 1024;
283
- let sum = 0;
284
- console.log("Install Algo", {
285
- fileName,
286
- chunkLength: chunk.length,
287
- md5,
288
- });
289
- for (let index = 0; index < chunk.length; index += bufferSize) {
290
- if (isError) {
291
- break;
292
- }
293
- let sub_chunk = chunk.slice(index, index + bufferSize);
294
- request.setChunk(sub_chunk);
295
- sum += sub_chunk.length;
296
- let sendAlready = async () => {
297
- return new Promise((resolve, reject) => {
298
- v.write(request, null, () => {
299
- // console.log("sending ",index, sub_chunk.length);
300
- resolve(1);
301
- });
302
- });
303
- };
304
- await sendAlready();
305
- }
306
- if (!isError) {
307
- console.log("End and sending sum: ", fileName, sum);
308
- }
309
- }
310
- v.end();
311
- if (!isError) {
312
- console.log(`${JSON.stringify(req.datas.map(o => o.fileName))} upload finished!`);
313
- }
314
- }
315
- catch (error) {
316
- reject(error);
317
- }
318
- });
319
- }
320
- }
321
- exports.HDCExtra = HDCExtra;
322
- //# sourceMappingURL=hdc.extra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hdc.extra.js","sourceRoot":"","sources":["../../../src/connection/extra/hdc.extra.ts"],"names":[],"mappings":";;;;;;AACA,uDAAkD;AAClD,wCAAmE;AACnE,qDAAiH;AACjH,6CAA4G;AAC5G,gDAAuB;AACvB,wDAAyB;AACzB,oDAA2B;AAC3B,yDAA2D;AAE3D,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAQ,CAAA;AAEzB,MAAM,WAAW,GAAG,CAAC,IAAS,EAAQ,EAAE;IAC3C,OAAa;QACT,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;QACzC,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,aAAa,EAAE,IAAI,CAAC,cAAc;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;KAChC,CAAA;AACL,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,yBAAS,CAAA;IACT,yCAAyB,CAAA;AAC7B,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,MAAa,UAAU;IACnB,QAAQ,GAAiB,mBAAW,CAAC,MAAM,CAAC;IAC5C,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,UAAU,CAAyB;IACnC,UAAU,CAAyB;IACnC,SAAS,GAAkB,YAAY,CAAC,UAAU,CAAC;IACnD,MAAM,GAAa,IAAI,CAAC;IACxB,SAAS,GAAa,KAAK,CAAC;CAC/B;AATD,gCASC;AAED,MAAa,QAAS,SAAQ,gCAAc;IACxC;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAAsB;QACrC,IAAI,OAAO,GAAG,WAAW,CAAC,YAAY,CAAA;QACtC,IAAI,QAAQ,GAAG,IAAI,gBAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC5C,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;QACrD,OAAO,GAAG,CAAC,KAAK,CAAC,+BAAiB,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;IACpE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB,EAAE,MAAsB;QAC3D,IAAI,OAAO,GAAG,WAAW,CAAC,YAAY,CAAA;QACtC,IAAI,QAAQ,GAAG,IAAI,gBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IAGD;;;;;;;;OAQG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAAmB,EAAE,MAAsB;QACpE,IAAI,OAAO,GAAG,WAAW,CAAC,cAAc,CAAA;QACxC,IAAI,GAAG,GAAG;YACN,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,MAAM,EAAE,OAAO,CAAC,QAAQ;YACxB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAA;QACD,IAAI,QAAQ,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACjE,IAAI,QAAQ,GAAG,IAAI,gBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;QAC/D,OAAoB;YAChB,MAAM,EAAE,sBAAc,CAAC,aAAa,EAAE;YACtC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,+BAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU;SACtF,CAAA;IACL,CAAC;IAED;;;;MAIE;IACF,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,MAAsB;QAE3D,IAAI,OAAO,GAAG,gBAAQ,CAAC,WAAW,CAAC,WAAW,CAAA;QAC9C,IAAI,QAAQ,GAAG,IAAI,gBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;QACrD,OAAO,GAAG,CAAC,KAAK,CAAC,+BAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;IAC3D,CAAC;IAGD;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,aAAqB,EAAE,MAAsB;QAClF,OAAO,IAAI,OAAO,CAAW,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI;gBACA,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;oBACtC,YAAY,EAAE,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;oBAC1B,cAAc,EAAE,MAAM,EAAE,cAAc;iBACzC,CAAC,CAAA;gBACF,IAAI,OAAO,GAAG,IAAI,gCAAoB,EAAE,CAAA;gBACxC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;gBAC7B,IAAI,aAAa,EAAE;oBACf,IAAI,WAAW,GAAG,IAAI,sBAAU,EAAE,CAAC;oBACnC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;oBAC5C,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;iBACrC;gBACD,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACxF,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAA;oBAC7B,IAAI,GAAG,EAAE;wBACL,QAAQ,GAAG,sBAAc,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;wBACrD,OAAO,CAAC,QAAQ,CAAC,CAAA;wBACjB,OAAM;qBACT;oBACD,QAAQ,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;aACL;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,CAAA;aAChB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,aAAqB,EAAE,MAAsB;QACjF,OAAO,IAAI,OAAO,CAAW,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI;gBACA,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;oBACtC,YAAY,EAAE,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;oBAC1B,cAAc,EAAE,MAAM,EAAE,cAAc;iBACzC,CAAC,CAAA;gBACF,IAAI,OAAO,GAAG,IAAI,+BAAmB,EAAE,CAAA;gBACvC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;gBAC7B,IAAI,WAAW,GAAG,IAAI,sBAAU,EAAE,CAAA;gBAClC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;gBAC3C,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBAClC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACvF,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAA;oBAC7B,IAAI,GAAG,EAAE;wBACL,QAAQ,GAAG,sBAAc,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;wBACrD,OAAO,CAAC,QAAQ,CAAC,CAAA;wBACjB,OAAM;qBACT;oBACD,QAAQ,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;aACL;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,CAAA;aAChB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAGD;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,KAAe,EAAE,aAAqB,EAAE,MAAsB;QAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,CAAC,cAAc,CACtB;YACI,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE;gBACH,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE,OAAO;aACxB;YACD,KAAK,EAAE,IAAI;SACd,EAAE,MAAM,CACZ,CAAA;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAAC,GAA+B,EAAE,MAAsB;QAChF,IAAI,GAAG,CAAC,KAAK,EAAE;YACX,OAAO,IAAI,CAAC,YAAY,CAAC;gBACrB,GAAG,GAAG,CAAC,KAAK;gBACZ,KAAK,EAAE,GAAG,EAAE,KAAK;aACpB,EAAE,MAAM,CAAC,CAAA;SACb;QACD,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAChE,IAAI,IAAI,GAA6B;YACjC,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;SACf,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YACrC,IAAI,GAAG,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9D,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,GAAG;gBACH,QAAQ;aAEX,CAAC,CAAA;SACL;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED;;;;;SAKK;IACG,KAAK,CAAC,YAAY,CAAC,GAA6B,EAAE,MAAsB;QAC5E,OAAO,IAAI,OAAO,CAAW,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI;gBACA,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;oBACtC,YAAY,EAAE,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;oBAC1B,cAAc,EAAE,MAAM,EAAE,cAAc;iBACzC,CAAC,CAAA;gBACF,IAAI,OAAO,GAAG,IAAI,CAAA;gBAClB,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAC1B,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAA;oBAC7B,IAAI,GAAG,EAAE;wBACL,OAAO,GAAG,GAAG,CAAA;wBACb,QAAQ,GAAG,sBAAc,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;wBACrD,OAAO,CAAC,QAAQ,CAAC,CAAA;wBACjB,OAAM;qBACT;oBACD,QAAQ,CAAC,MAAM,GAAG,kBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACzB,CAAC,CAAA;gBACD,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,OAAO,EAAE;wBACT,MAAK;qBACR;oBACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9C,IAAI,OAAO,GAAG,IAAI,8BAAkB,EAAE,CAAA;oBACtC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBACnB,IAAI,GAAG,EAAE,KAAK,EAAE;wBACZ,IAAI,EAAE,GAAG,IAAI,sBAAU,EAAE,CAAA;wBACzB,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC5B,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;qBAC5B;oBACD,IAAI,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;oBAChC,IAAI,GAAG,GAAG,CAAC,CAAA;oBACX,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;wBACxB,QAAQ;wBACR,WAAW,EAAE,KAAK,CAAC,MAAM;wBACzB,GAAG;qBACN,CAAC,CAAC;oBACH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,UAAU,EAAE;wBAC3D,IAAI,OAAO,EAAE;4BACT,MAAK;yBACR;wBACD,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,CAAA;wBACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;wBAC3B,GAAG,IAAI,SAAS,CAAC,MAAM,CAAA;wBACvB,IAAI,WAAW,GAAG,KAAK,IAAI,EAAE;4BACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gCACnC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;oCACxB,mDAAmD;oCACnD,OAAO,CAAC,CAAC,CAAC,CAAA;gCACd,CAAC,CAAC,CAAA;4BACN,CAAC,CAAC,CAAA;wBACN,CAAC,CAAA;wBACD,MAAM,WAAW,EAAE,CAAA;qBACtB;oBACD,IAAI,CAAC,OAAO,EAAE;wBACV,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;qBACtD;iBACJ;gBACD,CAAC,CAAC,GAAG,EAAE,CAAA;gBACP,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAA;iBACpF;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,CAAA;aAChB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CAIJ;AAjSD,4BAiSC"}