@zilliz/milvus2-sdk-node 2.2.9 → 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 (149) hide show
  1. package/README.md +76 -12
  2. package/dist/milvus/MilvusClient.d.ts +21 -2
  3. package/dist/milvus/MilvusClient.js +35 -29
  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 +5 -0
  24. package/dist/milvus/{types.js → const/index.js} +7 -10
  25. package/dist/milvus/const/index.js.map +1 -0
  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/{BaseClient.d.ts → grpc/BaseClient.d.ts} +20 -8
  30. package/dist/milvus/grpc/BaseClient.js +83 -0
  31. package/dist/milvus/grpc/BaseClient.js.map +1 -0
  32. package/dist/milvus/{Collection.d.ts → grpc/Collection.d.ts} +32 -3
  33. package/dist/milvus/grpc/Collection.js +786 -0
  34. package/dist/milvus/grpc/Collection.js.map +1 -0
  35. package/dist/milvus/{Data.d.ts → grpc/Data.d.ts} +68 -10
  36. package/dist/milvus/grpc/Data.js +880 -0
  37. package/dist/milvus/grpc/Data.js.map +1 -0
  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 +46 -0
  42. package/dist/milvus/grpc/GrpcClient.js +150 -0
  43. package/dist/milvus/grpc/GrpcClient.js.map +1 -0
  44. package/dist/milvus/{MilvusIndex.d.ts → grpc/MilvusIndex.d.ts} +1 -1
  45. package/dist/milvus/grpc/MilvusIndex.js +203 -0
  46. package/dist/milvus/grpc/MilvusIndex.js.map +1 -0
  47. package/dist/milvus/{Partition.d.ts → grpc/Partition.d.ts} +1 -1
  48. package/dist/milvus/grpc/Partition.js +265 -0
  49. package/dist/milvus/grpc/Partition.js.map +1 -0
  50. package/dist/milvus/{Resource.d.ts → grpc/Resource.d.ts} +2 -2
  51. package/dist/milvus/grpc/Resource.js +250 -0
  52. package/dist/milvus/grpc/Resource.js.map +1 -0
  53. package/dist/milvus/{User.d.ts → grpc/User.d.ts} +1 -1
  54. package/dist/milvus/grpc/User.js +619 -0
  55. package/dist/milvus/grpc/User.js.map +1 -0
  56. package/dist/milvus/index.d.ts +4 -13
  57. package/dist/milvus/index.js +6 -14
  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/orm/index.js +19 -0
  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/Common.d.ts +1 -1
  71. package/dist/milvus/types/Data.d.ts +41 -5
  72. package/dist/milvus/types/Database.d.ts +12 -0
  73. package/dist/milvus/types/{Index.js → Database.js} +1 -1
  74. package/dist/milvus/types/Database.js.map +1 -0
  75. package/dist/milvus/types/HighLevel.d.ts +13 -0
  76. package/dist/milvus/types/HighLevel.js +3 -0
  77. package/dist/milvus/types/HighLevel.js.map +1 -0
  78. package/dist/milvus/types/{Index.d.ts → MilvusIndex.d.ts} +3 -2
  79. package/dist/milvus/types/MilvusIndex.js +3 -0
  80. package/dist/milvus/types/MilvusIndex.js.map +1 -0
  81. package/dist/milvus/types/Resource.d.ts +1 -1
  82. package/dist/milvus/types/User.d.ts +1 -1
  83. package/dist/milvus/types/index.d.ts +12 -0
  84. package/dist/milvus/types/index.js +30 -0
  85. package/dist/milvus/types/index.js.map +1 -0
  86. package/dist/{utils → milvus/utils}/Blob.js +4 -4
  87. package/dist/milvus/utils/Blob.js.map +1 -0
  88. package/dist/{utils → milvus/utils}/Format.d.ts +66 -2
  89. package/dist/milvus/utils/Format.js +416 -0
  90. package/dist/milvus/utils/Format.js.map +1 -0
  91. package/dist/{utils → milvus/utils}/Function.d.ts +1 -1
  92. package/dist/{utils → milvus/utils}/Function.js +7 -7
  93. package/dist/milvus/utils/Function.js.map +1 -0
  94. package/dist/{utils → milvus/utils}/Grpc.d.ts +9 -8
  95. package/dist/milvus/utils/Grpc.js +190 -0
  96. package/dist/milvus/utils/Grpc.js.map +1 -0
  97. package/dist/{utils → milvus/utils}/Validate.d.ts +7 -1
  98. package/dist/milvus/utils/Validate.js +140 -0
  99. package/dist/milvus/utils/Validate.js.map +1 -0
  100. package/dist/{utils → milvus/utils}/index.d.ts +2 -0
  101. package/dist/{utils → milvus/utils}/index.js +2 -0
  102. package/dist/milvus/utils/index.js.map +1 -0
  103. package/dist/milvus/utils/logger.d.ts +1 -0
  104. package/dist/milvus/utils/logger.js +18 -0
  105. package/dist/milvus/utils/logger.js.map +1 -0
  106. package/dist/proto/proto/common.proto +38 -14
  107. package/dist/proto/proto/google/protobuf/descriptor.proto +8 -4
  108. package/dist/proto/proto/milvus.proto +86 -83
  109. package/dist/proto/proto/schema.proto +5 -0
  110. package/dist/sdk.json +1 -1
  111. package/package.json +14 -11
  112. package/dist/milvus/BaseClient.js +0 -62
  113. package/dist/milvus/BaseClient.js.map +0 -1
  114. package/dist/milvus/Collection.js +0 -960
  115. package/dist/milvus/Collection.js.map +0 -1
  116. package/dist/milvus/Data.js +0 -909
  117. package/dist/milvus/Data.js.map +0 -1
  118. package/dist/milvus/GrpcClient.d.ts +0 -32
  119. package/dist/milvus/GrpcClient.js +0 -236
  120. package/dist/milvus/GrpcClient.js.map +0 -1
  121. package/dist/milvus/MilvusIndex.js +0 -299
  122. package/dist/milvus/MilvusIndex.js.map +0 -1
  123. package/dist/milvus/Partition.js +0 -369
  124. package/dist/milvus/Partition.js.map +0 -1
  125. package/dist/milvus/Resource.js +0 -356
  126. package/dist/milvus/Resource.js.map +0 -1
  127. package/dist/milvus/User.js +0 -806
  128. package/dist/milvus/User.js.map +0 -1
  129. package/dist/milvus/Utils.d.ts +0 -1
  130. package/dist/milvus/Utils.js +0 -8
  131. package/dist/milvus/Utils.js.map +0 -1
  132. package/dist/milvus/types/Index.js.map +0 -1
  133. package/dist/milvus/types.d.ts +0 -9
  134. package/dist/milvus/types.js.map +0 -1
  135. package/dist/proto/proto/feder.proto +0 -40
  136. package/dist/proto/proto/msg.proto +0 -107
  137. package/dist/utils/Blob.js.map +0 -1
  138. package/dist/utils/Format.js +0 -252
  139. package/dist/utils/Format.js.map +0 -1
  140. package/dist/utils/Function.js.map +0 -1
  141. package/dist/utils/Grpc.js +0 -170
  142. package/dist/utils/Grpc.js.map +0 -1
  143. package/dist/utils/Validate.js +0 -124
  144. package/dist/utils/Validate.js.map +0 -1
  145. package/dist/utils/index.js.map +0 -1
  146. package/dist/utils/test.d.ts +0 -15
  147. package/dist/utils/test.js +0 -98
  148. package/dist/utils/test.js.map +0 -1
  149. /package/dist/{utils → milvus/utils}/Blob.d.ts +0 -0
