@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
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Admin service handles administrative operations.
3
+ */
4
+ import { ServiceContext } from './service-context';
5
+ import { CacheStats, CacheType, Statistics, CompactResult, ComputeTopologyResult } 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
+ * Wait for the computing engine topology to be ready.
38
+ */
39
+ waitForComputeTopology(graphName: string, timeoutMs?: number): Promise<ComputeTopologyResult>;
40
+ }
@@ -0,0 +1,115 @@
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
+ * Wait for the computing engine topology to be ready.
104
+ */
105
+ async waitForComputeTopology(graphName, timeoutMs = 0) {
106
+ const metadata = this.ctx.getSessionMetadata();
107
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.adminService, 'WaitForComputeTopology', { graph_name: graphName, timeout_ms: timeoutMs }, metadata);
108
+ return {
109
+ ready: response.ready || false,
110
+ message: response.message || '',
111
+ };
112
+ }
113
+ }
114
+ exports.AdminService = AdminService;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9hZG1pbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBR0gsb0NBQW1HO0FBQ25HLDBDQUE0QztBQUM1Qyw2Q0FBZ0Q7QUFFaEQ7O0dBRUc7QUFDSCxNQUFhLFlBQVk7SUFDSDtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBQSx3QkFBYSxFQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQzdCLGNBQWMsRUFDZCxFQUFFLEtBQUssRUFBRSxFQUNULFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUF1QixpQkFBUyxDQUFDLEdBQUc7UUFDdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBQSx3QkFBYSxFQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQzdCLGVBQWUsRUFDZixFQUFFLFVBQVUsRUFBRSxJQUFBLDZCQUFnQixFQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQzNDLFFBQVEsQ0FDVCxDQUFDO1FBRUYsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUztnQkFDMUIsQ0FBQyxDQUFDO29CQUNFLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FB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RSxTQUFTLEVBQUUsRUFDaEQsUUFBUSxDQUNULENBQUM7UUFDRixPQUFPO1lBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLElBQUksS0FBSztZQUM5QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFO1NBQ2hDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFoSkQsb0NBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEFkbWluIHNlcnZpY2UgaGFuZGxlcyBhZG1pbmlzdHJhdGl2ZSBvcGVyYXRpb25zLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSAnLi9zZXJ2aWNlLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBDYWNoZVN0YXRzLCBDYWNoZVR5cGUsIFN0YXRpc3RpY3MsIENvbXBhY3RSZXN1bHQsIENvbXB1dGVUb3BvbG9neVJlc3VsdCB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgcHJvbWlzaWZ5Q2FsbCB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgY2FjaGVUeXBlVG9Qcm90byB9IGZyb20gJy4vY29udmVydGVycyc7XHJcblxyXG4vKipcclxuICogQWRtaW4gc2VydmljZSBmb3IgYWRtaW5pc3RyYXRpdmUgb3BlcmF0aW9ucy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBZG1pblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3R4OiBTZXJ2aWNlQ29udGV4dCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlLWFsbG9jYXRlIHBhcnNlciBpbnN0YW5jZXMuXHJcbiAgICovXHJcbiAgYXN5bmMgd2FybXVwUGFyc2VyKGNvdW50OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XHJcbiAgICBhd2FpdCBwcm9taXNpZnlDYWxsKFxyXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmFkbWluU2VydmljZSxcclxuICAgICAgJ1dhcm11cFBhcnNlcicsXHJcbiAgICAgIHsgY291bnQgfSxcclxuICAgICAgbWV0YWRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY2FjaGUgc3RhdGlzdGljcy5cclxuICAgKi9cclxuICBhc3luYyBnZXRDYWNoZVN0YXRzKGNhY2hlVHlwZTogQ2FjaGVUeXBlID0gQ2FjaGVUeXBlLkFMTCk6IFByb21pc2U8Q2FjaGVTdGF0cz4ge1xyXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxyXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmFkbWluU2VydmljZSxcclxuICAgICAgJ0dldENhY2hlU3RhdHMnLFxyXG4gICAgICB7IGNhY2hlX3R5cGU6IGNhY2hlVHlwZVRvUHJvdG8oY2FjaGVUeXBlKSB9LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhc3RTdGF0czogcmVzcG9uc2UuYXN0X3N0YXRzXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGhpdHM6IHBhcnNlSW50KHJlc3BvbnNlLmFzdF9zdGF0cy5oaXRzIHx8ICcwJywgMTApLFxyXG4gICAgICAgICAgICBtaXNzZXM6IHBhcnNlSW50KHJlc3BvbnNlLmFzdF9zdGF0cy5taXNzZXMgfHwgJzAnLCAxMCksXHJcbiAgICAgICAgICAgIGV2aWN0aW9uczogcGFyc2VJbnQocmVzcG9uc2UuYXN0X3N0YXRzLmV2aWN0aW9ucyB8fCAnMCcsIDEwKSxcclxuICAgICAgICAgICAgZW50cmllczogcmVzcG9uc2UuYXN0X3N0YXRzLmVudHJpZXMgfHwgMCxcclxuICAgICAgICAgICAgaGl0UmF0ZTogcmVzcG9uc2UuYXN0X3N0YXRzLmhpdF9yYXRlIHx8IDAsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgIHBsYW5TdGF0czogcmVzcG9uc2UucGxhbl9zdGF0c1xyXG4gICAgICAgID8ge1xyXG4gICAgICAgICAgICBzaXplOiByZXNwb25zZS5wbGFuX3N0YXRzLnNpemUgfHwgMCxcclxuICAgICAgICAgICAgY2FwYWNpdHk6IHJlc3BvbnNlLnBsYW5fc3RhdHMuY2FwYWNpdHkgfHwgMCxcclxuICAgICAgICAgICAgaGl0czogcGFyc2VJbnQocmVzcG9uc2UucGxhbl9zdGF0cy5oaXRzIHx8ICcwJywgMTApLFxyXG4gICAgICAgICAgICBtaXNzZXM6IHBhcnNlSW50KHJlc3BvbnNlLnBsYW5fc3RhdHMubWlzc2VzIHx8ICcwJywgMTApLFxyXG4gICAgICAgICAgICBoaXRSYXRlOiByZXNwb25zZS5wbGFuX3N0YXRzLmhpdF9yYXRlIHx8IDAsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHNwZWNpZmllZCBjYWNoZS5cclxuICAgKi9cclxuICBhc3luYyBjbGVhckNhY2hlKGNhY2hlVHlwZTogQ2FjaGVUeXBlID0gQ2FjaGVUeXBlLkFMTCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcclxuICAgIGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxyXG4gICAgICAnQ2xlYXJDYWNoZScsXHJcbiAgICAgIHsgY2FjaGVfdHlwZTogY2FjaGVUeXBlVG9Qcm90byhjYWNoZVR5cGUpIH0sXHJcbiAgICAgIG1ldGFkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGRhdGFiYXNlIHN0YXRpc3RpY3MuXHJcbiAgICovXHJcbiAgYXN5bmMgZ2V0U3RhdGlzdGljcyhncmFwaE5hbWU6IHN0cmluZyA9ICcnKTogUHJvbWlzZTxTdGF0aXN0aWNzPiB7XHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxyXG4gICAgICAnR2V0U3RhdGlzdGljcycsXHJcbiAgICAgIHsgZ3JhcGhfbmFtZTogZ3JhcGhOYW1lIH0sXHJcbiAgICAgIG1ldGFkYXRhXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGxhYmVsQ291bnRzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XHJcbiAgICBjb25zdCBlZGdlTGFiZWxDb3VudHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcclxuXHJcbiAgICBpZiAocmVzcG9uc2UubGFiZWxfY291bnRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLmxhYmVsX2NvdW50cykpIHtcclxuICAgICAgICBsYWJlbENvdW50c1trZXldID0gcGFyc2VJbnQodmFsdWUgYXMgc3RyaW5nLCAxMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVzcG9uc2UuZWRnZV9sYWJlbF9jb3VudHMpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UuZWRnZV9sYWJlbF9jb3VudHMpKSB7XHJcbiAgICAgICAgZWRnZUxhYmVsQ291bnRzW2tleV0gPSBwYXJzZUludCh2YWx1ZSBhcyBzdHJpbmcsIDEwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5vZGVDb3VudDogcGFyc2VJbnQocmVzcG9uc2Uubm9kZV9jb3VudCB8fCAnMCcsIDEwKSxcclxuICAgICAgZWRnZUNvdW50OiBwYXJzZUludChyZXNwb25zZS5lZGdlX2NvdW50IHx8ICcwJywgMTApLFxyXG4gICAgICBsYWJlbENvdW50cyxcclxuICAgICAgZWRnZUxhYmVsQ291bnRzLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludmFsaWRhdGUgdGhlIFJCQUMgcGVybWlzc2lvbiBjYWNoZS5cclxuICAgKi9cclxuICBhc3luYyBpbnZhbGlkYXRlUGVybWlzc2lvbkNhY2hlKHVzZXJuYW1lOiBzdHJpbmcgPSAnJyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcclxuICAgIGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxyXG4gICAgICAnSW52YWxpZGF0ZVBlcm1pc3Npb25DYWNoZScsXHJcbiAgICAgIHsgdXNlcm5hbWUgfSxcclxuICAgICAgbWV0YWRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyIG1hbnVhbCBjb21wYWN0aW9uIG9mIHRoZSBkYXRhYmFzZSBzdG9yYWdlLlxyXG4gICAqL1xyXG4gIGFzeW5jIGNvbXBhY3QoKTogUHJvbWlzZTxDb21wYWN0UmVzdWx0PiB7XHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYWRtaW5TZXJ2aWNlLFxyXG4gICAgICAnQ29tcGFjdCcsXHJcbiAgICAgIHt9LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHN1Y2Nlc3M6IHJlc3BvbnNlLnN1Y2Nlc3MgfHwgZmFsc2UsXHJcbiAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLm1lc3NhZ2UgfHwgJycsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2FpdCBmb3IgdGhlIGNvbXB1dGluZyBlbmdpbmUgdG9wb2xvZ3kgdG8gYmUgcmVhZHkuXHJcbiAgICovXHJcbiAgYXN5bmMgd2FpdEZvckNvbXB1dGVUb3BvbG9neShncmFwaE5hbWU6IHN0cmluZywgdGltZW91dE1zOiBudW1iZXIgPSAwKTogUHJvbWlzZTxDb21wdXRlVG9wb2xvZ3lSZXN1bHQ+IHtcclxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XHJcbiAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcclxuICAgICAgdGhpcy5jdHguY2xpZW50cy5hZG1pblNlcnZpY2UsXHJcbiAgICAgICdXYWl0Rm9yQ29tcHV0ZVRvcG9sb2d5JyxcclxuICAgICAgeyBncmFwaF9uYW1lOiBncmFwaE5hbWUsIHRpbWVvdXRfbXM6IHRpbWVvdXRNcyB9LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHJlYWR5OiByZXNwb25zZS5yZWFkeSB8fCBmYWxzZSxcclxuICAgICAgbWVzc2FnZTogcmVzcG9uc2UubWVzc2FnZSB8fCAnJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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,108 @@
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
+ if (!response.success) {
39
+ throw new Error(`Start bulk import failed: ${response.message || 'unknown error'}`);
40
+ }
41
+ return {
42
+ success: true,
43
+ sessionId: response.session_id || '',
44
+ message: response.message || '',
45
+ };
46
+ }
47
+ /** @deprecated Checkpoint is no longer needed. */
48
+ async checkpoint(sessionId) {
49
+ return {
50
+ success: true,
51
+ recordCount: 0,
52
+ lastCheckpointCount: 0,
53
+ message: 'Checkpoint has been removed; use endBulkImport which performs a final flush',
54
+ };
55
+ }
56
+ /**
57
+ * End the bulk import session with a final checkpoint.
58
+ * @param sessionId Bulk import session ID
59
+ */
60
+ async endBulkImport(sessionId) {
61
+ const request = {
62
+ session_id: sessionId,
63
+ };
64
+ const metadata = this.ctx.getSessionMetadata();
65
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'EndBulkImport', request, metadata);
66
+ return {
67
+ success: response.success || false,
68
+ totalRecords: parseInt(response.total_records || '0', 10),
69
+ message: response.message || '',
70
+ };
71
+ }
72
+ /**
73
+ * Cancel the bulk import session without final sync.
74
+ * @param sessionId Bulk import session ID
75
+ */
76
+ async abortBulkImport(sessionId) {
77
+ const request = {
78
+ session_id: sessionId,
79
+ };
80
+ const metadata = this.ctx.getSessionMetadata();
81
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'AbortBulkImport', request, metadata);
82
+ return {
83
+ success: response.success || false,
84
+ message: response.message || '',
85
+ };
86
+ }
87
+ /**
88
+ * Return the current status of a bulk import session.
89
+ * @param sessionId Bulk import session ID
90
+ */
91
+ async getBulkImportStatus(sessionId) {
92
+ const request = {
93
+ session_id: sessionId,
94
+ };
95
+ const metadata = this.ctx.getSessionMetadata();
96
+ const response = await (0, services_1.promisifyCall)(this.ctx.clients.bulkImportService, 'GetBulkImportStatus', request, metadata);
97
+ return {
98
+ isActive: response.is_active || false,
99
+ graphName: response.graph_name || '',
100
+ recordCount: parseInt(response.record_count || '0', 10),
101
+ lastCheckpointCount: parseInt(response.last_checkpoint_count || '0', 10),
102
+ createdAt: parseInt(response.created_at || '0', 10),
103
+ lastActivity: parseInt(response.last_activity || '0', 10),
104
+ };
105
+ }
106
+ }
107
+ exports.BulkImportService = BulkImportService;
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1pbXBvcnQtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9idWxrLWltcG9ydC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBV0gsMENBQTRDO0FBRTVDOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtJQUFHLENBQUM7SUFFM0M7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBaUIsRUFBRSxPQUEyQjtRQUNsRSxNQUFNLE9BQU8sR0FBUTtZQUNuQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBRUYsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsQ0FBQztZQUNELElBQUksT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlELENBQUM7WUFDRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBUSxNQUFNLElBQUEsd0JBQWEsRUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQ2xDLGlC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eEUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDbkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7U0FDMUQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQS9IRCw4Q0ErSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQnVsayBpbXBvcnQgc2VydmljZSBoYW5kbGVzIGJ1bGsgaW1wb3J0IHNlc3Npb24gbWFuYWdlbWVudC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gJy4vc2VydmljZS1jb250ZXh0JztcclxuaW1wb3J0IHtcclxuICBCdWxrSW1wb3J0T3B0aW9ucyxcclxuICBCdWxrSW1wb3J0U2Vzc2lvbixcclxuICBDaGVja3BvaW50UmVzdWx0LFxyXG4gIEVuZEJ1bGtJbXBvcnRSZXN1bHQsXHJcbiAgQWJvcnRCdWxrSW1wb3J0UmVzdWx0LFxyXG4gIEJ1bGtJbXBvcnRTdGF0dXMsXHJcbn0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBwcm9taXNpZnlDYWxsIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuLyoqXHJcbiAqIEJ1bGsgaW1wb3J0IHNlcnZpY2UgZm9yIG1hbmFnaW5nIGJ1bGsgaW1wb3J0IHNlc3Npb25zLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEJ1bGtJbXBvcnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN0eDogU2VydmljZUNvbnRleHQpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IGEgYnVsayBpbXBvcnQgc2Vzc2lvbiBmb3Igb3B0aW1pemVkIGhpZ2gtdGhyb3VnaHB1dCBpbnNlcnRzLlxyXG4gICAqIEBwYXJhbSBncmFwaE5hbWUgVGFyZ2V0IGdyYXBoIG5hbWVcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBidWxrIGltcG9ydCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgYXN5bmMgc3RhcnRCdWxrSW1wb3J0KGdyYXBoTmFtZTogc3RyaW5nLCBvcHRpb25zPzogQnVsa0ltcG9ydE9wdGlvbnMpOiBQcm9taXNlPEJ1bGtJbXBvcnRTZXNzaW9uPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBhbnkgPSB7XHJcbiAgICAgIGdyYXBoX25hbWU6IGdyYXBoTmFtZSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMuY2hlY2twb2ludEV2ZXJ5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXF1ZXN0LmNoZWNrcG9pbnRfZXZlcnkgPSBvcHRpb25zLmNoZWNrcG9pbnRFdmVyeS50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb25zLmVzdGltYXRlZE5vZGVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXF1ZXN0LmVzdGltYXRlZF9ub2RlcyA9IG9wdGlvbnMuZXN0aW1hdGVkTm9kZXMudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9ucy5lc3RpbWF0ZWRFZGdlcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmVxdWVzdC5lc3RpbWF0ZWRfZWRnZXMgPSBvcHRpb25zLmVzdGltYXRlZEVkZ2VzLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYnVsa0ltcG9ydFNlcnZpY2UsXHJcbiAgICAgICdTdGFydEJ1bGtJbXBvcnQnLFxyXG4gICAgICByZXF1ZXN0LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGFydCBidWxrIGltcG9ydCBmYWlsZWQ6ICR7cmVzcG9uc2UubWVzc2FnZSB8fCAndW5rbm93biBlcnJvcid9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc3VjY2VzczogdHJ1ZSxcclxuICAgICAgc2Vzc2lvbklkOiByZXNwb25zZS5zZXNzaW9uX2lkIHx8ICcnLFxyXG4gICAgICBtZXNzYWdlOiByZXNwb25zZS5tZXNzYWdlIHx8ICcnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBAZGVwcmVjYXRlZCBDaGVja3BvaW50IGlzIG5vIGxvbmdlciBuZWVkZWQuICovXHJcbiAgYXN5bmMgY2hlY2twb2ludChzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8Q2hlY2twb2ludFJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc3VjY2VzczogdHJ1ZSxcclxuICAgICAgcmVjb3JkQ291bnQ6IDAsXHJcbiAgICAgIGxhc3RDaGVja3BvaW50Q291bnQ6IDAsXHJcbiAgICAgIG1lc3NhZ2U6ICdDaGVja3BvaW50IGhhcyBiZWVuIHJlbW92ZWQ7IHVzZSBlbmRCdWxrSW1wb3J0IHdoaWNoIHBlcmZvcm1zIGEgZmluYWwgZmx1c2gnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuZCB0aGUgYnVsayBpbXBvcnQgc2Vzc2lvbiB3aXRoIGEgZmluYWwgY2hlY2twb2ludC5cclxuICAgKiBAcGFyYW0gc2Vzc2lvbklkIEJ1bGsgaW1wb3J0IHNlc3Npb24gSURcclxuICAgKi9cclxuICBhc3luYyBlbmRCdWxrSW1wb3J0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxFbmRCdWxrSW1wb3J0UmVzdWx0PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jdHguZ2V0U2Vzc2lvbk1ldGFkYXRhKCk7XHJcbiAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgcHJvbWlzaWZ5Q2FsbChcclxuICAgICAgdGhpcy5jdHguY2xpZW50cy5idWxrSW1wb3J0U2VydmljZSxcclxuICAgICAgJ0VuZEJ1bGtJbXBvcnQnLFxyXG4gICAgICByZXF1ZXN0LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxyXG4gICAgICB0b3RhbFJlY29yZHM6IHBhcnNlSW50KHJlc3BvbnNlLnRvdGFsX3JlY29yZHMgfHwgJzAnLCAxMCksXHJcbiAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLm1lc3NhZ2UgfHwgJycsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsIHRoZSBidWxrIGltcG9ydCBzZXNzaW9uIHdpdGhvdXQgZmluYWwgc3luYy5cclxuICAgKiBAcGFyYW0gc2Vzc2lvbklkIEJ1bGsgaW1wb3J0IHNlc3Npb24gSURcclxuICAgKi9cclxuICBhc3luYyBhYm9ydEJ1bGtJbXBvcnQoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPEFib3J0QnVsa0ltcG9ydFJlc3VsdD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3R4LmdldFNlc3Npb25NZXRhZGF0YSgpO1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IGF3YWl0IHByb21pc2lmeUNhbGwoXHJcbiAgICAgIHRoaXMuY3R4LmNsaWVudHMuYnVsa0ltcG9ydFNlcnZpY2UsXHJcbiAgICAgICdBYm9ydEJ1bGtJbXBvcnQnLFxyXG4gICAgICByZXF1ZXN0LFxyXG4gICAgICBtZXRhZGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdWNjZXNzOiByZXNwb25zZS5zdWNjZXNzIHx8IGZhbHNlLFxyXG4gICAgICBtZXNzYWdlOiByZXNwb25zZS5tZXNzYWdlIHx8ICcnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBidWxrIGltcG9ydCBzZXNzaW9uLlxyXG4gICAqIEBwYXJhbSBzZXNzaW9uSWQgQnVsayBpbXBvcnQgc2Vzc2lvbiBJRFxyXG4gICAqL1xyXG4gIGFzeW5jIGdldEJ1bGtJbXBvcnRTdGF0dXMoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPEJ1bGtJbXBvcnRTdGF0dXM+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmN0eC5nZXRTZXNzaW9uTWV0YWRhdGEoKTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSBhd2FpdCBwcm9taXNpZnlDYWxsKFxyXG4gICAgICB0aGlzLmN0eC5jbGllbnRzLmJ1bGtJbXBvcnRTZXJ2aWNlLFxyXG4gICAgICAnR2V0QnVsa0ltcG9ydFN0YXR1cycsXHJcbiAgICAgIHJlcXVlc3QsXHJcbiAgICAgIG1ldGFkYXRhXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlzQWN0aXZlOiByZXNwb25zZS5pc19hY3RpdmUgfHwgZmFsc2UsXHJcbiAgICAgIGdyYXBoTmFtZTogcmVzcG9uc2UuZ3JhcGhfbmFtZSB8fCAnJyxcclxuICAgICAgcmVjb3JkQ291bnQ6IHBhcnNlSW50KHJlc3BvbnNlLnJlY29yZF9jb3VudCB8fCAnMCcsIDEwKSxcclxuICAgICAgbGFzdENoZWNrcG9pbnRDb3VudDogcGFyc2VJbnQocmVzcG9uc2UubGFzdF9jaGVja3BvaW50X2NvdW50IHx8ICcwJywgMTApLFxyXG4gICAgICBjcmVhdGVkQXQ6IHBhcnNlSW50KHJlc3BvbnNlLmNyZWF0ZWRfYXQgfHwgJzAnLCAxMCksXHJcbiAgICAgIGxhc3RBY3Rpdml0eTogcGFyc2VJbnQocmVzcG9uc2UubGFzdF9hY3Rpdml0eSB8fCAnMCcsIDEwKSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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;