@ultipa-graph/ultipa-driver 5.1.5-s5.2 → 6.0.4

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 +196 -0
  4. package/dist/client.js +394 -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 +689 -0
  16. package/dist/response.d.ts +256 -0
  17. package/dist/response.js +723 -0
  18. package/dist/services/admin-service.d.ts +44 -0
  19. package/dist/services/admin-service.js +168 -0
  20. package/dist/services/bulk-import-service.d.ts +35 -0
  21. package/dist/services/bulk-import-service.js +105 -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 +107 -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 +50 -63
  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
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Admin service handles administrative operations.
3
+ */
4
+ import { ServiceContext } from './service-context';
5
+ import { CacheStats, CacheType, Statistics, CompactResult, ComputeTopologyResult, SystemMetrics } from '../types';
6
+ /**
7
+ * Admin service for administrative operations.
8
+ */
9
+ export declare class AdminService {
10
+ private ctx;
11
+ constructor(ctx: ServiceContext);
12
+ /**
13
+ * Pre-allocate parser instances.
14
+ */
15
+ warmupParser(count: number): Promise<void>;
16
+ /**
17
+ * Return cache statistics.
18
+ */
19
+ getCacheStats(cacheType?: CacheType): Promise<CacheStats>;
20
+ /**
21
+ * Clear the specified cache.
22
+ */
23
+ clearCache(cacheType?: CacheType): Promise<void>;
24
+ /**
25
+ * Return database statistics.
26
+ */
27
+ getStatistics(graphName?: string): Promise<Statistics>;
28
+ /**
29
+ * Invalidate the RBAC permission cache.
30
+ */
31
+ invalidatePermissionCache(username?: string): Promise<void>;
32
+ /**
33
+ * Trigger manual compaction of the database storage.
34
+ */
35
+ compact(): Promise<CompactResult>;
36
+ /**
37
+ * Return system-level metrics (CPU, memory, disk I/O, storage, network).
38
+ */
39
+ getSystemMetrics(): Promise<SystemMetrics>;
40
+ /**
41
+ * Wait for the computing engine topology to be ready.
42
+ */
43
+ waitForComputeTopology(graphName: string, timeoutMs?: number): Promise<ComputeTopologyResult>;
44
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ /**
3
+ * Admin service handles administrative operations.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AdminService = void 0;
7
+ const types_1 = require("../types");
8
+ const services_1 = require("../services");
9
+ const converters_1 = require("./converters");
10
+ /**
11
+ * Admin service for administrative operations.
12
+ */
13
+ class AdminService {
14
+ ctx;
15
+ constructor(ctx) {
16
+ this.ctx = ctx;
17
+ }
18
+ /**
19
+ * Pre-allocate parser instances.
20
+ */
21
+ async warmupParser(count) {
22
+ const metadata = this.ctx.getSessionMetadata();
23
+ await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'WarmupParser', { count }, metadata);
24
+ }
25
+ /**
26
+ * Return cache statistics.
27
+ */
28
+ async getCacheStats(cacheType = types_1.CacheType.ALL) {
29
+ const metadata = this.ctx.getSessionMetadata();
30
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'GetCacheStats', { cache_type: (0, converters_1.cacheTypeToProto)(cacheType) }, metadata);
31
+ return {
32
+ astStats: response.ast_stats
33
+ ? {
34
+ hits: parseInt(response.ast_stats.hits || '0', 10),
35
+ misses: parseInt(response.ast_stats.misses || '0', 10),
36
+ evictions: parseInt(response.ast_stats.evictions || '0', 10),
37
+ entries: response.ast_stats.entries || 0,
38
+ hitRate: response.ast_stats.hit_rate || 0,
39
+ }
40
+ : undefined,
41
+ planStats: response.plan_stats
42
+ ? {
43
+ size: response.plan_stats.size || 0,
44
+ capacity: response.plan_stats.capacity || 0,
45
+ hits: parseInt(response.plan_stats.hits || '0', 10),
46
+ misses: parseInt(response.plan_stats.misses || '0', 10),
47
+ hitRate: response.plan_stats.hit_rate || 0,
48
+ }
49
+ : undefined,
50
+ };
51
+ }
52
+ /**
53
+ * Clear the specified cache.
54
+ */
55
+ async clearCache(cacheType = types_1.CacheType.ALL) {
56
+ const metadata = this.ctx.getSessionMetadata();
57
+ await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'ClearCache', { cache_type: (0, converters_1.cacheTypeToProto)(cacheType) }, metadata);
58
+ }
59
+ /**
60
+ * Return database statistics.
61
+ */
62
+ async getStatistics(graphName = '') {
63
+ const metadata = this.ctx.getSessionMetadata();
64
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'GetStatistics', { graph_name: graphName }, metadata);
65
+ const labelCounts = {};
66
+ const edgeLabelCounts = {};
67
+ if (response.label_counts) {
68
+ for (const [key, value] of Object.entries(response.label_counts)) {
69
+ labelCounts[key] = parseInt(value, 10);
70
+ }
71
+ }
72
+ if (response.edge_label_counts) {
73
+ for (const [key, value] of Object.entries(response.edge_label_counts)) {
74
+ edgeLabelCounts[key] = parseInt(value, 10);
75
+ }
76
+ }
77
+ return {
78
+ nodeCount: parseInt(response.node_count || '0', 10),
79
+ edgeCount: parseInt(response.edge_count || '0', 10),
80
+ labelCounts,
81
+ edgeLabelCounts,
82
+ };
83
+ }
84
+ /**
85
+ * Invalidate the RBAC permission cache.
86
+ */
87
+ async invalidatePermissionCache(username = '') {
88
+ const metadata = this.ctx.getSessionMetadata();
89
+ await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'InvalidatePermissionCache', { username }, metadata);
90
+ }
91
+ /**
92
+ * Trigger manual compaction of the database storage.
93
+ */
94
+ async compact() {
95
+ const metadata = this.ctx.getSessionMetadata();
96
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'Compact', {}, metadata);
97
+ return {
98
+ success: response.success || false,
99
+ message: response.message || '',
100
+ };
101
+ }
102
+ /**
103
+ * Return system-level metrics (CPU, memory, disk I/O, storage, network).
104
+ */
105
+ async getSystemMetrics() {
106
+ const metadata = this.ctx.getSessionMetadata();
107
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'GetSystemMetrics', {}, metadata);
108
+ return {
109
+ cpu: response.cpu
110
+ ? {
111
+ processPercent: response.cpu.process_percent || 0,
112
+ systemPercent: response.cpu.system_percent || 0,
113
+ numCores: response.cpu.num_cores || 0,
114
+ }
115
+ : undefined,
116
+ memory: response.memory
117
+ ? {
118
+ processRss: parseInt(response.memory.process_rss || '0', 10),
119
+ heapAlloc: parseInt(response.memory.heap_alloc || '0', 10),
120
+ heapSys: parseInt(response.memory.heap_sys || '0', 10),
121
+ stackInUse: parseInt(response.memory.stack_in_use || '0', 10),
122
+ systemTotal: parseInt(response.memory.system_total || '0', 10),
123
+ systemAvailable: parseInt(response.memory.system_available || '0', 10),
124
+ systemUsed: parseInt(response.memory.system_used || '0', 10),
125
+ systemUsedPercent: response.memory.system_used_percent || 0,
126
+ }
127
+ : undefined,
128
+ diskIO: response.disk_io
129
+ ? {
130
+ readBytes: parseInt(response.disk_io.read_bytes || '0', 10),
131
+ writeBytes: parseInt(response.disk_io.write_bytes || '0', 10),
132
+ readCount: parseInt(response.disk_io.read_count || '0', 10),
133
+ writeCount: parseInt(response.disk_io.write_count || '0', 10),
134
+ }
135
+ : undefined,
136
+ storage: response.storage
137
+ ? {
138
+ dbPath: response.storage.db_path || '',
139
+ dbSizeBytes: parseInt(response.storage.db_size_bytes || '0', 10),
140
+ volumeTotal: parseInt(response.storage.volume_total || '0', 10),
141
+ volumeFree: parseInt(response.storage.volume_free || '0', 10),
142
+ volumeUsed: parseInt(response.storage.volume_used || '0', 10),
143
+ }
144
+ : undefined,
145
+ network: response.network
146
+ ? {
147
+ bytesSent: parseInt(response.network.bytes_sent || '0', 10),
148
+ bytesRecv: parseInt(response.network.bytes_recv || '0', 10),
149
+ packetsSent: parseInt(response.network.packets_sent || '0', 10),
150
+ packetsRecv: parseInt(response.network.packets_recv || '0', 10),
151
+ }
152
+ : undefined,
153
+ };
154
+ }
155
+ /**
156
+ * Wait for the computing engine topology to be ready.
157
+ */
158
+ async waitForComputeTopology(graphName, timeoutMs = 0) {
159
+ const metadata = this.ctx.getSessionMetadata();
160
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'WaitForComputeTopology', { graph_name: graphName, timeout_ms: timeoutMs }, metadata);
161
+ return {
162
+ ready: response.ready || false,
163
+ message: response.message || '',
164
+ };
165
+ }
166
+ }
167
+ exports.AdminService = AdminService;
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9hZG1pbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBR0gsb0NBQWtIO0FBQ2xILDBDQUE0QztBQUM1Qyw2Q0FBZ0Q7QUFFaEQ7O0dBRUc7QUFDSCxNQUFhLFlBQVk7SUFDSDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBQSx3QkFBYSxFQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQzdCLGNBQWMsRUFDZCxFQUFFLEtBQUssRUFBRSxFQUNULFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUF1QixpQkFBUyxDQUFDLEdBQUc7UUFDdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBQSx3QkFBYSxFQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQzdCLGVBQWUsRUFDZixFQUFFLFVBQVUsRUFBRSxJQUFBLDZCQUFnQixFQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQzNDLFFBQVEsQ0FDVCxDQUFDO1FBRUYsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUztnQkFDMUIsQ0FBQyxDQUFDO29CQUNFLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FB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QUFFLEVBQUUsQ0FBQztvQkFDM0QsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUMzRCxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQy9ELFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDaEU7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFNBQWlCLEVBQUUsWUFBb0IsQ0FBQztRQUNuRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQVEsTUFBTSxJQUFBLHdCQUFhLEVBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFDN0Isd0JBQXdCLEVBQ3hCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQ2hELFFBQVEsQ0FDVCxDQUFDO1FBQ0YsT0FBTztZQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLEtBQUs7WUFDOUIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNU1ELG9DQTRNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWRtaW4gc2VydmljZSBoYW5kbGVzIGFkbWluaXN0cmF0aXZlIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgU2VydmljZUNvbnRleHQgfSBmcm9tICcuL3NlcnZpY2UtY29udGV4dCc7XG5pbXBvcnQgeyBDYWNoZVN0YXRzLCBDYWNoZVR5cGUsIFN0YXRpc3RpY3MsIENvbXBhY3RSZXN1bHQsIENvbXB1dGVUb3BvbG9neVJlc3VsdCwgU3lzdGVtTWV0cmljcyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHByb21pc2lmeUNhbGwgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjYWNoZVR5cGVUb1Byb3RvIH0gZnJvbSAnLi9jb252ZXJ0ZXJzJztcblxuLyoqXG4gKiBBZG1pbiBzZXJ2aWNlIGZvciBhZG1pbmlzdHJhdGl2ZSBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgQWRtaW5TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdHg6IFNlcnZpY2VDb250ZXh0KSB7fVxuXG4gIC8qKlxuICAgKiBQcmUtYWxsb2NhdGUgcGFyc2VyIGluc3RhbmNlcy5cbiAgICovXG4gIGFzeW5jIHdhcm11cFBhcnNlcihjb3VudDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcbiAgICBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5hZG1pblNlcnZpY2UsXG4gICAgICAnV2FybXVwUGFyc2VyJyxcbiAgICAgIHsgY291bnQgfSxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gY2FjaGUgc3RhdGlzdGljcy5cbiAgICovXG4gIGFzeW5jIGdldENhY2hlU3RhdHMoY2FjaGVUeXBlOiBDYWNoZVR5cGUgPSBDYWNoZVR5cGUuQUxMKTogUHJvbWlzZTxDYWNoZVN0YXRzPiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcbiAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxuICAgICAgJ0dldENhY2hlU3RhdHMnLFxuICAgICAgeyBjYWNoZV90eXBlOiBjYWNoZVR5cGVUb1Byb3RvKGNhY2hlVHlwZSkgfSxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhc3RTdGF0czogcmVzcG9uc2UuYXN0X3N0YXRzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaGl0czogcGFyc2VJbnQocmVzcG9uc2UuYXN0X3N0YXRzLmhpdHMgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBtaXNzZXM6IHBhcnNlSW50KHJlc3BvbnNlLmFzdF9zdGF0cy5taXNzZXMgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBldmljdGlvbnM6IHBhcnNlSW50KHJlc3BvbnNlLmFzdF9zdGF0cy5ldmljdGlvbnMgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBlbnRyaWVzOiByZXNwb25zZS5hc3Rfc3RhdHMuZW50cmllcyB8fCAwLFxuICAgICAgICAgICAgaGl0UmF0ZTogcmVzcG9uc2UuYXN0X3N0YXRzLmhpdF9yYXRlIHx8IDAsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHBsYW5TdGF0czogcmVzcG9uc2UucGxhbl9zdGF0c1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIHNpemU6IHJlc3BvbnNlLnBsYW5fc3RhdHMuc2l6ZSB8fCAwLFxuICAgICAgICAgICAgY2FwYWNpdHk6IHJlc3BvbnNlLnBsYW5fc3RhdHMuY2FwYWNpdHkgfHwgMCxcbiAgICAgICAgICAgIGhpdHM6IHBhcnNlSW50KHJlc3BvbnNlLnBsYW5fc3RhdHMuaGl0cyB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIG1pc3NlczogcGFyc2VJbnQocmVzcG9uc2UucGxhbl9zdGF0cy5taXNzZXMgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBoaXRSYXRlOiByZXNwb25zZS5wbGFuX3N0YXRzLmhpdF9yYXRlIHx8IDAsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBzcGVjaWZpZWQgY2FjaGUuXG4gICAqL1xuICBhc3luYyBjbGVhckNhY2hlKGNhY2hlVHlwZTogQ2FjaGVUeXBlID0gQ2FjaGVUeXBlLkFMTCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxuICAgICAgJ0NsZWFyQ2FjaGUnLFxuICAgICAgeyBjYWNoZV90eXBlOiBjYWNoZVR5cGVUb1Byb3RvKGNhY2hlVHlwZSkgfSxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gZGF0YWJhc2Ugc3RhdGlzdGljcy5cbiAgICovXG4gIGFzeW5jIGdldFN0YXRpc3RpY3MoZ3JhcGhOYW1lOiBzdHJpbmcgPSAnJyk6IFByb21pc2U8U3RhdGlzdGljcz4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmFkbWluU2VydmljZSxcbiAgICAgICdHZXRTdGF0aXN0aWNzJyxcbiAgICAgIHsgZ3JhcGhfbmFtZTogZ3JhcGhOYW1lIH0sXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICBjb25zdCBsYWJlbENvdW50czogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICAgIGNvbnN0IGVkZ2VMYWJlbENvdW50czogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuXG4gICAgaWYgKHJlc3BvbnNlLmxhYmVsX2NvdW50cykge1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UubGFiZWxfY291bnRzKSkge1xuICAgICAgICBsYWJlbENvdW50c1trZXldID0gcGFyc2VJbnQodmFsdWUgYXMgc3RyaW5nLCAxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc3BvbnNlLmVkZ2VfbGFiZWxfY291bnRzKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXNwb25zZS5lZGdlX2xhYmVsX2NvdW50cykpIHtcbiAgICAgICAgZWRnZUxhYmVsQ291bnRzW2tleV0gPSBwYXJzZUludCh2YWx1ZSBhcyBzdHJpbmcsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbm9kZUNvdW50OiBwYXJzZUludChyZXNwb25zZS5ub2RlX2NvdW50IHx8ICcwJywgMTApLFxuICAgICAgZWRnZUNvdW50OiBwYXJzZUludChyZXNwb25zZS5lZGdlX2NvdW50IHx8ICcwJywgMTApLFxuICAgICAgbGFiZWxDb3VudHMsXG4gICAgICBlZGdlTGFiZWxDb3VudHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZhbGlkYXRlIHRoZSBSQkFDIHBlcm1pc3Npb24gY2FjaGUuXG4gICAqL1xuICBhc3luYyBpbnZhbGlkYXRlUGVybWlzc2lvbkNhY2hlKHVzZXJuYW1lOiBzdHJpbmcgPSAnJyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxuICAgICAgJ0ludmFsaWRhdGVQZXJtaXNzaW9uQ2FjaGUnLFxuICAgICAgeyB1c2VybmFtZSB9LFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgbWFudWFsIGNvbXBhY3Rpb24gb2YgdGhlIGRhdGFiYXNlIHN0b3JhZ2UuXG4gICAqL1xuICBhc3luYyBjb21wYWN0KCk6IFByb21pc2U8Q29tcGFjdFJlc3VsdD4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmFkbWluU2VydmljZSxcbiAgICAgICdDb21wYWN0JyxcbiAgICAgIHt9LFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBzeXN0ZW0tbGV2ZWwgbWV0cmljcyAoQ1BVLCBtZW1vcnksIGRpc2sgSS9PLCBzdG9yYWdlLCBuZXR3b3JrKS5cbiAgICovXG4gIGFzeW5jIGdldFN5c3RlbU1ldHJpY3MoKTogUHJvbWlzZTxTeXN0ZW1NZXRyaWNzPiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcbiAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxuICAgICAgJ0dldFN5c3RlbU1ldHJpY3MnLFxuICAgICAge30sXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3B1OiByZXNwb25zZS5jcHVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwcm9jZXNzUGVyY2VudDogcmVzcG9uc2UuY3B1LnByb2Nlc3NfcGVyY2VudCB8fCAwLFxuICAgICAgICAgICAgc3lzdGVtUGVyY2VudDogcmVzcG9uc2UuY3B1LnN5c3RlbV9wZXJjZW50IHx8IDAsXG4gICAgICAgICAgICBudW1Db3JlczogcmVzcG9uc2UuY3B1Lm51bV9jb3JlcyB8fCAwLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBtZW1vcnk6IHJlc3BvbnNlLm1lbW9yeVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHByb2Nlc3NSc3M6IHBhcnNlSW50KHJlc3BvbnNlLm1lbW9yeS5wcm9jZXNzX3JzcyB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIGhlYXBBbGxvYzogcGFyc2VJbnQocmVzcG9uc2UubWVtb3J5LmhlYXBfYWxsb2MgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBoZWFwU3lzOiBwYXJzZUludChyZXNwb25zZS5tZW1vcnkuaGVhcF9zeXMgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBzdGFja0luVXNlOiBwYXJzZUludChyZXNwb25zZS5tZW1vcnkuc3RhY2tfaW5fdXNlIHx8ICcwJywgMTApLFxuICAgICAgICAgICAgc3lzdGVtVG90YWw6IHBhcnNlSW50KHJlc3BvbnNlLm1lbW9yeS5zeXN0ZW1fdG90YWwgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBzeXN0ZW1BdmFpbGFibGU6IHBhcnNlSW50KHJlc3BvbnNlLm1lbW9yeS5zeXN0ZW1fYXZhaWxhYmxlIHx8ICcwJywgMTApLFxuICAgICAgICAgICAgc3lzdGVtVXNlZDogcGFyc2VJbnQocmVzcG9uc2UubWVtb3J5LnN5c3RlbV91c2VkIHx8ICcwJywgMTApLFxuICAgICAgICAgICAgc3lzdGVtVXNlZFBlcmNlbnQ6IHJlc3BvbnNlLm1lbW9yeS5zeXN0ZW1fdXNlZF9wZXJjZW50IHx8IDAsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRpc2tJTzogcmVzcG9uc2UuZGlza19pb1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIHJlYWRCeXRlczogcGFyc2VJbnQocmVzcG9uc2UuZGlza19pby5yZWFkX2J5dGVzIHx8ICcwJywgMTApLFxuICAgICAgICAgICAgd3JpdGVCeXRlczogcGFyc2VJbnQocmVzcG9uc2UuZGlza19pby53cml0ZV9ieXRlcyB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIHJlYWRDb3VudDogcGFyc2VJbnQocmVzcG9uc2UuZGlza19pby5yZWFkX2NvdW50IHx8ICcwJywgMTApLFxuICAgICAgICAgICAgd3JpdGVDb3VudDogcGFyc2VJbnQocmVzcG9uc2UuZGlza19pby53cml0ZV9jb3VudCB8fCAnMCcsIDEwKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc3RvcmFnZTogcmVzcG9uc2Uuc3RvcmFnZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGRiUGF0aDogcmVzcG9uc2Uuc3RvcmFnZS5kYl9wYXRoIHx8ICcnLFxuICAgICAgICAgICAgZGJTaXplQnl0ZXM6IHBhcnNlSW50KHJlc3BvbnNlLnN0b3JhZ2UuZGJfc2l6ZV9ieXRlcyB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIHZvbHVtZVRvdGFsOiBwYXJzZUludChyZXNwb25zZS5zdG9yYWdlLnZvbHVtZV90b3RhbCB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIHZvbHVtZUZyZWU6IHBhcnNlSW50KHJlc3BvbnNlLnN0b3JhZ2Uudm9sdW1lX2ZyZWUgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICB2b2x1bWVVc2VkOiBwYXJzZUludChyZXNwb25zZS5zdG9yYWdlLnZvbHVtZV91c2VkIHx8ICcwJywgMTApLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBuZXR3b3JrOiByZXNwb25zZS5uZXR3b3JrXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYnl0ZXNTZW50OiBwYXJzZUludChyZXNwb25zZS5uZXR3b3JrLmJ5dGVzX3NlbnQgfHwgJzAnLCAxMCksXG4gICAgICAgICAgICBieXRlc1JlY3Y6IHBhcnNlSW50KHJlc3BvbnNlLm5ldHdvcmsuYnl0ZXNfcmVjdiB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIHBhY2tldHNTZW50OiBwYXJzZUludChyZXNwb25zZS5uZXR3b3JrLnBhY2tldHNfc2VudCB8fCAnMCcsIDEwKSxcbiAgICAgICAgICAgIHBhY2tldHNSZWN2OiBwYXJzZUludChyZXNwb25zZS5uZXR3b3JrLnBhY2tldHNfcmVjdiB8fCAnMCcsIDEwKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogV2FpdCBmb3IgdGhlIGNvbXB1dGluZyBlbmdpbmUgdG9wb2xvZ3kgdG8gYmUgcmVhZHkuXG4gICAqL1xuICBhc3luYyB3YWl0Rm9yQ29tcHV0ZVRvcG9sb2d5KGdyYXBoTmFtZTogc3RyaW5nLCB0aW1lb3V0TXM6IG51bWJlciA9IDApOiBQcm9taXNlPENvbXB1dGVUb3BvbG9neVJlc3VsdD4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmFkbWluU2VydmljZSxcbiAgICAgICdXYWl0Rm9yQ29tcHV0ZVRvcG9sb2d5JyxcbiAgICAgIHsgZ3JhcGhfbmFtZTogZ3JhcGhOYW1lLCB0aW1lb3V0X21zOiB0aW1lb3V0TXMgfSxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVhZHk6IHJlc3BvbnNlLnJlYWR5IHx8IGZhbHNlLFxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Bulk import service handles bulk import session management.
3
+ */
4
+ import { ServiceContext } from './service-context';
5
+ import { BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus } from '../types';
6
+ /**
7
+ * Bulk import service for managing bulk import sessions.
8
+ */
9
+ export declare class BulkImportService {
10
+ private ctx;
11
+ constructor(ctx: ServiceContext);
12
+ /**
13
+ * Start a bulk import session for optimized high-throughput inserts.
14
+ * @param graphName Target graph name
15
+ * @param options Optional bulk import configuration
16
+ */
17
+ startBulkImport(graphName: string, options?: BulkImportOptions): Promise<BulkImportSession>;
18
+ /** @deprecated Checkpoint is no longer needed. */
19
+ checkpoint(sessionId: string): Promise<CheckpointResult>;
20
+ /**
21
+ * End the bulk import session with a final checkpoint.
22
+ * @param sessionId Bulk import session ID
23
+ */
24
+ endBulkImport(sessionId: string): Promise<EndBulkImportResult>;
25
+ /**
26
+ * Cancel the bulk import session without final sync.
27
+ * @param sessionId Bulk import session ID
28
+ */
29
+ abortBulkImport(sessionId: string): Promise<AbortBulkImportResult>;
30
+ /**
31
+ * Return the current status of a bulk import session.
32
+ * @param sessionId Bulk import session ID
33
+ */
34
+ getBulkImportStatus(sessionId: string): Promise<BulkImportStatus>;
35
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /**
3
+ * Bulk import service handles bulk import session management.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BulkImportService = void 0;
7
+ const services_1 = require("../services");
8
+ /**
9
+ * Bulk import service for managing bulk import sessions.
10
+ */
11
+ class BulkImportService {
12
+ ctx;
13
+ constructor(ctx) {
14
+ this.ctx = ctx;
15
+ }
16
+ /**
17
+ * Start a bulk import session for optimized high-throughput inserts.
18
+ * @param graphName Target graph name
19
+ * @param options Optional bulk import configuration
20
+ */
21
+ async startBulkImport(graphName, options) {
22
+ const request = {
23
+ graph_name: graphName,
24
+ };
25
+ if (options) {
26
+ if (options.checkpointEvery !== undefined) {
27
+ request.checkpoint_every = options.checkpointEvery.toString();
28
+ }
29
+ if (options.estimatedNodes !== undefined) {
30
+ request.estimated_nodes = options.estimatedNodes.toString();
31
+ }
32
+ if (options.estimatedEdges !== undefined) {
33
+ request.estimated_edges = options.estimatedEdges.toString();
34
+ }
35
+ }
36
+ const metadata = this.ctx.getSessionMetadata();
37
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'StartBulkImport', request, metadata);
38
+ return {
39
+ success: response.success || false,
40
+ sessionId: response.session_id || '',
41
+ message: response.message || '',
42
+ };
43
+ }
44
+ /** @deprecated Checkpoint is no longer needed. */
45
+ async checkpoint(sessionId) {
46
+ return {
47
+ success: true,
48
+ recordCount: 0,
49
+ lastCheckpointCount: 0,
50
+ message: 'Checkpoint has been removed; use endBulkImport which performs a final flush',
51
+ };
52
+ }
53
+ /**
54
+ * End the bulk import session with a final checkpoint.
55
+ * @param sessionId Bulk import session ID
56
+ */
57
+ async endBulkImport(sessionId) {
58
+ const request = {
59
+ session_id: sessionId,
60
+ };
61
+ const metadata = this.ctx.getSessionMetadata();
62
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'EndBulkImport', request, metadata);
63
+ return {
64
+ success: response.success || false,
65
+ totalRecords: parseInt(response.total_records || '0', 10),
66
+ message: response.message || '',
67
+ };
68
+ }
69
+ /**
70
+ * Cancel the bulk import session without final sync.
71
+ * @param sessionId Bulk import session ID
72
+ */
73
+ async abortBulkImport(sessionId) {
74
+ const request = {
75
+ session_id: sessionId,
76
+ };
77
+ const metadata = this.ctx.getSessionMetadata();
78
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'AbortBulkImport', request, metadata);
79
+ return {
80
+ success: response.success || false,
81
+ message: response.message || '',
82
+ };
83
+ }
84
+ /**
85
+ * Return the current status of a bulk import session.
86
+ * @param sessionId Bulk import session ID
87
+ */
88
+ async getBulkImportStatus(sessionId) {
89
+ const request = {
90
+ session_id: sessionId,
91
+ };
92
+ const metadata = this.ctx.getSessionMetadata();
93
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'GetBulkImportStatus', request, metadata);
94
+ return {
95
+ isActive: response.is_active || false,
96
+ graphName: response.graph_name || '',
97
+ recordCount: parseInt(response.record_count || '0', 10),
98
+ lastCheckpointCount: parseInt(response.last_checkpoint_count || '0', 10),
99
+ createdAt: parseInt(response.created_at || '0', 10),
100
+ lastActivity: parseInt(response.last_activity || '0', 10),
101
+ };
102
+ }
103
+ }
104
+ exports.BulkImportService = BulkImportService;
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1pbXBvcnQtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9idWxrLWltcG9ydC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBV0gsMENBQTRDO0FBRTVDOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBaUIsRUFBRSxPQUEyQjtRQUNsRSxNQUFNLE9BQU8sR0FBUTtZQUNuQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBRUYsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsQ0FBQztZQUNELElBQUksT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlELENBQUM7WUFDRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBUSxNQUFNLElBQUEsd0JBQWEsRUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQ2xDLGlC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LElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUMxRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBM0hELDhDQTJIQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnVsayBpbXBvcnQgc2VydmljZSBoYW5kbGVzIGJ1bGsgaW1wb3J0IHNlc3Npb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gJy4vc2VydmljZS1jb250ZXh0JztcbmltcG9ydCB7XG4gIEJ1bGtJbXBvcnRPcHRpb25zLFxuICBCdWxrSW1wb3J0U2Vzc2lvbixcbiAgQ2hlY2twb2ludFJlc3VsdCxcbiAgRW5kQnVsa0ltcG9ydFJlc3VsdCxcbiAgQWJvcnRCdWxrSW1wb3J0UmVzdWx0LFxuICBCdWxrSW1wb3J0U3RhdHVzLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwcm9taXNpZnlDYWxsIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG4vKipcbiAqIEJ1bGsgaW1wb3J0IHNlcnZpY2UgZm9yIG1hbmFnaW5nIGJ1bGsgaW1wb3J0IHNlc3Npb25zLlxuICovXG5leHBvcnQgY2xhc3MgQnVsa0ltcG9ydFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN0eDogU2VydmljZUNvbnRleHQpIHt9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGEgYnVsayBpbXBvcnQgc2Vzc2lvbiBmb3Igb3B0aW1pemVkIGhpZ2gtdGhyb3VnaHB1dCBpbnNlcnRzLlxuICAgKiBAcGFyYW0gZ3JhcGhOYW1lIFRhcmdldCBncmFwaCBuYW1lXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGJ1bGsgaW1wb3J0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGFzeW5jIHN0YXJ0QnVsa0ltcG9ydChncmFwaE5hbWU6IHN0cmluZywgb3B0aW9ucz86IEJ1bGtJbXBvcnRPcHRpb25zKTogUHJvbWlzZTxCdWxrSW1wb3J0U2Vzc2lvbj4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IGFueSA9IHtcbiAgICAgIGdyYXBoX25hbWU6IGdyYXBoTmFtZSxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGlmIChvcHRpb25zLmNoZWNrcG9pbnRFdmVyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJlcXVlc3QuY2hlY2twb2ludF9ldmVyeSA9IG9wdGlvbnMuY2hlY2twb2ludEV2ZXJ5LnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5lc3RpbWF0ZWROb2RlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJlcXVlc3QuZXN0aW1hdGVkX25vZGVzID0gb3B0aW9ucy5lc3RpbWF0ZWROb2Rlcy50b1N0cmluZygpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuZXN0aW1hdGVkRWRnZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXF1ZXN0LmVzdGltYXRlZF9lZGdlcyA9IG9wdGlvbnMuZXN0aW1hdGVkRWRnZXMudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5idWxrSW1wb3J0U2VydmljZSxcbiAgICAgICdTdGFydEJ1bGtJbXBvcnQnLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxuICAgICAgc2Vzc2lvbklkOiByZXNwb25zZS5zZXNzaW9uX2lkIHx8ICcnLFxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIENoZWNrcG9pbnQgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gKi9cbiAgYXN5bmMgY2hlY2twb2ludChzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8Q2hlY2twb2ludFJlc3VsdD4ge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgcmVjb3JkQ291bnQ6IDAsXG4gICAgICBsYXN0Q2hlY2twb2ludENvdW50OiAwLFxuICAgICAgbWVzc2FnZTogJ0NoZWNrcG9pbnQgaGFzIGJlZW4gcmVtb3ZlZDsgdXNlIGVuZEJ1bGtJbXBvcnQgd2hpY2ggcGVyZm9ybXMgYSBmaW5hbCBmbHVzaCcsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmQgdGhlIGJ1bGsgaW1wb3J0IHNlc3Npb24gd2l0aCBhIGZpbmFsIGNoZWNrcG9pbnQuXG4gICAqIEBwYXJhbSBzZXNzaW9uSWQgQnVsayBpbXBvcnQgc2Vzc2lvbiBJRFxuICAgKi9cbiAgYXN5bmMgZW5kQnVsa0ltcG9ydChzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8RW5kQnVsa0ltcG9ydFJlc3VsdD4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgfTtcblxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmJ1bGtJbXBvcnRTZXJ2aWNlLFxuICAgICAgJ0VuZEJ1bGtJbXBvcnQnLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxuICAgICAgdG90YWxSZWNvcmRzOiBwYXJzZUludChyZXNwb25zZS50b3RhbF9yZWNvcmRzIHx8ICcwJywgMTApLFxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCB0aGUgYnVsayBpbXBvcnQgc2Vzc2lvbiB3aXRob3V0IGZpbmFsIHN5bmMuXG4gICAqIEBwYXJhbSBzZXNzaW9uSWQgQnVsayBpbXBvcnQgc2Vzc2lvbiBJRFxuICAgKi9cbiAgYXN5bmMgYWJvcnRCdWxrSW1wb3J0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxBYm9ydEJ1bGtJbXBvcnRSZXN1bHQ+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5idWxrSW1wb3J0U2VydmljZSxcbiAgICAgICdBYm9ydEJ1bGtJbXBvcnQnLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIG1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBidWxrIGltcG9ydCBzZXNzaW9uLlxuICAgKiBAcGFyYW0gc2Vzc2lvbklkIEJ1bGsgaW1wb3J0IHNlc3Npb24gSURcbiAgICovXG4gIGFzeW5jIGdldEJ1bGtJbXBvcnRTdGF0dXMoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPEJ1bGtJbXBvcnRTdGF0dXM+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxuICAgICAgdGhpcy5jdHguY2xpZW50cy5idWxrSW1wb3J0U2VydmljZSxcbiAgICAgICdHZXRCdWxrSW1wb3J0U3RhdHVzJyxcbiAgICAgIHJlcXVlc3QsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNBY3RpdmU6IHJlc3BvbnNlLmlzX2FjdGl2ZSB8fCBmYWxzZSxcbiAgICAgIGdyYXBoTmFtZTogcmVzcG9uc2UuZ3JhcGhfbmFtZSB8fCAnJyxcbiAgICAgIHJlY29yZENvdW50OiBwYXJzZUludChyZXNwb25zZS5yZWNvcmRfY291bnQgfHwgJzAnLCAxMCksXG4gICAgICBsYXN0Q2hlY2twb2ludENvdW50OiBwYXJzZUludChyZXNwb25zZS5sYXN0X2NoZWNrcG9pbnRfY291bnQgfHwgJzAnLCAxMCksXG4gICAgICBjcmVhdGVkQXQ6IHBhcnNlSW50KHJlc3BvbnNlLmNyZWF0ZWRfYXQgfHwgJzAnLCAxMCksXG4gICAgICBsYXN0QWN0aXZpdHk6IHBhcnNlSW50KHJlc3BvbnNlLmxhc3RfYWN0aXZpdHkgfHwgJzAnLCAxMCksXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Type conversion utilities between gRPC proto types and JavaScript types.
3
+ */
4
+ import { Response } from '../response';
5
+ import { GraphType, HealthStatus, CacheType, GraphInfo } from '../types';
6
+ import { GqldbConfig } from '../config';
7
+ import { Session } from '../session';
8
+ import { QueryConfig } from '../client';
9
+ /**
10
+ * Build a GQL request from config.
11
+ */
12
+ export declare function buildGqlRequest(query: string, session: Session | null, config: GqldbConfig, queryConfig?: QueryConfig): any;
13
+ /**
14
+ * Build parameters array for gRPC.
15
+ */
16
+ export declare function buildParameters(params?: Record<string, any>): any[];
17
+ /**
18
+ * Convert gRPC response to Response object.
19
+ */
20
+ export declare function convertGqlResponse(grpcResponse: any): Response;
21
+ /**
22
+ * Convert gRPC TypedValue to JS value.
23
+ * Uses the same decoding logic as typedValueToJS for consistency.
24
+ */
25
+ export declare function convertTypedValue(tv: any): any;
26
+ /**
27
+ * Convert proto properties map to JS object.
28
+ */
29
+ export declare function convertProtoProperties(protoProps: Record<string, any>): Record<string, any>;
30
+ /**
31
+ * Convert GraphInfo from proto to JS object.
32
+ */
33
+ export declare function convertGraphInfo(g: any): GraphInfo;
34
+ /**
35
+ * Map GraphType enum to proto string.
36
+ */
37
+ export declare function graphTypeToProto(graphType: GraphType): string;
38
+ /**
39
+ * Map proto string to GraphType enum.
40
+ */
41
+ export declare function protoToGraphType(proto: string): GraphType;
42
+ /**
43
+ * Map proto HealthStatus to enum.
44
+ */
45
+ export declare function protoToHealthStatus(proto: string): HealthStatus;
46
+ /**
47
+ * Map CacheType to proto string.
48
+ */
49
+ export declare function cacheTypeToProto(cacheType: CacheType): string;
50
+ /**
51
+ * Convert NodeData to proto format.
52
+ */
53
+ export declare function nodeDataToProto(node: any): any;
54
+ /**
55
+ * Convert EdgeData to proto format.
56
+ */
57
+ export declare function edgeDataToProto(edge: any): any;