@@ -0,0 +1,190 @@
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.getMetaInterceptor = exports.getGRPCService = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const proto_loader_1 = require("@grpc/proto-loader");
9
+ const grpc_js_1 = require("@grpc/grpc-js");
10
+ const _1 = require(".");
11
+ const const_1 = require("../const");
12
+ const PROTO_OPTIONS = {
13
+ keepCase: true,
14
+ longs: String,
15
+ enums: String,
16
+ defaults: true,
17
+ oneofs: true,
18
+ };
19
+ /**
20
+ * Returns a gRPC service client constructor for the given proto file and service name.
21
+ * @param proto An object containing the proto file path and service name.
22
+ * @returns A gRPC service client constructor.
23
+ */
24
+ const getGRPCService = (proto) => {
25
+ // Resolve the proto file path.
26
+ const PROTO_PATH = path_1.default.resolve(__dirname, proto.protoPath);
27
+ // Load the proto file.
28
+ const packageDefinition = (0, proto_loader_1.loadSync)(PROTO_PATH, PROTO_OPTIONS);
29
+ // Load the gRPC object.
30
+ const grpcObj = (0, grpc_js_1.loadPackageDefinition)(packageDefinition);
31
+ // Get the service object from the gRPC object.
32
+ const service = proto.serviceName
33
+ .split('.')
34
+ .reduce((a, b) => a[b], grpcObj);
35
+ // Check that the service object is valid.
36
+ if ((service === null || service === void 0 ? void 0 : service.name) !== 'ServiceClientImpl') {
37
+ throw new Error(`Unable to load service: ${proto.serviceName} from ${proto.protoPath}`);
38
+ }
39
+ // Return the service client constructor.
40
+ return service;
41
+ };
42
+ exports.getGRPCService = getGRPCService;
43
+ /**
44
+ * Returns a gRPC interceptor function that adds metadata to outgoing requests.
45
+ *
46
+ * @param {Function} onInvoked - A function to be called with the modified metadata.
47
+ * @param {Object[]} initValues - An array of objects containing key-value pairs to add to the metadata.
48
+ * @returns {Function} The gRPC interceptor function.
49
+ */
50
+ const getMetaInterceptor = (onInvoked, initValues = []) => function (options, nextCall) {
51
+ // Create a new InterceptingCall object with nextCall(options) as its first parameter.
52
+ return new grpc_js_1.InterceptingCall(nextCall(options), {
53
+ // Define the start method of the InterceptingCall object.
54
+ start: function (metadata, listener, next) {
55
+ initValues.forEach(obj => {
56
+ Object.entries(obj).forEach(([key, value]) => {
57
+ metadata.add(key, value);
58
+ });
59
+ });
60
+ if (onInvoked) {
61
+ onInvoked(metadata);
62
+ }
63
+ // Call next(metadata, listener) to continue the call with the modified metadata.
64
+ next(metadata, listener);
65
+ },
66
+ });
67
+ };
68
+ exports.getMetaInterceptor = getMetaInterceptor;
69
+ /**
70
+ * Returns a gRPC interceptor function that retries failed requests up to a maximum number of times.
71
+ *
72
+ * @param {Object} options - The options object.
73
+ * @param {number} options.maxRetries - The maximum number of times to retry a failed request.
74
+ * @param {number} options.retryDelay - The delay in milliseconds between retries.
75
+ * @returns {Function} The gRPC interceptor function.
76
+ */
77
+ /* istanbul ignore next */
78
+ const getRetryInterceptor = ({ maxRetries = 3, retryDelay = 30, }) => function (options, nextCall) {
79
+ let savedMetadata;
80
+ let savedSendMessage;
81
+ let savedReceiveMessage;
82
+ let savedMessageNext;
83
+ // deadline
84
+ const deadline = options.deadline;
85
+ // get method name
86
+ // option example
87
+ // {
88
+ // deadline: 2023-05-04T09:04:16.231Z,
89
+ // method_definition: {
90
+ // path: '/milvus.proto.milvus.MilvusService/ListCredUsers',
91
+ // requestStream: false,
92
+ // responseStream: false,
93
+ // requestSerialize: [Function: serialize],
94
+ // responseDeserialize: [Function: deserialize]
95
+ // }
96
+ // }
97
+ const methodName = (0, _1.extractMethodName)(options.method_definition.path);
98
+ // start time
99
+ const startTime = new Date();
100
+ let dbname = '';
101
+ // requester, used to re-execute method
102
+ let requester = {
103
+ start: function (metadata, listener, next) {
104
+ savedMetadata = metadata;
105
+ // get db name
106
+ dbname = metadata.get('dbname') || const_1.DEFAULT_DB;
107
+ // logger.debug(`[DB:${dbname}:${methodName}] started.`);
108
+ const newListener = {
109
+ onReceiveMessage: function (message, next) {
110
+ savedReceiveMessage = message;
111
+ savedMessageNext = next;
112
+ },
113
+ onReceiveStatus: function (status, next) {
114
+ // retry count
115
+ let retries = 0;
116
+ // retry function
117
+ let retry = function (message, metadata) {
118
+ // retry count
119
+ retries++;
120
+ // retry delay
121
+ const _retryDelay = Math.pow(2, retries) * retryDelay;
122
+ // timeout
123
+ const _timeout = deadline.getTime() - startTime.getTime();
124
+ // log
125
+ _1.logger.debug(`[DB:${dbname}:${methodName}] executed failed, status: ${JSON.stringify(status)}, timeout set: ${_timeout}ms, retry after ${_retryDelay} ms.`);
126
+ // retry listener
127
+ const retryListener = {
128
+ onReceiveMessage: function (message) {
129
+ savedReceiveMessage = message;
130
+ },
131
+ onReceiveStatus: function (status) {
132
+ if ((0, _1.isStatusCodeMatched)(status.code)) {
133
+ if (retries < maxRetries) {
134
+ setTimeout(() => {
135
+ // need to update the deadline
136
+ retry(message, metadata);
137
+ // double increase delay every retry
138
+ }, _retryDelay);
139
+ }
140
+ else {
141
+ _1.logger.debug(`[DB:${dbname}:${methodName}] retry run out of ${retries} times. ${JSON.stringify(status)}`);
142
+ // we still pop up server information to client
143
+ savedMessageNext(savedReceiveMessage);
144
+ // and do the next call if there is
145
+ next(status);
146
+ }
147
+ }
148
+ else {
149
+ _1.logger.debug(`[DB:${dbname}:${methodName}] retried successfully in ${Date.now() - startTime.getTime()}ms.`);
150
+ savedMessageNext(savedReceiveMessage);
151
+ next({ code: grpc_js_1.status.OK });
152
+ }
153
+ },
154
+ };
155
+ // retry, update deadline
156
+ options.deadline = new Date(Date.now() + _timeout);
157
+ let newCall = nextCall(options);
158
+ newCall.start(metadata, retryListener);
159
+ };
160
+ // check grpc status
161
+ switch (status.code) {
162
+ case grpc_js_1.status.DEADLINE_EXCEEDED:
163
+ case grpc_js_1.status.UNAVAILABLE:
164
+ case grpc_js_1.status.INTERNAL:
165
+ retry(savedSendMessage, savedMetadata);
166
+ break;
167
+ case grpc_js_1.status.UNIMPLEMENTED:
168
+ // const returnMsg = { error_code: 'Success', reason: '' };
169
+ _1.logger.debug(`[DB:${dbname}:${methodName}] returns ${JSON.stringify(status)}`);
170
+ throw new Error('This version of sdk is incompatible with the server, please downgrade your sdk or upgrade your server.');
171
+ default:
172
+ // OK
173
+ _1.logger.debug(`[DB:${dbname}:${methodName}] executed in ${Date.now() - startTime.getTime()}ms, returns ${JSON.stringify(savedReceiveMessage)}`);
174
+ savedMessageNext(savedReceiveMessage);
175
+ next(status);
176
+ }
177
+ },
178
+ };
179
+ next(metadata, newListener);
180
+ },
181
+ sendMessage: function (message, next) {
182
+ _1.logger.debug(`[DB:${dbname}:${methodName}] sending ${JSON.stringify(message)}`);
183
+ savedSendMessage = message;
184
+ next(message);
185
+ },
186
+ };
187
+ return new grpc_js_1.InterceptingCall(nextCall(options), requester);
188
+ };
189
+ exports.getRetryInterceptor = getRetryInterceptor;
190
+ //# sourceMappingURL=Grpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grpc.js","sourceRoot":"","sources":["../../../milvus/utils/Grpc.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FieldType } from '../milvus';
1
+ import { FieldType } from '../';
2
2
  /**
3
3
  * when create collection, field must contain 2 Fields.
4
4
  * Type is int64 or varchar and primary_key = true
@@ -36,3 +36,9 @@ export declare const checkSearchParams: (data: any) => void;
36
36
  * @returns {boolean} Whether the gRPC status code matches any of the given codes.
37
37
  */
