@zilliz/milvus2-sdk-node 2.2.10 → 2.2.11

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 (125) hide show
  1. package/README.md +3 -3
  2. package/dist/milvus/MilvusClient.d.ts +0 -4
  3. package/dist/milvus/MilvusClient.js +20 -48
  4. package/dist/milvus/MilvusClient.js.map +1 -1
  5. package/dist/milvus/OrmClient.d.ts +19 -0
  6. package/dist/milvus/OrmClient.js +77 -0
  7. package/dist/milvus/OrmClient.js.map +1 -0
  8. package/dist/milvus/const/ErrorReason.d.ts +36 -31
  9. package/dist/milvus/const/ErrorReason.js +39 -32
  10. package/dist/milvus/const/ErrorReason.js.map +1 -1
  11. package/dist/milvus/const/Milvus.d.ts +2 -9
  12. package/dist/milvus/const/Milvus.js +16 -33
  13. package/dist/milvus/const/Milvus.js.map +1 -1
  14. package/dist/milvus/const/client.d.ts +5 -0
  15. package/dist/milvus/const/client.js +10 -0
  16. package/dist/milvus/const/client.js.map +1 -0
  17. package/dist/milvus/const/defaults.d.ts +11 -0
  18. package/dist/milvus/const/defaults.js +16 -0
  19. package/dist/milvus/const/defaults.js.map +1 -0
  20. package/dist/milvus/const/highLevel.d.ts +23 -0
  21. package/dist/milvus/const/highLevel.js +26 -0
  22. package/dist/milvus/const/highLevel.js.map +1 -0
  23. package/dist/milvus/const/index.d.ts +4 -1
  24. package/dist/milvus/const/index.js +4 -1
  25. package/dist/milvus/const/index.js.map +1 -1
  26. package/dist/milvus/const/limits.d.ts +2 -0
  27. package/dist/milvus/const/limits.js +7 -0
  28. package/dist/milvus/const/limits.js.map +1 -0
  29. package/dist/milvus/grpc/BaseClient.d.ts +16 -7
  30. package/dist/milvus/grpc/BaseClient.js +37 -18
  31. package/dist/milvus/grpc/BaseClient.js.map +1 -1
  32. package/dist/milvus/grpc/Collection.d.ts +32 -3
  33. package/dist/milvus/grpc/Collection.js +242 -416
  34. package/dist/milvus/grpc/Collection.js.map +1 -1
  35. package/dist/milvus/grpc/Data.d.ts +68 -8
  36. package/dist/milvus/grpc/Data.js +539 -566
  37. package/dist/milvus/grpc/Data.js.map +1 -1
  38. package/dist/milvus/grpc/Database.d.ts +69 -0
  39. package/dist/milvus/grpc/Database.js +98 -0
  40. package/dist/milvus/grpc/Database.js.map +1 -0
  41. package/dist/milvus/grpc/GrpcClient.d.ts +18 -8
  42. package/dist/milvus/grpc/GrpcClient.js +87 -156
  43. package/dist/milvus/grpc/GrpcClient.js.map +1 -1
  44. package/dist/milvus/grpc/MilvusIndex.d.ts +1 -1
  45. package/dist/milvus/grpc/MilvusIndex.js +46 -142
  46. package/dist/milvus/grpc/MilvusIndex.js.map +1 -1
  47. package/dist/milvus/grpc/Partition.d.ts +1 -1
  48. package/dist/milvus/grpc/Partition.js +53 -157
  49. package/dist/milvus/grpc/Partition.js.map +1 -1
  50. package/dist/milvus/grpc/Resource.d.ts +2 -2
  51. package/dist/milvus/grpc/Resource.js +64 -170
  52. package/dist/milvus/grpc/Resource.js.map +1 -1
  53. package/dist/milvus/grpc/User.d.ts +1 -1
  54. package/dist/milvus/grpc/User.js +193 -381
  55. package/dist/milvus/grpc/User.js.map +1 -1
  56. package/dist/milvus/index.d.ts +1 -1
  57. package/dist/milvus/index.js +1 -1
  58. package/dist/milvus/index.js.map +1 -1
  59. package/dist/milvus/orm/Collection.d.ts +45 -0
  60. package/dist/milvus/orm/Collection.js +172 -0
  61. package/dist/milvus/orm/Collection.js.map +1 -0
  62. package/dist/milvus/orm/index.d.ts +2 -0
  63. package/dist/milvus/{types.js → orm/index.js} +3 -11
  64. package/dist/milvus/orm/index.js.map +1 -0
  65. package/dist/milvus/orm/utils.d.ts +27 -0
  66. package/dist/milvus/orm/utils.js +27 -0
  67. package/dist/milvus/orm/utils.js.map +1 -0
  68. package/dist/milvus/types/Client.d.ts +12 -1
  69. package/dist/milvus/types/Collection.d.ts +18 -4
  70. package/dist/milvus/types/Data.d.ts +41 -5
  71. package/dist/milvus/types/Database.d.ts +12 -0
  72. package/dist/milvus/types/Database.js +3 -0
  73. package/dist/milvus/types/Database.js.map +1 -0
  74. package/dist/milvus/types/HighLevel.d.ts +13 -0
  75. package/dist/milvus/types/HighLevel.js +3 -0
  76. package/dist/milvus/types/HighLevel.js.map +1 -0
  77. package/dist/milvus/types/MilvusIndex.d.ts +1 -1
  78. package/dist/milvus/types/Resource.d.ts +1 -1
  79. package/dist/milvus/types/{Index.d.ts → index.d.ts} +2 -0
  80. package/dist/milvus/types/{Index.js → index.js} +3 -1
  81. package/dist/milvus/types/index.js.map +1 -0
  82. package/dist/{utils → milvus/utils}/Blob.js +4 -4
  83. package/dist/milvus/utils/Blob.js.map +1 -0
  84. package/dist/{utils → milvus/utils}/Format.d.ts +66 -2
  85. package/dist/milvus/utils/Format.js +416 -0
  86. package/dist/milvus/utils/Format.js.map +1 -0
  87. package/dist/{utils → milvus/utils}/Function.d.ts +1 -1
  88. package/dist/{utils → milvus/utils}/Function.js +7 -7
  89. package/dist/milvus/utils/Function.js.map +1 -0
  90. package/dist/{utils → milvus/utils}/Grpc.d.ts +9 -8
  91. package/dist/milvus/utils/Grpc.js +190 -0
  92. package/dist/milvus/utils/Grpc.js.map +1 -0
  93. package/dist/{utils → milvus/utils}/Validate.d.ts +7 -1
  94. package/dist/milvus/utils/Validate.js +140 -0
  95. package/dist/milvus/utils/Validate.js.map +1 -0
  96. package/dist/{utils → milvus/utils}/index.d.ts +2 -0
  97. package/dist/{utils → milvus/utils}/index.js +2 -0
  98. package/dist/milvus/utils/index.js.map +1 -0
  99. package/dist/milvus/utils/logger.d.ts +1 -0
  100. package/dist/milvus/utils/logger.js +18 -0
  101. package/dist/milvus/utils/logger.js.map +1 -0
  102. package/dist/proto/proto/common.proto +38 -14
  103. package/dist/proto/proto/google/protobuf/descriptor.proto +8 -4
  104. package/dist/proto/proto/milvus.proto +86 -83
  105. package/dist/proto/proto/schema.proto +5 -0
  106. package/dist/sdk.json +1 -1
  107. package/package.json +13 -10
  108. package/dist/milvus/types/Index.js.map +0 -1
  109. package/dist/milvus/types.d.ts +0 -9
  110. package/dist/milvus/types.js.map +0 -1
  111. package/dist/proto/proto/feder.proto +0 -40
  112. package/dist/proto/proto/msg.proto +0 -107
  113. package/dist/utils/Blob.js.map +0 -1
  114. package/dist/utils/Format.js +0 -252
  115. package/dist/utils/Format.js.map +0 -1
  116. package/dist/utils/Function.js.map +0 -1
  117. package/dist/utils/Grpc.js +0 -170
  118. package/dist/utils/Grpc.js.map +0 -1
  119. package/dist/utils/Validate.js +0 -125
  120. package/dist/utils/Validate.js.map +0 -1
  121. package/dist/utils/index.js.map +0 -1
  122. package/dist/utils/test.d.ts +0 -29
  123. package/dist/utils/test.js +0 -112
  124. package/dist/utils/test.js.map +0 -1
  125. /package/dist/{utils → milvus/utils}/Blob.d.ts +0 -0
