@zilliz/milvus2-sdk-node 2.3.5 → 2.4.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 (121) hide show
  1. package/README.md +154 -35
  2. package/dist/milvus/HttpClient.d.ts +165 -2
  3. package/dist/milvus/HttpClient.js +17 -3
  4. package/dist/milvus/HttpClient.js.map +1 -1
  5. package/dist/milvus/MilvusClient.d.ts +3 -3
  6. package/dist/milvus/MilvusClient.js +42 -8
  7. package/dist/milvus/MilvusClient.js.map +1 -1
  8. package/dist/milvus/const/client.d.ts +4 -3
  9. package/dist/milvus/const/client.js +4 -3
  10. package/dist/milvus/const/client.js.map +1 -1
  11. package/dist/milvus/const/defaults.d.ts +5 -4
  12. package/dist/milvus/const/defaults.js +14 -13
  13. package/dist/milvus/const/defaults.js.map +1 -1
  14. package/dist/milvus/const/error.js +1 -1
  15. package/dist/milvus/const/error.js.map +1 -1
  16. package/dist/milvus/const/milvus.d.ts +47 -8
  17. package/dist/milvus/const/milvus.js +42 -3
  18. package/dist/milvus/const/milvus.js.map +1 -1
  19. package/dist/milvus/grpc/BaseClient.d.ts +11 -9
  20. package/dist/milvus/grpc/BaseClient.js +59 -21
  21. package/dist/milvus/grpc/BaseClient.js.map +1 -1
  22. package/dist/milvus/grpc/Collection.d.ts +311 -366
  23. package/dist/milvus/grpc/Collection.js +355 -387
  24. package/dist/milvus/grpc/Collection.js.map +1 -1
  25. package/dist/milvus/grpc/Data.d.ts +244 -291
  26. package/dist/milvus/grpc/Data.js +402 -539
  27. package/dist/milvus/grpc/Data.js.map +1 -1
  28. package/dist/milvus/grpc/Database.d.ts +29 -41
  29. package/dist/milvus/grpc/Database.js +32 -44
  30. package/dist/milvus/grpc/Database.js.map +1 -1
  31. package/dist/milvus/grpc/GrpcClient.d.ts +34 -13
  32. package/dist/milvus/grpc/GrpcClient.js +80 -70
  33. package/dist/milvus/grpc/GrpcClient.js.map +1 -1
  34. package/dist/milvus/grpc/MilvusIndex.d.ts +127 -67
  35. package/dist/milvus/grpc/MilvusIndex.js +166 -70
  36. package/dist/milvus/grpc/MilvusIndex.js.map +1 -1
  37. package/dist/milvus/grpc/Partition.d.ts +78 -113
  38. package/dist/milvus/grpc/Partition.js +109 -119
  39. package/dist/milvus/grpc/Partition.js.map +1 -1
  40. package/dist/milvus/grpc/Resource.d.ts +63 -92
  41. package/dist/milvus/grpc/Resource.js +69 -98
  42. package/dist/milvus/grpc/Resource.js.map +1 -1
  43. package/dist/milvus/grpc/User.d.ts +263 -295
  44. package/dist/milvus/grpc/User.js +287 -310
  45. package/dist/milvus/grpc/User.js.map +1 -1
  46. package/dist/milvus/http/Alias.d.ts +37 -0
  47. package/dist/milvus/http/Alias.js +62 -0
  48. package/dist/milvus/http/Alias.js.map +1 -0
  49. package/dist/milvus/http/Collection.d.ts +15 -1
  50. package/dist/milvus/http/Collection.js +55 -9
  51. package/dist/milvus/http/Collection.js.map +1 -1
  52. package/dist/milvus/http/Import.d.ts +33 -0
  53. package/dist/milvus/http/Import.js +48 -0
  54. package/dist/milvus/http/Import.js.map +1 -0
  55. package/dist/milvus/http/MilvusIndex.d.ts +35 -0
  56. package/dist/milvus/http/MilvusIndex.js +55 -0
  57. package/dist/milvus/http/MilvusIndex.js.map +1 -0
  58. package/dist/milvus/http/Partition.d.ts +41 -0
  59. package/dist/milvus/http/Partition.js +76 -0
  60. package/dist/milvus/http/Partition.js.map +1 -0
  61. package/dist/milvus/http/Role.d.ts +39 -0
  62. package/dist/milvus/http/Role.js +69 -0
  63. package/dist/milvus/http/Role.js.map +1 -0
  64. package/dist/milvus/http/User.d.ts +41 -0
  65. package/dist/milvus/http/User.js +76 -0
  66. package/dist/milvus/http/User.js.map +1 -0
  67. package/dist/milvus/http/Vector.d.ts +5 -3
  68. package/dist/milvus/http/Vector.js +10 -7
  69. package/dist/milvus/http/Vector.js.map +1 -1
  70. package/dist/milvus/http/index.d.ts +6 -0
  71. package/dist/milvus/http/index.js +6 -0
  72. package/dist/milvus/http/index.js.map +1 -1
  73. package/dist/milvus/index.d.ts +0 -1
  74. package/dist/milvus/index.js +0 -1
  75. package/dist/milvus/index.js.map +1 -1
  76. package/dist/milvus/types/Client.d.ts +5 -0
  77. package/dist/milvus/types/Collection.d.ts +34 -9
  78. package/dist/milvus/types/Common.d.ts +1 -3
  79. package/dist/milvus/types/Data.d.ts +79 -23
  80. package/dist/milvus/types/Data.js +1 -0
  81. package/dist/milvus/types/Data.js.map +1 -1
  82. package/dist/milvus/types/HighLevel.d.ts +6 -3
  83. package/dist/milvus/types/Http.d.ts +191 -9
  84. package/dist/milvus/types/MilvusIndex.d.ts +17 -3
  85. package/dist/milvus/utils/Bytes.d.ts +84 -0
  86. package/dist/milvus/utils/Bytes.js +261 -0
  87. package/dist/milvus/utils/Bytes.js.map +1 -0
  88. package/dist/milvus/utils/Format.d.ts +126 -68
  89. package/dist/milvus/utils/Format.js +375 -94
  90. package/dist/milvus/utils/Format.js.map +1 -1
  91. package/dist/milvus/utils/Function.d.ts +4 -2
  92. package/dist/milvus/utils/Function.js +58 -25
  93. package/dist/milvus/utils/Function.js.map +1 -1
  94. package/dist/milvus/utils/Grpc.d.ts +3 -2
  95. package/dist/milvus/utils/Grpc.js +65 -98
  96. package/dist/milvus/utils/Grpc.js.map +1 -1
  97. package/dist/milvus/utils/Validate.d.ts +18 -3
  98. package/dist/milvus/utils/Validate.js +38 -12
  99. package/dist/milvus/utils/Validate.js.map +1 -1
  100. package/dist/milvus/utils/index.d.ts +1 -1
  101. package/dist/milvus/utils/index.js +1 -1
  102. package/dist/milvus/utils/index.js.map +1 -1
  103. package/dist/proto/proto/common.proto +26 -1
  104. package/dist/proto/proto/google/protobuf/descriptor.proto +90 -28
  105. package/dist/proto/proto/milvus.proto +168 -2
  106. package/dist/proto/proto/rg.proto +28 -0
  107. package/dist/proto/proto/schema.proto +34 -0
  108. package/dist/sdk.json +1 -1
  109. package/package.json +8 -5
  110. package/dist/milvus/OrmClient.d.ts +0 -19
  111. package/dist/milvus/OrmClient.js +0 -51
  112. package/dist/milvus/OrmClient.js.map +0 -1
  113. package/dist/milvus/orm/Collection.d.ts +0 -43
  114. package/dist/milvus/orm/Collection.js +0 -165
  115. package/dist/milvus/orm/Collection.js.map +0 -1
  116. package/dist/milvus/orm/index.d.ts +0 -1
  117. package/dist/milvus/orm/index.js +0 -18
  118. package/dist/milvus/orm/index.js.map +0 -1
  119. package/dist/milvus/utils/Blob.d.ts +0 -4
  120. package/dist/milvus/utils/Blob.js +0 -18
  121. package/dist/milvus/utils/Blob.js.map +0 -1