38
38
  export declare const isStatusCodeMatched: (code: number, codesToCheck?: number[]) => boolean;
39
+ /**
40
+ * Validates the number of partitions.
41
+ * @param {number} num_partitions - The number of partitions to validate.
42
+ * @throws {Error} Throws an error if the number of partitions is invalid.
43
+ */
44
+ export declare const validatePartitionNumbers: (num_partitions: number) => void;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePartitionNumbers = exports.isStatusCodeMatched = exports.checkSearchParams = exports.checkCollectionAndPartitionName = exports.checkCollectionName = exports.checkCollectionFields = void 0;
4
+ const __1 = require("../");
5
+ const grpc_js_1 = require("@grpc/grpc-js");
6
+ /**
7
+ * when create collection, field must contain 2 Fields.
8
+ * Type is int64 or varchar and primary_key = true
9
+ * Type is one of float_vector and binary_vector
10
+ * Will check fields
11
+ * @param fields
12
+ */
13
+ const checkCollectionFields = (fields) => {
14
+ // Define arrays of data types that are allowed for vector fields and primary keys, respectively
15
+ const vectorDataTypes = [__1.DataType.BinaryVector, __1.DataType.FloatVector];
16
+ const int64VarCharTypes = [__1.DataType.Int64, __1.DataType.VarChar];
17
+ let hasPrimaryKey = false;
18
+ let hasVectorField = false;
19
+ let partitionKeyCount = 0;
20
+ fields.forEach(field => {
21
+ var _a, _b;
22
+ if (!field.hasOwnProperty('data_type')) {
23
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_MISS_DATA_TYPE);
24
+ }
25
+ // get data type
26
+ const dataType = (0, __1.convertToDataType)(field.data_type);
27
+ const isPrimaryKey = field.is_primary_key;
28
+ const isPartitionKey = field.is_partition_key;
29
+ if (isPrimaryKey && int64VarCharTypes.includes(dataType)) {
30
+ hasPrimaryKey = true;
31
+ }
32
+ // if partition key is set, it should be set on int64 or varchar and non-primary key field
33
+ if (isPartitionKey) {
34
+ if (!int64VarCharTypes.includes(dataType) || isPrimaryKey) {
35
+ throw new Error(__1.ERROR_REASONS.INVALID_PARTITION_KEY_FIELD_TYPE);
36
+ }
37
+ }
38
+ // if this is the partition key field, check the limit
39
+ if (isPartitionKey) {
40
+ partitionKeyCount++;
41
+ }
42
+ // if this is the vector field, check dimension
43
+ const isVectorField = vectorDataTypes.includes(dataType);
44
+ const typeParams = field.type_params;
45
+ if (isVectorField) {
46
+ const dim = Number((_a = typeParams === null || typeParams === void 0 ? void 0 : typeParams.dim) !== null && _a !== void 0 ? _a : field.dim);
47
+ if (!dim) {
48
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_MISS_DIM);
49
+ }
50
+ if (dataType === __1.DataType.BinaryVector && dim % 8 !== 0) {
51
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_BINARY_DIM);
52
+ }
53
+ hasVectorField = true;
54
+ }
55
+ // if this is a varchar field, check max_length
56
+ if (dataType === __1.DataType.VarChar) {
57
+ const maxLength = (_b = typeParams === null || typeParams === void 0 ? void 0 : typeParams.max_length) !== null && _b !== void 0 ? _b : field.max_length;
58
+ if (!maxLength) {
59
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_MISS_MAX_LENGTH);
60
+ }
61
+ }
62
+ });
63
+ // if no primary key field is found, throw error
64
+ if (!hasPrimaryKey) {
65
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_PRIMARY_KEY);
66
+ }
67
+ // if no vector field is found, throw error
68
+ if (!hasVectorField) {
69
+ throw new Error(__1.ERROR_REASONS.CREATE_COLLECTION_CHECK_VECTOR_FIELD_EXIST);
70
+ }
71
+ if (partitionKeyCount > __1.MAX_PARTITION_KEY_FIELD_COUNT) {
72
+ throw new Error(__1.ERROR_REASONS.PARTITION_KEY_FIELD_MAXED_OUT);
73
+ }
74
+ return true;
75
+ };
76
+ exports.checkCollectionFields = checkCollectionFields;
77
+ /**
78
+ * check if the request contains collection_name
79
+ * otherwise throw an error
80
+ * @param data
81
+ */
82
+ const checkCollectionName = (data) => {
83
+ if (!data || !data.collection_name) {
84
+ throw new Error(__1.ERROR_REASONS.COLLECTION_NAME_IS_REQUIRED);
85
+ }
86
+ };
87
+ exports.checkCollectionName = checkCollectionName;
88
+ /**
89
+ * check if the request contains collection_name and partition_name
90
+ * otherwise throw an error
91
+ * @param data
92
+ */
93
+ const checkCollectionAndPartitionName = (data) => {
94
+ if (!data || !data.collection_name || !data.partition_name) {
95
+ throw new Error(__1.ERROR_REASONS.COLLECTION_PARTITION_NAME_ARE_REQUIRED);
96
+ }
97
+ };
98
+ exports.checkCollectionAndPartitionName = checkCollectionAndPartitionName;
99
+ /**
100
+ * Checks the validity of search parameters.
101
+ * @param {Object} data - The search parameters to be checked.
102
+ * @throws {Error} Throws an error if any of the search parameters are invalid.
103
+ */
104
+ const checkSearchParams = (data) => {
105
+ (0, exports.checkCollectionName)(data);
106
+ if (!data.vectors && !data.vector && !data.data) {
107
+ throw new Error(__1.ERROR_REASONS.VECTORS_OR_VECTOR_IS_MISSING);
108
+ }
109
+ };
110
+ exports.checkSearchParams = checkSearchParams;
111
+ /**
112
+ * Checks if a gRPC status code matches any of the given codes.
113
+ * DEADLINE_EXCEEDED means that the task wat not completed
114
+ * UNAVAILABLE means that the service is not reachable currently
115
+ * Reference: https://grpc.github.io/grpc/python/grpc.html#grpc-status-code
116
+ *
117
+ * @param {number} code - The gRPC status code to check.
118
+ * @param {number[]} [codesToCheck=[grpcStatus.DEADLINE_EXCEEDED, grpcStatus.UNAVAILABLE]] - An array of gRPC status codes to check against.
119
+ * @returns {boolean} Whether the gRPC status code matches any of the given codes.
120
+ */
121
+ const isStatusCodeMatched = (code, codesToCheck = [
122
+ grpc_js_1.status.DEADLINE_EXCEEDED,
123
+ grpc_js_1.status.UNAVAILABLE,
124
+ grpc_js_1.status.INTERNAL,
125
+ ]) => {
126
+ return codesToCheck.includes(code);
127
+ };
128
+ exports.isStatusCodeMatched = isStatusCodeMatched;
129
+ /**
130
+ * Validates the number of partitions.
131
+ * @param {number} num_partitions - The number of partitions to validate.
132
+ * @throws {Error} Throws an error if the number of partitions is invalid.
133
+ */
134
+ const validatePartitionNumbers = (num_partitions) => {
135
+ if (num_partitions < 1 || num_partitions > __1.MAX_PARTITIONS_NUMBER) {
136
+ throw new Error(__1.ERROR_REASONS.INVALID_PARTITION_NUM);
137
+ }
138
+ };
139
+ exports.validatePartitionNumbers = validatePartitionNumbers;
140
+ //# sourceMappingURL=Validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validate.js","sourceRoot":"","sources":["../../../milvus/utils/Validate.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,5 @@ export * from './Blob';
3
3
  export * from './Format';