@@ -1,107 +0,0 @@
1
- syntax = "proto3";
2
- package milvus.proto.msg;
3
- option go_package = "github.com/milvus-io/milvus-proto/go-api/msgpb";
4
-
5
- import "common.proto";
6
- import "schema.proto";
7
-
8
- enum InsertDataVersion {
9
- // 0 must refer to row-based format, since it's the first version in Milvus.
10
- RowBased = 0;
11
- ColumnBased = 1;
12
- }
13
-
14
- message InsertRequest {
15
- common.MsgBase base = 1;
16
- string shardName = 2;
17
- string db_name = 3;
18
- string collection_name = 4;
19
- string partition_name = 5;
20
- int64 dbID = 6;
21
- int64 collectionID = 7;
22
- int64 partitionID = 8;
23
- int64 segmentID = 9;
24
- repeated uint64 timestamps = 10;
25
- repeated int64 rowIDs = 11;
26
- // row_data was reserved for compatibility
27
- repeated common.Blob row_data = 12;
28
- repeated schema.FieldData fields_data = 13;
29
- uint64 num_rows = 14;
30
- InsertDataVersion version = 15;
31
- }
32
-
33
- message DeleteRequest {
34
- common.MsgBase base = 1;
35
- string shardName = 2;
36
- string db_name = 3;
37
- string collection_name = 4;
38
- string partition_name = 5;
39
- int64 dbID = 6;
40
- int64 collectionID = 7;
41
- int64 partitionID = 8;
42
- repeated int64 int64_primary_keys = 9; // deprecated
43
- repeated uint64 timestamps = 10;
44
- int64 num_rows = 11;
45
- schema.IDs primary_keys = 12;
46
- }
47
-
48
- message MsgPosition {
49
- string channel_name = 1;
50
- bytes msgID = 2;
51
- string msgGroup = 3;
52
- uint64 timestamp = 4;
53
- }
54
-
55
- message CreateCollectionRequest {
56
- common.MsgBase base = 1;
57
- string db_name = 2;
58
- string collectionName = 3;
59
- string partitionName = 4;
60
- // `schema` is the serialized `schema.CollectionSchema`
61
- int64 dbID = 5;
62
- int64 collectionID = 6;
63
- int64 partitionID = 7;
64
- bytes schema = 8;
65
- repeated string virtualChannelNames = 9;
66
- repeated string physicalChannelNames = 10;
67
- }
68
-
69
- message DropCollectionRequest {
70
- common.MsgBase base = 1;
71
- string db_name = 2;
72
- string collectionName = 3;
73
- int64 dbID = 4;
74
- int64 collectionID = 5;
75
- }
76
-
77
- message CreatePartitionRequest {
78
- common.MsgBase base = 1;
79
- string db_name = 2;
80
- string collection_name = 3;
81
- string partition_name = 4;
82
- int64 dbID = 5;
83
- int64 collectionID = 6;
84
- int64 partitionID = 7;
85
- }
86
-
87
- message DropPartitionRequest {
88
- common.MsgBase base = 1;
89
- string db_name = 2;
90
- string collection_name = 3;
91
- string partition_name = 4;
92
- int64 dbID = 5;
93
- int64 collectionID = 6;
94
- int64 partitionID = 7;
95
- }
96
-
97
- message TimeTickMsg {
98
- common.MsgBase base = 1;
99
- }
100
-
101
- message DataNodeTtMsg {
102
- common.MsgBase base =1;
103
- string channel_name = 2;
104
- uint64 timestamp = 3;
105
- repeated common.SegmentStats segments_stats = 4;
106
- }
107
-
@@ -1 +0,0 @@
1
- {"version":3,"file":"Blob.js","sourceRoot":"","sources":["../../utils/Blob.ts"],"names":[],"mappings":";;;AAAO,IAAM,uBAAuB,GAAG,UAAC,KAAe;IACrD,sBAAsB;IACtB,IAAM,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,oCAAoC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEK,IAAM,wBAAwB,GAAG,UAAC,KAAe;IACtD,sBAAsB;IACtB,IAAM,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,oCAAoC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC"}
@@ -1,252 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.extractMethodName = exports.parseTimeToken = exports.assignTypeParams = exports.formatAddress = exports.stringToBase64 = exports.datetimeToHybrids = exports.unixtimeToHybridts = exports.hybridtsToUnixtime = exports.checkTimeParam = exports.formatNumberPrecision = exports.parseToKeyValue = exports.formatKeyValueData = void 0;
13
- var _1 = require("./");
14
- var milvus_1 = require("../milvus");
15
- /**
16
- * parse [{key:"row_count",value:4}] to {row_count:4}
17
- * @param data key value pair array
18
- * @param keys all keys in data
19
- * @returns {key:value}
20
- */
21
- var formatKeyValueData = function (data, keys) {
22
- var result = {};
23
- keys.forEach(function (k) {
24
- var value = (0, _1.findKeyValue)(data, k);
25
- result[k] = value;
26
- });
27
- return result;
28
- };
29
- exports.formatKeyValueData = formatKeyValueData;
30
- /**
31
- * parse {row_count:4} to [{key:"row_count",value:"4"}]
32
- * @param data Object
33
- * @returns {KeyValuePair[]}
34
- */
35
- var parseToKeyValue = function (data) {
36
- return data
37
- ? Object.keys(data).reduce(function (pre, cur) { return __spreadArray(__spreadArray([], pre, true), [{ key: cur, value: data[cur] }], false); }, [])
38
- : [];
39
- };
40
- exports.parseToKeyValue = parseToKeyValue;
41
- /**
42
- *
43
- * @param number Number like 3.1738998889923096
44
- * @param precision The precision you want, if is 3 will return 3.173 and If is 2 will return 3.17
45
- * @returns
46
- */
47
- var formatNumberPrecision = function (number, precision) {
48
- return Number(number
49
- .toString()
50
- .split('.')
51
- .map(function (v, i) {
52
- if (i === 1) {
53
- return v.slice(0, precision);
54
- }
55
- return v;
56
- })
57
- .join('.'));
58
- };
59
- exports.formatNumberPrecision = formatNumberPrecision;
60
- var LOGICAL_BITS = BigInt(18);
61
- // const LOGICAL_BITS_MASK = (1 << LOGICAL_BITS) - 1;
62
- var checkTimeParam = function (ts) {
63
- switch (typeof ts) {
64
- case 'bigint':
65
- return true;
66
- case 'string':
67
- return isNaN(Number(ts)) ? false : true;
68
- default:
69
- return false;
70
- }
71
- };
72
- exports.checkTimeParam = checkTimeParam;
73
- /**
74
- * Convert a hybrid timestamp to UNIX Epoch time ignoring the logic part.
75
- *
76
- * @param data
77
- * | Property | Type | Description |
78
- * | :---------------- | :---- | :------------------------------- |
79
- * | hybridts | String or BigInt | The known hybrid timestamp to convert to UNIX Epoch time. Non-negative interger range from 0 to 18446744073709551615. |
80
- *
81
- *
82
- *
83
- * @returns
84
- * | Property | Description |
85
- * | :-----------| :------------------------------- |
86
- * | unixtime as string | The Unix Epoch time is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT). |
87
- *
88
- *
89
- * #### Example
90
- *
91
- * ```
92
- * const res = hybridtsToUnixtime("429642767925248000");
93
- * ```
94
- */
95
- var hybridtsToUnixtime = function (hybridts) {
96
- if (!(0, exports.checkTimeParam)(hybridts)) {
97
- throw new Error("hybridts ".concat(milvus_1.ERROR_REASONS.TIMESTAMP_PARAM_CHECK));
98
- }
99
- var timestamp = typeof hybridts === 'bigint' ? hybridts : BigInt(hybridts);
100
- var physical = timestamp >> LOGICAL_BITS;
101
- return (physical / BigInt(1000)).toString();
102
- };
103
- exports.hybridtsToUnixtime = hybridtsToUnixtime;
104
- /**
105
- * Generate a hybrid timestamp based on Unix Epoch time, timedelta and incremental time internval.
106
- *
107
- * @param data
108
- * | Property | Type | Description |
109
- * | :---------------- | :---- | :------------------------------- |
110
- * | unixtime | string or bigint | The known Unix Epoch time used to generate a hybrid timestamp. The Unix Epoch time is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT). |
111
- *
112
- *
113
- *
114
- * @returns
115
- * | Property | Type | Description |
116
- * | :-----------| :--- | :------------------------------- |
117
- * | Hybrid timetamp | String | Hybrid timetamp is a non-negative interger range from 0 to 18446744073709551615. |
118
- *
119
- *
120
- * #### Example
121
- *
122
- * ```
123
- * const res = unixtimeToHybridts("429642767925248000");
124
- * ```
125
- */
126
- var unixtimeToHybridts = function (unixtime) {
127
- if (!(0, exports.checkTimeParam)(unixtime)) {
128
- throw new Error("hybridts ".concat(milvus_1.ERROR_REASONS.TIMESTAMP_PARAM_CHECK));
129
- }
130
- var timestamp = typeof unixtime === 'bigint' ? unixtime : BigInt(unixtime);
131
- var physical = (timestamp * BigInt(1000)) << LOGICAL_BITS;
132
- return physical.toString();
133
- };
134
- exports.unixtimeToHybridts = unixtimeToHybridts;
135
- /**
136
- * Generate a hybrid timestamp based on datetime。
137
- *
138
- * @param data
139
- * | Property | Type | Description |
140
- * | :---------------- | :---- | :------------------------------- |
141
- * | datetime | Date | The known datetime used to generate a hybrid timestamp. |
142
- *
143
- *
144
- *
145
- * @returns
146
- * | Property | Type | Description |
147
- * | :-----------| :--- | :------------------------------- |
148
- * | Hybrid timetamp | String | Hybrid timetamp is a non-negative interger range from 0 to 18446744073709551615. |
149
- *
150
- *
151
- * #### Example
152
- *
153
- * ```
154
- * const res = datetimeToHybrids("429642767925248000");
155
- * ```
156
- */
157
- var datetimeToHybrids = function (datetime) {
158
- if (!(datetime instanceof Date)) {
159
- throw new Error("hybridts ".concat(milvus_1.ERROR_REASONS.DATE_TYPE_CHECK));
160
- }
161
- return (0, exports.unixtimeToHybridts)((datetime.getTime() / 1000).toString());
162
- };
163
- exports.datetimeToHybrids = datetimeToHybrids;
164
- /**
165
- * Converts a string to base64 encoding.
166
- * @param str The string to convert.
167
- * @returns The base64 encoded string.
168
- */
169
- var stringToBase64 = function (str) {
170
- return Buffer.from(str, 'utf-8').toString('base64');
171
- };
172
- exports.stringToBase64 = stringToBase64;
173
- /**
174
- * Formats the given address by removing the http or https prefix and appending the default Milvus port if necessary.
175
- * @param address The address to format.
176
- * @returns The formatted address.
177
- */
178
- var formatAddress = function (address) {
179
- // remove http or https prefix from address
180
- var ip = address.replace(/(http|https)*:\/\//, '');
181
- return ip.includes(':') ? ip : "".concat(ip, ":").concat(milvus_1.DEFAULT_MILVUS_PORT);
182
- };
183
- exports.formatAddress = formatAddress;
184
- /**
185
- * Assigns properties with keys `dim` or `max_length` to the `type_params` object of a `FieldType` object.
186
- * If the property exists in the `field` object, it is converted to a string and then deleted from the `field` object.
187
- * If the property already exists in the `type_params` object, it is also converted to a string.
188
- *
189
- * @param field The `FieldType` object to modify.
190
- * @returns The modified `FieldType` object.
191
- */
192
- var assignTypeParams = function (field, typeParamKeys) {
193
- if (typeParamKeys === void 0) { typeParamKeys = ['dim', 'max_length']; }
194
- var newField = JSON.parse(JSON.stringify(field));
195
- typeParamKeys.forEach(function (key) {
196
- if (newField.hasOwnProperty(key)) {
197
- // if the property exists in the field object, assign it to the type_params object
198
- newField.type_params = newField.type_params || {};
199
- newField.type_params[key] = String(newField[key]);
200
- // delete the property from the field object
201
- delete newField[key];
202
- }
203
- if (newField.type_params && newField.type_params[key]) {
204
- // if the property already exists in the type_params object, convert it to a string
205
- newField.type_params[key] = String(newField.type_params[key]);
206
- }
207
- });
208
- return newField;
209
- };
210
- exports.assignTypeParams = assignTypeParams;
211
- /**
212
- * Parses a time token and returns the corresponding number of milliseconds.
213
- *
214
- * @param {string} token - The time token to parse.
215
- * @returns {number} The number of milliseconds corresponding to the time token.
216
- * @throws {Error} If the time token is invalid.
217
- */
218
- var parseTimeToken = function (token) {
219
- var num = parseInt(token.slice(0, -1));
220
- var unit = token.slice(-1);
221
- switch (unit) {
222
- case 's':
223
- return num * 1000;
224
- case 'm':
225
- return num * 60 * 1000;
226
- case 'h':
227
- return num * 60 * 60 * 1000;
228
- case 'd':
229
- return num * 24 * 60 * 60 * 1000;
230
- case 'w':
231
- return num * 7 * 24 * 60 * 60 * 1000;
232
- case 'M':
233
- return num * 30 * 24 * 60 * 60 * 1000;
234
- case 'Y':
235
- return num * 365 * 24 * 60 * 60 * 1000;
236
- default:
237
- throw new Error("Invalid time token: ".concat(token));
238
- }
239
- };
240
- exports.parseTimeToken = parseTimeToken;
241
- /**
242
- * Extracts the method name from a URL path.
243
- *
244
- * @param {string} query - The URL path to extract the method name from.
245
- * @returns {string} The extracted method name.
246
- */
247
- var extractMethodName = function (query) {
248
- var parts = query.split('/');
249
- return parts[parts.length - 1];
250
- };
251
- exports.extractMethodName = extractMethodName;
252
- //# sourceMappingURL=Format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Format.js","sourceRoot":"","sources":["../../utils/Format.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uBAAkC;AAClC,oCAKmB;AAEnB;;;;;GAKG;AACI,IAAM,kBAAkB,GAAG,UAAC,IAAoB,EAAE,IAAc;IACrE,IAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC;QACZ,IAAM,KAAK,GAAG,IAAA,eAAY,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF;;;;GAIG;AACI,IAAM,eAAe,GAAG,UAAC,IAE/B;IACC,OAAO,IAAI;QACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CACtB,UAAC,GAAU,EAAE,GAAW,IAAK,uCAAI,GAAG,UAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,WAAvC,CAAwC,EACrE,EAAE,CACH;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B;AAEF;;;;;GAKG;AACI,IAAM,qBAAqB,GAAG,UAAC,MAAc,EAAE,SAAiB;IACrE,OAAO,MAAM,CACX,MAAM;SACH,QAAQ,EAAE;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC9B;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC;AAEF,IAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAChC,qDAAqD;AAE9C,IAAM,cAAc,GAAG,UAAC,EAAO;IACpC,QAAQ,OAAO,EAAE,EAAE;QACjB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC;AATW,QAAA,cAAc,kBASzB;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,IAAM,kBAAkB,GAAG,UAAC,QAAyB;IAC1D,IAAI,CAAC,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,mBAAY,sBAAa,CAAC,qBAAqB,CAAE,CAAC,CAAC;KACpE;IACD,IAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAM,QAAQ,GAAG,SAAS,IAAI,YAAY,CAAC;IAC3C,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,IAAM,kBAAkB,GAAG,UAAC,QAAyB;IAC1D,IAAI,CAAC,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,mBAAY,sBAAa,CAAC,qBAAqB,CAAE,CAAC,CAAC;KACpE;IACD,IAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7E,IAAM,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC;IAC5D,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,IAAM,iBAAiB,GAAG,UAAC,QAAc;IAC9C,IAAI,CAAC,CAAC,QAAQ,YAAY,IAAI,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,mBAAY,sBAAa,CAAC,eAAe,CAAE,CAAC,CAAC;KAC9D;IACD,OAAO,IAAA,0BAAkB,EAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAEF;;;;GAIG;AACI,IAAM,cAAc,GAAG,UAAC,GAAW;IACxC,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAA5C,CAA4C,CAAC;AADlC,QAAA,cAAc,kBACoB;AAE/C;;;;GAIG;AACI,IAAM,aAAa,GAAG,UAAC,OAAe;IAC3C,2CAA2C;IAC3C,IAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAG,EAAE,cAAI,4BAAmB,CAAE,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEF;;;;;;;GAOG;AACI,IAAM,gBAAgB,GAAG,UAC9B,KAAgB,EAChB,aAA+C;IAA/C,8BAAA,EAAA,iBAA2B,KAAK,EAAE,YAAY,CAAC;IAE/C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG;QACvB,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAChC,kFAAkF;YAClF,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,4CAA4C;YAC5C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACrD,mFAAmF;YACnF,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/D;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B;AAEF;;;;;;GAMG;AACI,IAAM,cAAc,GAAG,UAAC,KAAa;IAC1C,IAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,IAAI,EAAE;QACZ,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;QACzB,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACvC,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,KAAK,GAAG;YACN,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC;YACE,MAAM,IAAI,KAAK,CAAC,8BAAuB,KAAK,CAAE,CAAC,CAAC;KACnD;AACH,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB;AAEF;;;;;GAKG;AACI,IAAM,iBAAiB,GAAG,UAAC,KAAa;IAC7C,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Function.js","sourceRoot":"","sources":["../../utils/Function.ts"],"names":[],"mappings":";;;AAGA;;;;;;;GAOG;AACH,SAAgB,SAAS,CACvB,GAAQ,EACR,MAAc,EACd,MAAW,EACX,OAAe;IAEf,+CAA+C;IAC/C,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IAEhD,2DAA2D;IAC3D,IAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACtC,IAAI;YACF,qEAAqE;YACrE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,UAAA,EAAE,EAAE,UAAC,GAAQ,EAAE,MAAW;gBACtD,IAAI,GAAG,EAAE;oBACP,2DAA2D;oBAC3D,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;gBACD,iDAAiD;gBACjD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAM,EAAE;YACf,+CAA+C;YAC/C,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG;QACV,2CAA2C;QAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAhCD,8BAgCC;AAEM,IAAM,YAAY,GAAG,UAAC,GAAmB,EAAE,GAAW,YAC3D,OAAA,MAAA,GAAG,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC,0CAAE,KAAK,CAAA,EAAA,CAAC;AADzB,QAAA,YAAY,gBACa;AAE/B,IAAM,KAAK,GAAG,UAAC,IAAY;IAChC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB"}
@@ -1,170 +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.getRetryInterceptor = exports.getAuthInterceptor = exports.getGRPCService = void 0;
7
- var path_1 = __importDefault(require("path"));
8
- var proto_loader_1 = require("@grpc/proto-loader");
9
- var grpc_js_1 = require("@grpc/grpc-js");
10
- var _1 = require("./");
11
- var PROTO_OPTIONS = {
12
- keepCase: true,
13
- longs: String,
14
- enums: String,
15
- defaults: true,
16
- oneofs: true,
17
- };
18
- /**
19
- * Returns a gRPC service client constructor for the given proto file and service name.
20
- * @param proto An object containing the proto file path and service name.
21
- * @returns A gRPC service client constructor.
22
- */
23
- var getGRPCService = function (proto) {
24
- // Resolve the proto file path.
25
- var PROTO_PATH = path_1.default.resolve(__dirname, proto.protoPath);
26
- // Load the proto file.
27
- var packageDefinition = (0, proto_loader_1.loadSync)(PROTO_PATH, PROTO_OPTIONS);
28
- // Load the gRPC object.
29
- var grpcObj = (0, grpc_js_1.loadPackageDefinition)(packageDefinition);
30
- // Get the service object from the gRPC object.
31
- var service = proto.serviceName
32
- .split('.')
33
- .reduce(function (a, b) { return a[b]; }, grpcObj);
34
- // Check that the service object is valid.
35
- if ((service === null || service === void 0 ? void 0 : service.name) !== 'ServiceClientImpl') {
36
- throw new Error("Unable to load service: ".concat(proto.serviceName, " from ").concat(proto.protoPath));
37
- }
38
- // Return the service client constructor.
39
- return service;
40
- };
41
- exports.getGRPCService = getGRPCService;
42
- /**
43
- * Returns an interceptor function that adds an authorization header to the metadata of a gRPC call.
44
- * @param username - The username to use for authentication.
45
- * @param password - The password to use for authentication.
46
- * @returns An interceptor function.
47
- */
48
- var getAuthInterceptor = function (username, password) {
49
- return function (options, nextCall) {
50
- // Create a new InterceptingCall object with nextCall(options) as its first parameter.
51
- return new grpc_js_1.InterceptingCall(nextCall(options), {
52
- // Define the start method of the InterceptingCall object.
53
- start: function (metadata, listener, next) {
54
- // Encode the username and password as a base64 string.
55
- var auth = Buffer.from("".concat(username, ":").concat(password), 'utf-8').toString('base64');
56
- // Add the authorization header to the metadata object with the key 'authorization'.
57
- metadata.add('authorization', auth);
58
- // Call next(metadata, listener) to continue the call with the modified metadata.
59
- next(metadata, listener);
60
- },
61
- });
62
- };
63
- };
64
- exports.getAuthInterceptor = getAuthInterceptor;
65
- /**
66
- * Returns a gRPC interceptor function that retries failed requests up to a maximum number of times.
67
- *
68
- * @param {Object} options - The options object.
69
- * @param {number} options.maxRetries - The maximum number of times to retry a failed request.
70
- * @param {number} options.retryDelay - The delay in milliseconds between retries.
71
- * @param {boolean} options.debug - Whether to log debug information.
72
- * @returns {Function} The gRPC interceptor function.
73
- */
74
- /* istanbul ignore next */
75
- var getRetryInterceptor = function (_a) {
76
- var _b = _a.maxRetries, maxRetries = _b === void 0 ? 3 : _b, _c = _a.retryDelay, retryDelay = _c === void 0 ? 30 : _c, _d = _a.debug, debug = _d === void 0 ? true : _d;
77
- return function (options, nextCall) {
78
- var savedMetadata;
79
- var savedSendMessage;
80
- var savedReceiveMessage;
81
- var savedMessageNext;
82
- // deadline
83
- var deadline = options.deadline;
84
- // get method name
85
- // option example
86
- // {
87
- // deadline: 2023-05-04T09:04:16.231Z,
88
- // method_definition: {
89
- // path: '/milvus.proto.milvus.MilvusService/ListCredUsers',
90
- // requestStream: false,
91
- // responseStream: false,
92
- // requestSerialize: [Function: serialize],
93
- // responseDeserialize: [Function: deserialize]
94
- // }
95
- // }
96
- var methodName = (0, _1.extractMethodName)(options.method_definition.path);
97
- // start time
98
- var startTime = new Date();
99
- // requester, used to reexecute method
100
- var requester = {
101
- start: function (metadata, listener, next) {
102
- savedMetadata = metadata;
103
- var newListener = {
104
- onReceiveMessage: function (message, next) {
105
- savedReceiveMessage = message;
106
- savedMessageNext = next;
107
- },
108
- onReceiveStatus: function (status, next) {
109
- // retry count
110
- var retries = 0;
111
- // retry function
112
- var retry = function (message, metadata) {
113
- retries++;
114
- var newCall = nextCall(options);
115
- // retry
116
- newCall.start(metadata, {
117
- onReceiveMessage: function (message) {
118
- savedReceiveMessage = message;
119
- },
120
- onReceiveStatus: function (status) {
121
- if ((0, _1.isStatusCodeMatched)(status.code)) {
122
- if (retries < maxRetries) {
123
- setTimeout(function () {
124
- retry(message, metadata);
125
- // double increase delay every retry
126
- }, Math.pow(2, retries) * retryDelay);
127
- }
128
- else {
129
- if (debug) {
130
- if (deadline > startTime) {
131
- console.info("".concat(methodName, " is timout, it's timeout value is: ").concat(deadline.getTime() - startTime.getTime(), "ms."));
132
- }
133
- else {
134
- console.info("".concat(methodName, " retry run out of ").concat(retries, " times."));
135
- }
136
- }
137
- savedMessageNext(savedReceiveMessage);
138
- next(status);
139
- }
140
- }
141
- else {
142
- savedMessageNext(savedReceiveMessage);
143
- next({ code: grpc_js_1.status.OK });
144
- }
145
- },
146
- });
147
- };
148
- if ((0, _1.isStatusCodeMatched)(status.code)) {
149
- retry(savedSendMessage, savedMetadata);
150
- }
151
- else {
152
- debug &&
153
- console.info("".concat(methodName, " executed in ").concat(Date.now() - startTime.getTime(), "ms."));
154
- savedMessageNext(savedReceiveMessage);
155
- next(status);
156
- }
157
- },
158
- };
159
- next(metadata, newListener);
160
- },
161
- sendMessage: function (message, next) {
162
- savedSendMessage = message;
163
- next(message);
164
- },
165
- };
166
- return new grpc_js_1.InterceptingCall(nextCall(options), requester);
167
- };
168
- };
169
- exports.getRetryInterceptor = getRetryInterceptor;
170
- //# sourceMappingURL=Grpc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Grpc.js","sourceRoot":"","sources":["../../utils/Grpc.ts"],"names":[],"mappings":"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"}