@@ -16,6 +16,8 @@ exports.BaseClient = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const crypto_1 = __importDefault(require("crypto"));
18
18
  const protobufjs_1 = __importDefault(require("protobufjs"));
19
+ const fs_1 = require("fs");
20
+ const grpc_js_1 = require("@grpc/grpc-js");
19
21
  const __1 = require("../");
20
22
  // path
21
23
  const milvusProtoPath = path_1.default.resolve(__dirname, '../../proto/proto/milvus.proto');
@@ -33,31 +35,34 @@ class BaseClient {
33
35
  * @param password The password for authentication. Required if username is provided.
34
36
  */
35
37
  constructor(configOrAddress, ssl, username, password, channelOptions) {
36
- var _a;
38
+ var _a, _b, _c;
37
39
  // Client ID
38
40
  this.clientId = `${crypto_1.default.randomUUID()}`;
39
41
  // flags to indicate that if the connection is established and its state
40
42
  this.connectStatus = __1.CONNECT_STATUS.NOT_CONNECTED;
43
+ // connection promise
41
44
  this.connectPromise = Promise.resolve();
42
- // metadata
43
- this.metadata = new Map();
44
- // The path to the Milvus protobuf file.
45
+ // TLS mode, by default it is disabled
46
+ this.tlsMode = __1.TLS_MODE.DISABLED;
47
+ // server info
48
+ this.serverInfo = {};
49
+ // // The gRPC client instance.
50
+ // public client!: Promise<Client>;
51
+ // The timeout for connecting to the Milvus service.
52
+ this.timeout = __1.DEFAULT_CONNECT_TIMEOUT;
53
+ // The path to the Milvus protobuf file, user can define it from clientConfig
45
54
  this.protoFilePath = {
46
55
  milvus: milvusProtoPath,
47
56
  schema: schemaProtoPath,
48
57
  };
58
+ // global metadata, send each grpc request with it
59
+ this.metadata = new Map();
49
60
  // milvus proto
50
61
  this.protoInternalPath = {
51
62
  serviceName: 'milvus.proto.milvus.MilvusService',
52
63
  collectionSchema: 'milvus.proto.schema.CollectionSchema',
53
64
  fieldSchema: 'milvus.proto.schema.FieldSchema',
54
65
  };
55
- // TLS mode, by default it is disabled
56
- this.tlsMode = __1.TLS_MODE.DISABLED;
57
- // server info
58
- this.serverInfo = {};
59
- // The timeout for connecting to the Milvus service.
60
- this.timeout = __1.DEFAULT_CONNECT_TIMEOUT;
61
66
  let config;
62
67
  // If a configuration object is provided, use it. Otherwise, create a new object with the provided parameters.
63
68
  if (typeof configOrAddress === 'object') {
@@ -85,16 +90,6 @@ class BaseClient {
85
90
  }
86
91
  // Assign the configuration object.
87
92
  this.config = config;
88
- // if ssl is on or starts with https, tlsMode = 1(one way auth).
89
- this.tlsMode =
90
- this.config.address.startsWith('https://') || this.config.ssl
91
- ? __1.TLS_MODE.ONE_WAY
92
- : __1.TLS_MODE.DISABLED;
93
- // if cert and private keys are available as well, tlsMode = 2(two way auth).
94
- this.tlsMode =
95
- this.config.tls && this.config.tls.rootCertPath
96
- ? __1.TLS_MODE.TWO_WAY
97
- : this.tlsMode;
98
93
  // setup proto file path
99
94
  if (this.config.protoFilePath) {
100
95
  const { milvus, schema } = this.config.protoFilePath;
@@ -111,12 +106,55 @@ class BaseClient {
111
106
  this.channelOptions = Object.assign({
112
107
  // Milvus default max_receive_message_length is 100MB, but Milvus support change max_receive_message_length .
113
108
  // So SDK should support max_receive_message_length unlimited.
114
- 'grpc.max_receive_message_length': -1, 'grpc.max_send_message_length': -1, 'grpc.keepalive_time_ms': 10 * 1000, 'grpc.keepalive_timeout_ms': 5 * 1000, 'grpc.keepalive_permit_without_calls': 1, 'grpc.enable_retries': 1 }, this.config.channelOptions);
109
+ 'grpc.max_receive_message_length': -1, 'grpc.max_send_message_length': -1, 'grpc.keepalive_time_ms': 55 * 1000, 'grpc.keepalive_timeout_ms': 5 * 1000, 'grpc.keepalive_permit_without_calls': 1, 'grpc.enable_retries': 1 }, this.config.channelOptions);
115
110
  // overwrite if server name is provided.
116
111
  if ((_a = this.config.tls) === null || _a === void 0 ? void 0 : _a.serverName) {
117
112
  this.channelOptions[`grpc.ssl_target_name_override`] =
118
113
  this.config.tls.serverName;
119
114
  }
115
+ // If the address starts with 'https://' or SSL is enabled, set to one-way authentication
116
+ this.tlsMode =
117
+ this.config.address.startsWith('https://') || this.config.ssl
118
+ ? __1.TLS_MODE.ONE_WAY
119
+ : __1.TLS_MODE.DISABLED;
120
+ // If the root certificate path is provided, also set to one-way authentication
121
+ this.tlsMode =
122
+ this.config.tls && this.config.tls.rootCertPath
123
+ ? __1.TLS_MODE.ONE_WAY
124
+ : this.tlsMode;
125
+ // If the private key path is provided, set to two-way authentication
126
+ this.tlsMode =
127
+ this.config.tls && this.config.tls.privateKeyPath
128
+ ? __1.TLS_MODE.TWO_WAY
129
+ : this.tlsMode;
130
+ // Create credentials based on the TLS mode
131
+ switch (this.tlsMode) {
132
+ case __1.TLS_MODE.ONE_WAY:
133
+ // For one-way authentication, create SSL credentials with the root certificate if provided
134
+ const sslOption = ((_b = this.config.tls) === null || _b === void 0 ? void 0 : _b.rootCertPath)
135
+ ? (0, fs_1.readFileSync)((_c = this.config.tls) === null || _c === void 0 ? void 0 : _c.rootCertPath)
136
+ : undefined;
137
+ this.creds = grpc_js_1.credentials.createSsl(sslOption);
138
+ break;
139
+ case __1.TLS_MODE.TWO_WAY:
140
+ // For two-way authentication, create SSL credentials with the root certificate, private key, certificate chain, and verify options
141
+ const { rootCertPath, privateKeyPath, certChainPath, verifyOptions } = this.config.tls;
142
+ const rootCertBuff = rootCertPath
143
+ ? (0, fs_1.readFileSync)(rootCertPath)
144
+ : null;
145
+ const privateKeyBuff = privateKeyPath
146
+ ? (0, fs_1.readFileSync)(privateKeyPath)
147
+ : null;
148
+ const certChainBuff = certChainPath
149
+ ? (0, fs_1.readFileSync)(certChainPath)
150
+ : null;
151
+ this.creds = grpc_js_1.credentials.createSsl(rootCertBuff, privateKeyBuff, certChainBuff, verifyOptions);
152
+ break;
153
+ default:
154
+ // If no TLS mode is specified, create insecure credentials
155
+ this.creds = grpc_js_1.credentials.createInsecure();
156
+ break;
157
+ }
120
158
  // Set up the timeout for connecting to the Milvus service.
121
159
  this.timeout =
122
160
  typeof config.timeout === 'string'
@@ -1 +1 @@
1
- {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../milvus/grpc/BaseClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../milvus/grpc/BaseClient.ts"],"names":[],"mappings":"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"}