4
4
  export * from './Validate';
5
5
  export * from './Function';
6
+ export * from './Function';
7
+ export * from './logger';
@@ -19,4 +19,6 @@ __exportStar(require("./Blob"), exports);
19
19
  __exportStar(require("./Format"), exports);
20
20
  __exportStar(require("./Validate"), exports);
21
21
  __exportStar(require("./Function"), exports);
22
+ __exportStar(require("./Function"), exports);
23
+ __exportStar(require("./logger"), exports);
22
24
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../milvus/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB"}
@@ -0,0 +1 @@
1
+ export declare const logger: import("winston").Logger;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ const winston_1 = require("winston");
5
+ const level = process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development'
6
+ ? 'debug'
7
+ : 'info';
8
+ exports.logger = (0, winston_1.createLogger)({
9
+ transports: [new winston_1.transports.Console()],
10
+ format: winston_1.format.combine(winston_1.format.colorize(), winston_1.format.timestamp(), winston_1.format.printf(({ timestamp, level, message, service }) => {
11
+ return `[${timestamp}] ${service} ${level}: ${message}`;
12
+ })),
13
+ defaultMeta: {
14
+ service: 'Milvus-sdk-node',
15
+ },
16
+ level,
17
+ });
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../milvus/utils/logger.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAE3D,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IACvE,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,MAAM,CAAC;AAEA,QAAA,MAAM,GAAG,IAAA,sBAAY,EAAC;IACjC,UAAU,EAAE,CAAC,IAAI,oBAAU,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,gBAAM,CAAC,OAAO,CACpB,gBAAM,CAAC,QAAQ,EAAE,EACjB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,OAAO,IAAI,SAAS,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CACH;IACD,WAAW,EAAE;QACX,OAAO,EAAE,iBAAiB;KAC3B;IACD,KAAK;CACN,CAAC,CAAC"}
@@ -12,7 +12,6 @@ option csharp_namespace = "IO.Milvus.Grpc";
12
12
 
13
13
  import "google/protobuf/descriptor.proto";
14
14
 
15
- // Deprecated
16
15
  enum ErrorCode {
17
16
  Success = 0;
18
17
  UnexpectedError = 1;
@@ -72,6 +71,9 @@ enum ErrorCode {
72
71
  NotReadyServe = 56;
73
72
  // Coord is switching from standby mode to active mode
74
73
  NotReadyCoordActivating = 57;
74
+
75
+ NotFoundTSafer = 58;
76
+
75
77
  // Service availability.
76
78
  // NA: Not Available.
77
79
  DataCoordNA = 100;
@@ -103,7 +105,6 @@ enum SegmentState {
103
105
  message Status {
104
106
  ErrorCode error_code = 1;
105
107
  string reason = 2;
106
- int32 code = 3;
107
108
  }
108
109
 
109
110
  message KeyValuePair {
@@ -159,9 +160,7 @@ enum MsgType {
159
160
  AlterAlias = 110;
160
161
  AlterCollection = 111;
161
162
  RenameCollection = 112;
162
- DescribeAlias = 113;
163
- ListAliases = 114;
164
-
163
+
165
164
  /* DEFINITION REQUESTS: PARTITION */
166
165
  CreatePartition = 200;
167
166
  DropPartition = 201;
@@ -179,8 +178,6 @@ enum MsgType {
179
178
  HandoffSegments = 254;
180
179
  LoadBalanceSegments = 255;
181
180
  DescribeSegments = 256;
182
- FederListIndexedSegment = 257;
183
- FederDescribeSegmentIndexData = 258;
184
181
 
185
182
  /* DEFINITION REQUESTS: INDEX */
186
183
  CreateIndex = 300;
@@ -193,7 +190,6 @@ enum MsgType {
193
190
  Delete = 401;
194
191
  Flush = 402;
195
192
  ResendSegmentStats = 403;
196
- Upsert = 404;
197
193
 
198
194
  /* QUERY */
199
195
  Search = 500;
@@ -233,6 +229,8 @@ enum MsgType {
233
229
  SegmentFlushDone = 1207;
234
230
 
235
231
  DataNodeTt = 1208;
232
+ Connect = 1209;
233
+ ListClientInfos = 1210;
236
234
 
237
235
  /* Credential */
238
236
  CreateCredential = 1500;
@@ -260,6 +258,11 @@ enum MsgType {
260
258
  DescribeResourceGroup = 1703;
261
259
  TransferNode = 1704;
262
260
  TransferReplica = 1705;
261
+
262
+ /* Database group */
263
+ CreateDatabase = 1801;
264
+ DropDatabase = 1802;
265
+ ListDatabases = 1803;
263
266
  }
264
267
 
265
268
  message MsgBase {
@@ -304,8 +307,7 @@ enum ImportState {
304
307
  ImportPending = 0; // the task in in pending list of rootCoord, waiting to be executed
305
308
  ImportFailed = 1; // the task failed for some reason, get detail reason from GetImportStateResponse.infos
306
309
  ImportStarted = 2; // the task has been sent to datanode to execute
307
- ImportPersisted = 5; // all data files have been parsed and all meta data already persisted, ready to be flushed.
308
- ImportFlushed = 8; // all segments are successfully flushed.
310
+ ImportPersisted = 5; // all data files have been parsed and data already persisted
309
311
  ImportCompleted = 6; // all indexes are successfully built and segments are able to be compacted as normal.
310
312
  ImportFailedAndCleaned = 7; // the task failed and all segments it generated are cleaned up.
311
313
  }
@@ -343,7 +345,7 @@ enum ObjectPrivilege {
343
345
  PrivilegeSelectOwnership = 22;
344
346
  PrivilegeManageOwnership = 23;
345
347
  PrivilegeSelectUser = 24;
346
- PrivilegeUpsert = 25;
348
+
347
349
  PrivilegeCreateResourceGroup = 26;
348
350
  PrivilegeDropResourceGroup = 27;
349
351
  PrivilegeDescribeResourceGroup = 28;
@@ -352,6 +354,11 @@ enum ObjectPrivilege {
352
354
  PrivilegeTransferReplica = 31;
353
355
  PrivilegeGetLoadingProgress = 32;
354
356
  PrivilegeGetLoadState = 33;
357
+
358
+ PrivilegeRenameCollection = 34;
359
+ PrivilegeCreateDatabase = 35;
360
+ PrivilegeDropDatabase = 36;
361
+ PrivilegeListDatabases = 37;
355
362
  }
356
363
 
357
364
  message PrivilegeExt {
@@ -380,7 +387,24 @@ enum LoadState {
380
387
  LoadStateLoaded = 3;
381
388
  }
382
389
 
383
- message SegmentStats {
384
- int64 SegmentID = 1;
385
- int64 NumRows = 2;
390
+ message ClientInfo {
391
+ // sdk_type can be `python`, `golang`, `nodejs` and etc. It's not proper to make `sdk_type` an
392
+ // enumerate type, since we cannot always update the enum value everytime when newly sdk is supported.
393
+ string sdk_type = 1;
394
+ string sdk_version = 2;
395
+ string local_time = 3;
396
+ string user = 4;
397
+ string host = 5;
398
+ // reserved for newly-added feature if necessary.
399
+ map<string, string> reserved = 6;
400
+ }
401
+
402
+ message ServerInfo {
403
+ string build_tags = 1;
404
+ string build_time = 2;
405
+ string git_commit = 3;
406
+ string go_version = 4;
407
+ string deploy_mode = 5;
408
+ // reserved for newly-added feature if necessary.
409
+ map<string, string> reserved = 6;
386
410
  }
@@ -159,10 +159,9 @@ message ExtensionRangeOptions {
159
159
  optional bool repeated = 6;
160
160
  }
161
161
 
162
- // go/protobuf-stripping-extension-declarations
163
- // Like Metadata, but we use a repeated field to hold all extension
164
- // declarations. This should avoid the size increases of transforming a large
165
- // extension range into small ranges in generated binaries.
162
+ // For external users: DO NOT USE. We are in the process of open sourcing
163
+ // extension declaration and executing internal cleanups before it can be
164
+ // used externally.
166
165
  repeated Declaration declaration = 2 [retention = RETENTION_SOURCE];
167
166
 
168
167
  // The verification state of the extension range.
@@ -768,6 +767,11 @@ message EnumValueOptions {
768
767
  // this is a formalization for deprecating enum values.
769
768
  optional bool deprecated = 1 [default = false];
770
769
 
770
+ // Indicate that fields annotated with this enum value should not be printed
771
+ // out when using debug formats, e.g. when the field contains sensitive
772
+ // credentials.
773
+ optional bool debug_redact = 3 [default = false];
774
+
771
775
  // The parser stores options it doesn't recognize here. See above.
772
776
  repeated UninterpretedOption uninterpreted_option = 999;
773
777