@cloudbase/ai 2.18.4 → 2.19.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.
@@ -14,9 +14,9 @@ export declare class Bot {
14
14
  sendFeedback({ userFeedback }: ISendBotFeedback, options?: ReqOptions): Promise<Object>;
15
15
  getFeedback(props: IGetBotFeedback, options?: ReqOptions): Promise<Object>;
16
16
  uploadFiles(props: IBotUploadFiles, options?: ReqOptions): Promise<Object>;
17
- createConversation(props: IBotCreateConversation, options?: ReqOptions): Promise<Object>;
18
- getConversation({ pageSize, pageNumber, ...rest }: IBotGetConversation, options?: ReqOptions): Promise<Object>;
19
- deleteConversation(props: IBotDeleteConversation, options?: ReqOptions): Promise<Object>;
17
+ createConversation({ botId, ...rest }: IBotCreateConversation, options?: ReqOptions): Promise<Object>;
18
+ getConversation({ pageSize, pageNumber, botId, ...rest }: IBotGetConversation, options?: ReqOptions): Promise<Object>;
19
+ deleteConversation({ botId, conversationId, ...rest }: IBotDeleteConversation, options?: ReqOptions): Promise<Object>;
20
20
  speechToText(props: IBotSpeechToText, options?: ReqOptions): Promise<Object>;
21
21
  textToSpeech(props: IBotTextToSpeech, options?: ReqOptions): Promise<Object>;
22
22
  getTextToSpeechResult(props: IBotGetTextToSpeechResult, options?: ReqOptions): Promise<Object>;
@@ -149,20 +149,21 @@ var Bot = (function () {
149
149
  });
150
150
  });
151
151
  };
152
- Bot.prototype.createConversation = function (props, options) {
152
+ Bot.prototype.createConversation = function (_a, options) {
153
+ var botId = _a.botId, rest = __rest(_a, ["botId"]);
153
154
  return __awaiter(this, void 0, void 0, function () {
154
- return __generator(this, function (_a) {
155
+ return __generator(this, function (_b) {
155
156
  return [2, this.req({
156
157
  method: 'post',
157
- url: this.join('conversation'),
158
- data: props,
158
+ url: this.join("bots/".concat(botId, "/conversation")),
159
+ data: rest,
159
160
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
160
161
  })];
161
162
  });
162
163
  });
163
164
  };
164
165
  Bot.prototype.getConversation = function (_a, options) {
165
- var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, _c = _a.pageNumber, pageNumber = _c === void 0 ? 1 : _c, rest = __rest(_a, ["pageSize", "pageNumber"]);
166
+ var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, _c = _a.pageNumber, pageNumber = _c === void 0 ? 1 : _c, botId = _a.botId, rest = __rest(_a, ["pageSize", "pageNumber", "botId"]);
166
167
  return __awaiter(this, void 0, void 0, function () {
167
168
  var offset, limit;
168
169
  return __generator(this, function (_d) {
@@ -172,20 +173,21 @@ var Bot = (function () {
172
173
  limit = pageSize;
173
174
  return [2, this.req({
174
175
  method: 'get',
175
- url: this.join('conversation'),
176
+ url: this.join("bots/".concat(botId, "/conversation")),
176
177
  data: __assign(__assign({}, rest), { offset: offset, limit: limit }),
177
178
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
178
179
  })];
179
180
  });
180
181
  });
181
182
  };
182
- Bot.prototype.deleteConversation = function (props, options) {
183
+ Bot.prototype.deleteConversation = function (_a, options) {
184
+ var botId = _a.botId, conversationId = _a.conversationId, rest = __rest(_a, ["botId", "conversationId"]);
183
185
  return __awaiter(this, void 0, void 0, function () {
184
- return __generator(this, function (_a) {
186
+ return __generator(this, function (_b) {
185
187
  return [2, this.req({
186
188
  method: 'delete',
187
- url: this.join("conversation/".concat(props.conversationId)),
188
- data: props,
189
+ url: this.join("bots/".concat(botId, "/conversation/").concat(conversationId)),
190
+ data: rest,
189
191
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
190
192
  })];
191
193
  });
@@ -371,4 +373,4 @@ var StreamResult = (function () {
371
373
  });
372
374
  return StreamResult;
373
375
  }());
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsa0NBTWlCO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLE9BQW9CO1lBQTNDLE9BQU8sYUFBQTtRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcs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T0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7eUJBQzVFOzZCQUFNOzRCQUNMLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTt5QkFDdkI7cUJBQ0Y7Z0JBQ0gsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLG9DQUFVO2FBQWQ7WUFDRSxPQUFPLElBQUEsMkJBQW1CLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSx1QkFBZSxDQUE2QjtnQkFDckcsU0FBUyxZQUFDLEtBQUssRUFBRSxVQUFVOztvQkFDekIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMxQyxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBNUNELElBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQYXJzZWRFdmVudCB9IGZyb20gJy4uL2V2ZW50c291cmNlX3BhcnNlcidcbmltcG9ydCB7IEJvdFJlcSwgUmVxT3B0aW9ucyB9IGZyb20gJy4uL3R5cGUnXG5pbXBvcnQge1xuICBJQm90Q3JlYXRlQ29udmVyc2F0aW9uLFxuICBJQm90RGVsZXRlQ29udmVyc2F0aW9uLFxuICBJQm90R2V0Q29udmVyc2F0aW9uLFxuICBJQm90R2V0VGV4dFRvU3BlZWNoUmVzdWx0LFxuICBJQm90UHJldmlldyxcbiAgSUJvdFNlbmRNZXNzYWdlLFxuICBJQm90U3BlZWNoVG9UZXh0LFxuICBJQm90VGV4dFRvU3BlZWNoLFxuICBJQm90VXBsb2FkRmlsZXMsXG4gIElDcmVhdGVCb3QsXG4gIElEZWxldGVCb3QsXG4gIElHZW5lcmF0ZUJvdCxcbiAgSUdlbmVyYXRlSW1hZ2UsXG4gIElHZXRCb3QsXG4gIElHZXRCb3RDaGF0UmVjb3JkcyxcbiAgSUdldEJvdEZlZWRiYWNrLFxuICBJR2V0Qm90TGlzdCxcbiAgSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucyxcbiAgSVNlbmRCb3RGZWVkYmFjayxcbiAgSVVwZGF0ZUJvdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0sXG4gIFRleHREZWNvZGVyU3RyZWFtLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG59IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgY2xhc3MgQm90IHtcbiAgcmVxOiBCb3RSZXFcblxuICBjb25zdHJ1Y3RvcihyZXE6IEJvdFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IHRva2VuID0gYXJndW1lbnRzWzJdXG4gICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMucmVxID0gKHsgaGVhZGVycyA9IHt9LCAuLi5yZXN0IH0pID0+IHJlcSh7IC4uLnJlc3QsIGhlYWRlcnM6IHsgLi4uaGVhZGVycywgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlcSA9IHJlcVxuICAgIH1cbiAgfVxuXG4gIGxpc3QocHJvcHM6IElHZXRCb3RMaXN0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgY3JlYXRlKHsgYm90SW5mbyB9OiBJQ3JlYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZ2V0KHsgYm90SWQgfTogSUdldEJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICB1cGRhdGUoeyBib3RJZCwgYm90SW5mbyB9OiBJVXBkYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZSh7IGJvdElkIH06IElEZWxldGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZGVsZXRlJywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSwgdGltZW91dDogb3B0aW9ucz8udGltZW91dCB9KVxuICB9XG5cbiAgZ2V0Q2hhdFJlY29yZHMocHJvcHM6IElHZXRCb3RDaGF0UmVjb3Jkcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29yZHNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgc2VuZEZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH06IElTZW5kQm90RmVlZGJhY2ssIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHt1c2VyRmVlZGJhY2suYm90SWR9L2ZlZWRiYWNrYCksXG4gICAgICBkYXRhOiB1c2VyRmVlZGJhY2ssXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBnZXRGZWVkYmFjayhwcm9wczogSUdldEJvdEZlZWRiYWNrLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vZmVlZGJhY2tgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgdXBsb2FkRmlsZXMocHJvcHM6IElCb3RVcGxvYWRGaWxlcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9maWxlc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBjcmVhdGVDb252ZXJzYXRpb24ocHJvcHM6IElCb3RDcmVhdGVDb252ZXJzYXRpb24sIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2NvbnZlcnNhdGlvbicpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRDb252ZXJzYXRpb24oeyBwYWdlU2l6ZSA9IDEwLCBwYWdlTnVtYmVyID0gMSwgLi4ucmVzdCB9OiBJQm90R2V0Q29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGlmIChwYWdlTnVtYmVyIDwgMSkgdGhyb3cgbmV3IEVycm9yKCdwYWdlTnVtYmVyIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAnKVxuICAgIGNvbnN0IG9mZnNldCA9IHBhZ2VTaXplICogKHBhZ2VOdW1iZXIgLSAxKVxuICAgIGNvbnN0IGxpbWl0ID0gcGFnZVNpemVcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdjb252ZXJzYXRpb24nKSxcbiAgICAgIGRhdGE6IHsgLi4ucmVzdCwgb2Zmc2V0LCBsaW1pdCB9LFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlQ29udmVyc2F0aW9uKHByb3BzOiBJQm90RGVsZXRlQ29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGNvbnZlcnNhdGlvbi8ke3Byb3BzLmNvbnZlcnNhdGlvbklkfWApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBzcGVlY2hUb1RleHQocHJvcHM6IElCb3RTcGVlY2hUb1RleHQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vc3BlZWNoLXRvLXRleHRgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgdGV4dFRvU3BlZWNoKHByb3BzOiBJQm90VGV4dFRvU3BlZWNoLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3RleHQtdG8tc3BlZWNoYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldFRleHRUb1NwZWVjaFJlc3VsdChwcm9wczogSUJvdEdldFRleHRUb1NwZWVjaFJlc3VsdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3RleHQtdG8tc3BlZWNoYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldFJlY29tbWVuZFF1ZXN0aW9ucyhwcm9wczogSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29tbWVuZC1xdWVzdGlvbnNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQm90KHByb3BzOiBJR2VuZXJhdGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtYm90JyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZXRQcmV2aWV3KHByb3BzOiBJQm90UHJldmlldywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdwcmV2aWV3JyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBnZW5lcmF0ZUltYWdlKHByb3BzOiBJR2VuZXJhdGVJbWFnZSwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ2dlbmVyYXRlLWltYWdlJyksIGRhdGE6IHByb3BzLCB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0IH0pXG4gIH1cblxuICBhc3luYyBzZW5kTWVzc2FnZShwcm9wczogSUJvdFNlbmRNZXNzYWdlLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vc2VuZC1tZXNzYWdlYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBwcml2YXRlIGpvaW4odXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3VybH1gXG4gIH1cbn1cblxudHlwZSBCb3RFdmVudFN0cmVhbURhdGEgPSB7IGNvbnRlbnQ6IHN0cmluZyB9XG5cbmNsYXNzIFN0cmVhbVJlc3VsdCB7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxQYXJzZWRFdmVudD5cblxuICBjb25zdHJ1Y3Rvcihfc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pikge1xuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gc3RyZWFtXG4gICAgICAucGlwZVRocm91Z2gobmV3IFRleHREZWNvZGVyU3RyZWFtKCkpXG4gICAgICAucGlwZVRocm91Z2goY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0oKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRlZWVkU3RyZWFtKCkge1xuICAgIGNvbnN0IFtzMSwgczJdID0gdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0udGVlKClcbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHMyXG4gICAgcmV0dXJuIHMxXG4gIH1cblxuICBnZXQgZXZlbnRTb3VyY2VTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy50ZWVlZFN0cmVhbSlcbiAgfVxuXG4gIGdldCBkYXRhU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMuZXZlbnRTb3VyY2VTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxQYXJzZWRFdmVudCwgQm90RXZlbnRTdHJlYW1EYXRhPih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShjaHVuay5kYXRhKVxuICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShkYXRhKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGNodW5rLmRhdGEgIT09ICdbRE9ORV0nKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHdoZW4gdHJhbnNmb3JtaW5nIGV2ZW50IHNvdXJjZSBkYXRhIHRvIGpzb24nLCBlLCBjaHVuaylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udHJvbGxlci50ZXJtaW5hdGUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSwpLClcbiAgfVxuXG4gIGdldCB0ZXh0U3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMuZGF0YVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEJvdEV2ZW50U3RyZWFtRGF0YSwgc3RyaW5nPih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rPy5jb250ZW50ID8/ICcnKVxuICAgICAgfSxcbiAgICB9KSwpLClcbiAgfVxufVxuIl19
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsa0NBTWlCO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLE9BQW9CO1lBQTNDLE9BQU8sYUFBQTtRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcs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SyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtxQkFDekI7b0JBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ1YsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTs0QkFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7eUJBQzVFOzZCQUFNOzRCQUNMLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTt5QkFDdkI7cUJBQ0Y7Z0JBQ0gsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLG9DQUFVO2FBQWQ7WUFDRSxPQUFPLElBQUEsMkJBQW1CLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSx1QkFBZSxDQUE2QjtnQkFDckcsU0FBUyxZQUFDLEtBQUssRUFBRSxVQUFVOztvQkFDekIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMxQyxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBNUNELElBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQYXJzZWRFdmVudCB9IGZyb20gJy4uL2V2ZW50c291cmNlX3BhcnNlcidcbmltcG9ydCB7IEJvdFJlcSwgUmVxT3B0aW9ucyB9IGZyb20gJy4uL3R5cGUnXG5pbXBvcnQge1xuICBJQm90Q3JlYXRlQ29udmVyc2F0aW9uLFxuICBJQm90RGVsZXRlQ29udmVyc2F0aW9uLFxuICBJQm90R2V0Q29udmVyc2F0aW9uLFxuICBJQm90R2V0VGV4dFRvU3BlZWNoUmVzdWx0LFxuICBJQm90UHJldmlldyxcbiAgSUJvdFNlbmRNZXNzYWdlLFxuICBJQm90U3BlZWNoVG9UZXh0LFxuICBJQm90VGV4dFRvU3BlZWNoLFxuICBJQm90VXBsb2FkRmlsZXMsXG4gIElDcmVhdGVCb3QsXG4gIElEZWxldGVCb3QsXG4gIElHZW5lcmF0ZUJvdCxcbiAgSUdlbmVyYXRlSW1hZ2UsXG4gIElHZXRCb3QsXG4gIElHZXRCb3RDaGF0UmVjb3JkcyxcbiAgSUdldEJvdEZlZWRiYWNrLFxuICBJR2V0Qm90TGlzdCxcbiAgSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucyxcbiAgSVNlbmRCb3RGZWVkYmFjayxcbiAgSVVwZGF0ZUJvdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0sXG4gIFRleHREZWNvZGVyU3RyZWFtLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG59IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgY2xhc3MgQm90IHtcbiAgcmVxOiBCb3RSZXFcblxuICBjb25zdHJ1Y3RvcihyZXE6IEJvdFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IHRva2VuID0gYXJndW1lbnRzWzJdXG4gICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMucmVxID0gKHsgaGVhZGVycyA9IHt9LCAuLi5yZXN0IH0pID0+IHJlcSh7IC4uLnJlc3QsIGhlYWRlcnM6IHsgLi4uaGVhZGVycywgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlcSA9IHJlcVxuICAgIH1cbiAgfVxuXG4gIGxpc3QocHJvcHM6IElHZXRCb3RMaXN0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgY3JlYXRlKHsgYm90SW5mbyB9OiBJQ3JlYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZ2V0KHsgYm90SWQgfTogSUdldEJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICB1cGRhdGUoeyBib3RJZCwgYm90SW5mbyB9OiBJVXBkYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZSh7IGJvdElkIH06IElEZWxldGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZGVsZXRlJywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSwgdGltZW91dDogb3B0aW9ucz8udGltZW91dCB9KVxuICB9XG5cbiAgZ2V0Q2hhdFJlY29yZHMocHJvcHM6IElHZXRCb3RDaGF0UmVjb3Jkcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29yZHNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgc2VuZEZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH06IElTZW5kQm90RmVlZGJhY2ssIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHt1c2VyRmVlZGJhY2suYm90SWR9L2ZlZWRiYWNrYCksXG4gICAgICBkYXRhOiB1c2VyRmVlZGJhY2ssXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBnZXRGZWVkYmFjayhwcm9wczogSUdldEJvdEZlZWRiYWNrLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vZmVlZGJhY2tgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgdXBsb2FkRmlsZXMocHJvcHM6IElCb3RVcGxvYWRGaWxlcywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9maWxlc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBjcmVhdGVDb252ZXJzYXRpb24oeyBib3RJZCwgLi4ucmVzdCB9OiBJQm90Q3JlYXRlQ29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9L2NvbnZlcnNhdGlvbmApLFxuICAgICAgZGF0YTogcmVzdCxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldENvbnZlcnNhdGlvbih7IHBhZ2VTaXplID0gMTAsIHBhZ2VOdW1iZXIgPSAxLCBib3RJZCwgLi4ucmVzdCB9OiBJQm90R2V0Q29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGlmIChwYWdlTnVtYmVyIDwgMSkgdGhyb3cgbmV3IEVycm9yKCdwYWdlTnVtYmVyIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAnKVxuICAgIGNvbnN0IG9mZnNldCA9IHBhZ2VTaXplICogKHBhZ2VOdW1iZXIgLSAxKVxuICAgIGNvbnN0IGxpbWl0ID0gcGFnZVNpemVcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9L2NvbnZlcnNhdGlvbmApLFxuICAgICAgZGF0YTogeyAuLi5yZXN0LCBvZmZzZXQsIGxpbWl0IH0sXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBkZWxldGVDb252ZXJzYXRpb24oeyBib3RJZCwgY29udmVyc2F0aW9uSWQsIC4uLnJlc3QgfTogSUJvdERlbGV0ZUNvbnZlcnNhdGlvbiwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9L2NvbnZlcnNhdGlvbi8ke2NvbnZlcnNhdGlvbklkfWApLFxuICAgICAgZGF0YTogcmVzdCxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHNwZWVjaFRvVGV4dChwcm9wczogSUJvdFNwZWVjaFRvVGV4dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9zcGVlY2gtdG8tdGV4dGApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB0ZXh0VG9TcGVlY2gocHJvcHM6IElCb3RUZXh0VG9TcGVlY2gsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vdGV4dC10by1zcGVlY2hgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0VGV4dFRvU3BlZWNoUmVzdWx0KHByb3BzOiBJQm90R2V0VGV4dFRvU3BlZWNoUmVzdWx0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vdGV4dC10by1zcGVlY2hgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0UmVjb21tZW5kUXVlc3Rpb25zKHByb3BzOiBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb21tZW5kLXF1ZXN0aW9uc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVCb3QocHJvcHM6IElHZW5lcmF0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1ib3QnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdldFByZXZpZXcocHJvcHM6IElCb3RQcmV2aWV3LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ3ByZXZpZXcnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGdlbmVyYXRlSW1hZ2UocHJvcHM6IElHZW5lcmF0ZUltYWdlLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtaW1hZ2UnKSwgZGF0YTogcHJvcHMsIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQgfSlcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKHByb3BzOiBJQm90U2VuZE1lc3NhZ2UsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9zZW5kLW1lc3NhZ2VgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIHByaXZhdGUgam9pbih1cmw6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dXJsfWBcbiAgfVxufVxuXG50eXBlIEJvdEV2ZW50U3RyZWFtRGF0YSA9IHsgY29udGVudDogc3RyaW5nIH1cblxuY2xhc3MgU3RyZWFtUmVzdWx0IHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFBhcnNlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKF9zdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzdHJlYW1cbiAgICAgIC5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0oKSlcbiAgICAgIC5waXBlVGhyb3VnaChjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSgpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGVlZWRTdHJlYW0oKSB7XG4gICAgY29uc3QgW3MxLCBzMl0gPSB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbS50ZWUoKVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gczJcbiAgICByZXR1cm4gczFcbiAgfVxuXG4gIGdldCBldmVudFNvdXJjZVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLnRlZWVkU3RyZWFtKVxuICB9XG5cbiAgZ2V0IGRhdGFTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5ldmVudFNvdXJjZVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFBhcnNlZEV2ZW50LCBCb3RFdmVudFN0cmVhbURhdGE+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGNodW5rLmRhdGEpXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGRhdGEpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoY2h1bmsuZGF0YSAhPT0gJ1tET05FXScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hlbiB0cmFuc2Zvcm1pbmcgZXZlbnQgc291cmNlIGRhdGEgdG8ganNvbicsIGUsIGNodW5rKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLnRlcm1pbmF0ZSgpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG5cbiAgZ2V0IHRleHRTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5kYXRhU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08Qm90RXZlbnRTdHJlYW1EYXRhLCBzdHJpbmc+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bms/LmNvbnRlbnQgPz8gJycpXG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG59XG4iXX0=
@@ -14,9 +14,9 @@ export declare class Bot {
14
14
  sendFeedback({ userFeedback }: ISendBotFeedback, options?: ReqOptions): Promise<Object>;
15
15
  getFeedback(props: IGetBotFeedback, options?: ReqOptions): Promise<Object>;
16
16
  uploadFiles(props: IBotUploadFiles, options?: ReqOptions): Promise<Object>;
17
- createConversation(props: IBotCreateConversation, options?: ReqOptions): Promise<Object>;
18
- getConversation({ pageSize, pageNumber, ...rest }: IBotGetConversation, options?: ReqOptions): Promise<Object>;
19
- deleteConversation(props: IBotDeleteConversation, options?: ReqOptions): Promise<Object>;
17
+ createConversation({ botId, ...rest }: IBotCreateConversation, options?: ReqOptions): Promise<Object>;
18
+ getConversation({ pageSize, pageNumber, botId, ...rest }: IBotGetConversation, options?: ReqOptions): Promise<Object>;
19
+ deleteConversation({ botId, conversationId, ...rest }: IBotDeleteConversation, options?: ReqOptions): Promise<Object>;
20
20
  speechToText(props: IBotSpeechToText, options?: ReqOptions): Promise<Object>;
21
21
  textToSpeech(props: IBotTextToSpeech, options?: ReqOptions): Promise<Object>;
22
22
  getTextToSpeechResult(props: IBotGetTextToSpeechResult, options?: ReqOptions): Promise<Object>;
@@ -146,20 +146,21 @@ var Bot = (function () {
146
146
  });
147
147
  });
148
148
  };
149
- Bot.prototype.createConversation = function (props, options) {
149
+ Bot.prototype.createConversation = function (_a, options) {
150
+ var botId = _a.botId, rest = __rest(_a, ["botId"]);
150
151
  return __awaiter(this, void 0, void 0, function () {
151
- return __generator(this, function (_a) {
152
+ return __generator(this, function (_b) {
152
153
  return [2, this.req({
153
154
  method: 'post',
154
- url: this.join('conversation'),
155
- data: props,
155
+ url: this.join("bots/".concat(botId, "/conversation")),
156
+ data: rest,
156
157
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
157
158
  })];
158
159
  });
159
160
  });
160
161
  };
161
162
  Bot.prototype.getConversation = function (_a, options) {
162
- var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, _c = _a.pageNumber, pageNumber = _c === void 0 ? 1 : _c, rest = __rest(_a, ["pageSize", "pageNumber"]);
163
+ var _b = _a.pageSize, pageSize = _b === void 0 ? 10 : _b, _c = _a.pageNumber, pageNumber = _c === void 0 ? 1 : _c, botId = _a.botId, rest = __rest(_a, ["pageSize", "pageNumber", "botId"]);
163
164
  return __awaiter(this, void 0, void 0, function () {
164
165
  var offset, limit;
165
166
  return __generator(this, function (_d) {
@@ -169,20 +170,21 @@ var Bot = (function () {
169
170
  limit = pageSize;
170
171
  return [2, this.req({
171
172
  method: 'get',
172
- url: this.join('conversation'),
173
+ url: this.join("bots/".concat(botId, "/conversation")),
173
174
  data: __assign(__assign({}, rest), { offset: offset, limit: limit }),
174
175
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
175
176
  })];
176
177
  });
177
178
  });
178
179
  };
179
- Bot.prototype.deleteConversation = function (props, options) {
180
+ Bot.prototype.deleteConversation = function (_a, options) {
181
+ var botId = _a.botId, conversationId = _a.conversationId, rest = __rest(_a, ["botId", "conversationId"]);
180
182
  return __awaiter(this, void 0, void 0, function () {
181
- return __generator(this, function (_a) {
183
+ return __generator(this, function (_b) {
182
184
  return [2, this.req({
183
185
  method: 'delete',
184
- url: this.join("conversation/".concat(props.conversationId)),
185
- data: props,
186
+ url: this.join("bots/".concat(botId, "/conversation/").concat(conversationId)),
187
+ data: rest,
186
188
  timeout: options === null || options === void 0 ? void 0 : options.timeout,
187
189
  })];
188
190
  });
@@ -368,4 +370,4 @@ var StreamResult = (function () {
368
370
  });
369
371
  return StreamResult;
370
372
  }());
371
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJ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VixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFOzRCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTt5QkFDNUU7NkJBQU07NEJBQ0wsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFBO3lCQUN2QjtxQkFDRjtnQkFDSCxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBRUQsc0JBQUksb0NBQVU7YUFBZDtZQUNFLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxlQUFlLENBQTZCO2dCQUNyRyxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7O29CQUN6QixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sbUNBQUksRUFBRSxDQUFDLENBQUE7Z0JBQzFDLENBQUM7YUFDRixDQUFDLENBQUUsQ0FBRSxDQUFBO1FBQ1IsQ0FBQzs7O09BQUE7SUFDSCxtQkFBQztBQUFELENBQUMsQUE1Q0QsSUE0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBhcnNlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzb3VyY2VfcGFyc2VyJ1xuaW1wb3J0IHsgQm90UmVxLCBSZXFPcHRpb25zIH0gZnJvbSAnLi4vdHlwZSdcbmltcG9ydCB7XG4gIElCb3RDcmVhdGVDb252ZXJzYXRpb24sXG4gIElCb3REZWxldGVDb252ZXJzYXRpb24sXG4gIElCb3RHZXRDb252ZXJzYXRpb24sXG4gIElCb3RHZXRUZXh0VG9TcGVlY2hSZXN1bHQsXG4gIElCb3RQcmV2aWV3LFxuICBJQm90U2VuZE1lc3NhZ2UsXG4gIElCb3RTcGVlY2hUb1RleHQsXG4gIElCb3RUZXh0VG9TcGVlY2gsXG4gIElCb3RVcGxvYWRGaWxlcyxcbiAgSUNyZWF0ZUJvdCxcbiAgSURlbGV0ZUJvdCxcbiAgSUdlbmVyYXRlQm90LFxuICBJR2VuZXJhdGVJbWFnZSxcbiAgSUdldEJvdCxcbiAgSUdldEJvdENoYXRSZWNvcmRzLFxuICBJR2V0Qm90RmVlZGJhY2ssXG4gIElHZXRCb3RMaXN0LFxuICBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLFxuICBJU2VuZEJvdEZlZWRiYWNrLFxuICBJVXBkYXRlQm90LFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSxcbiAgVGV4dERlY29kZXJTdHJlYW0sXG4gIFRyYW5zZm9ybVN0cmVhbSxcbn0gZnJvbSAnLi4vdXRpbHMnXG5cbmV4cG9ydCBjbGFzcyBCb3Qge1xuICByZXE6IEJvdFJlcVxuXG4gIGNvbnN0cnVjdG9yKHJlcTogQm90UmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9rZW4gPSBhcmd1bWVudHNbMl1cbiAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5yZXEgPSAoeyBoZWFkZXJzID0ge30sIC4uLnJlc3QgfSkgPT4gcmVxKHsgLi4ucmVzdCwgaGVhZGVyczogeyAuLi5oZWFkZXJzLCBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVxID0gcmVxXG4gICAgfVxuICB9XG5cbiAgbGlzdChwcm9wczogSUdldEJvdExpc3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignYm90cycpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBjcmVhdGUoeyBib3RJbmZvIH06IElDcmVhdGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBnZXQoeyBib3RJZCB9OiBJR2V0Qm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZSh7IGJvdElkLCBib3RJbmZvIH06IElVcGRhdGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlKHsgYm90SWQgfTogSURlbGV0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdkZWxldGUnLCB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLCB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0IH0pXG4gIH1cblxuICBnZXRDaGF0UmVjb3Jkcyhwcm9wczogSUdldEJvdENoYXRSZWNvcmRzLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb3Jkc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBzZW5kRmVlZGJhY2soeyB1c2VyRmVlZGJhY2sgfTogSVNlbmRCb3RGZWVkYmFjaywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3VzZXJGZWVkYmFjay5ib3RJZH0vZmVlZGJhY2tgKSxcbiAgICAgIGRhdGE6IHVzZXJGZWVkYmFjayxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGdldEZlZWRiYWNrKHByb3BzOiBJR2V0Qm90RmVlZGJhY2ssIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9mZWVkYmFja2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB1cGxvYWRGaWxlcyhwcm9wczogSUJvdFVwbG9hZEZpbGVzLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L2ZpbGVzYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUNvbnZlcnNhdGlvbihwcm9wczogSUJvdENyZWF0ZUNvbnZlcnNhdGlvbiwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignY29udmVyc2F0aW9uJyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldENvbnZlcnNhdGlvbih7IHBhZ2VTaXplID0gMTAsIHBhZ2VOdW1iZXIgPSAxLCAuLi5yZXN0IH06IElCb3RHZXRDb252ZXJzYXRpb24sIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgaWYgKHBhZ2VOdW1iZXIgPCAxKSB0aHJvdyBuZXcgRXJyb3IoJ3BhZ2VOdW1iZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCcpXG4gICAgY29uc3Qgb2Zmc2V0ID0gcGFnZVNpemUgKiAocGFnZU51bWJlciAtIDEpXG4gICAgY29uc3QgbGltaXQgPSBwYWdlU2l6ZVxuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2NvbnZlcnNhdGlvbicpLFxuICAgICAgZGF0YTogeyAuLi5yZXN0LCBvZmZzZXQsIGxpbWl0IH0sXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBkZWxldGVDb252ZXJzYXRpb24ocHJvcHM6IElCb3REZWxldGVDb252ZXJzYXRpb24sIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IHRoaXMuam9pbihgY29udmVyc2F0aW9uLyR7cHJvcHMuY29udmVyc2F0aW9uSWR9YCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHNwZWVjaFRvVGV4dChwcm9wczogSUJvdFNwZWVjaFRvVGV4dCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9zcGVlY2gtdG8tdGV4dGApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB0ZXh0VG9TcGVlY2gocHJvcHM6IElCb3RUZXh0VG9TcGVlY2gsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vdGV4dC10by1zcGVlY2hgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0VGV4dFRvU3BlZWNoUmVzdWx0KHByb3BzOiBJQm90R2V0VGV4dFRvU3BlZWNoUmVzdWx0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vdGV4dC10by1zcGVlY2hgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0UmVjb21tZW5kUXVlc3Rpb25zKHByb3BzOiBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb21tZW5kLXF1ZXN0aW9uc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVCb3QocHJvcHM6IElHZW5lcmF0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1ib3QnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdldFByZXZpZXcocHJvcHM6IElCb3RQcmV2aWV3LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ3ByZXZpZXcnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGdlbmVyYXRlSW1hZ2UocHJvcHM6IElHZW5lcmF0ZUltYWdlLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtaW1hZ2UnKSwgZGF0YTogcHJvcHMsIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQgfSlcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKHByb3BzOiBJQm90U2VuZE1lc3NhZ2UsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9zZW5kLW1lc3NhZ2VgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIHByaXZhdGUgam9pbih1cmw6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dXJsfWBcbiAgfVxufVxuXG50eXBlIEJvdEV2ZW50U3RyZWFtRGF0YSA9IHsgY29udGVudDogc3RyaW5nIH1cblxuY2xhc3MgU3RyZWFtUmVzdWx0IHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFBhcnNlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKF9zdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzdHJlYW1cbiAgICAgIC5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0oKSlcbiAgICAgIC5waXBlVGhyb3VnaChjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSgpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGVlZWRTdHJlYW0oKSB7XG4gICAgY29uc3QgW3MxLCBzMl0gPSB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbS50ZWUoKVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gczJcbiAgICByZXR1cm4gczFcbiAgfVxuXG4gIGdldCBldmVudFNvdXJjZVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLnRlZWVkU3RyZWFtKVxuICB9XG5cbiAgZ2V0IGRhdGFTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5ldmVudFNvdXJjZVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFBhcnNlZEV2ZW50LCBCb3RFdmVudFN0cmVhbURhdGE+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGNodW5rLmRhdGEpXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGRhdGEpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoY2h1bmsuZGF0YSAhPT0gJ1tET05FXScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hlbiB0cmFuc2Zvcm1pbmcgZXZlbnQgc291cmNlIGRhdGEgdG8ganNvbicsIGUsIGNodW5rKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLnRlcm1pbmF0ZSgpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG5cbiAgZ2V0IHRleHRTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5kYXRhU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08Qm90RXZlbnRTdHJlYW1EYXRhLCBzdHJpbmc+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bms/LmNvbnRlbnQgPz8gJycpXG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG59XG4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCLEVBQUUsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87U0FDMUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJ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QUN6QixJQUFJO3dCQUNGLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO3dCQUNuQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO3FCQUN6QjtvQkFBQyxPQUFPLENBQUMsRUFBRTt3QkFDVixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFOzRCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTt5QkFDNUU7NkJBQU07NEJBQ0wsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFBO3lCQUN2QjtxQkFDRjtnQkFDSCxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBRUQsc0JBQUksb0NBQVU7YUFBZDtZQUNFLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxlQUFlLENBQTZCO2dCQUNyRyxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7O29CQUN6QixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sbUNBQUksRUFBRSxDQUFDLENBQUE7Z0JBQzFDLENBQUM7YUFDRixDQUFDLENBQUUsQ0FBRSxDQUFBO1FBQ1IsQ0FBQzs7O09BQUE7SUFDSCxtQkFBQztBQUFELENBQUMsQUE1Q0QsSUE0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBhcnNlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzb3VyY2VfcGFyc2VyJ1xuaW1wb3J0IHsgQm90UmVxLCBSZXFPcHRpb25zIH0gZnJvbSAnLi4vdHlwZSdcbmltcG9ydCB7XG4gIElCb3RDcmVhdGVDb252ZXJzYXRpb24sXG4gIElCb3REZWxldGVDb252ZXJzYXRpb24sXG4gIElCb3RHZXRDb252ZXJzYXRpb24sXG4gIElCb3RHZXRUZXh0VG9TcGVlY2hSZXN1bHQsXG4gIElCb3RQcmV2aWV3LFxuICBJQm90U2VuZE1lc3NhZ2UsXG4gIElCb3RTcGVlY2hUb1RleHQsXG4gIElCb3RUZXh0VG9TcGVlY2gsXG4gIElCb3RVcGxvYWRGaWxlcyxcbiAgSUNyZWF0ZUJvdCxcbiAgSURlbGV0ZUJvdCxcbiAgSUdlbmVyYXRlQm90LFxuICBJR2VuZXJhdGVJbWFnZSxcbiAgSUdldEJvdCxcbiAgSUdldEJvdENoYXRSZWNvcmRzLFxuICBJR2V0Qm90RmVlZGJhY2ssXG4gIElHZXRCb3RMaXN0LFxuICBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLFxuICBJU2VuZEJvdEZlZWRiYWNrLFxuICBJVXBkYXRlQm90LFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSxcbiAgVGV4dERlY29kZXJTdHJlYW0sXG4gIFRyYW5zZm9ybVN0cmVhbSxcbn0gZnJvbSAnLi4vdXRpbHMnXG5cbmV4cG9ydCBjbGFzcyBCb3Qge1xuICByZXE6IEJvdFJlcVxuXG4gIGNvbnN0cnVjdG9yKHJlcTogQm90UmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9rZW4gPSBhcmd1bWVudHNbMl1cbiAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5yZXEgPSAoeyBoZWFkZXJzID0ge30sIC4uLnJlc3QgfSkgPT4gcmVxKHsgLi4ucmVzdCwgaGVhZGVyczogeyAuLi5oZWFkZXJzLCBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVxID0gcmVxXG4gICAgfVxuICB9XG5cbiAgbGlzdChwcm9wczogSUdldEJvdExpc3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignYm90cycpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBjcmVhdGUoeyBib3RJbmZvIH06IElDcmVhdGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBnZXQoeyBib3RJZCB9OiBJR2V0Qm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZSh7IGJvdElkLCBib3RJbmZvIH06IElVcGRhdGVCb3QsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlKHsgYm90SWQgfTogSURlbGV0ZUJvdCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdkZWxldGUnLCB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLCB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0IH0pXG4gIH1cblxuICBnZXRDaGF0UmVjb3Jkcyhwcm9wczogSUdldEJvdENoYXRSZWNvcmRzLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb3Jkc2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBzZW5kRmVlZGJhY2soeyB1c2VyRmVlZGJhY2sgfTogSVNlbmRCb3RGZWVkYmFjaywgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3VzZXJGZWVkYmFjay5ib3RJZH0vZmVlZGJhY2tgKSxcbiAgICAgIGRhdGE6IHVzZXJGZWVkYmFjayxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGdldEZlZWRiYWNrKHByb3BzOiBJR2V0Qm90RmVlZGJhY2ssIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9mZWVkYmFja2ApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB1cGxvYWRGaWxlcyhwcm9wczogSUJvdFVwbG9hZEZpbGVzLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L2ZpbGVzYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUNvbnZlcnNhdGlvbih7IGJvdElkLCAuLi5yZXN0IH06IElCb3RDcmVhdGVDb252ZXJzYXRpb24sIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH0vY29udmVyc2F0aW9uYCksXG4gICAgICBkYXRhOiByZXN0LFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0Q29udmVyc2F0aW9uKHsgcGFnZVNpemUgPSAxMCwgcGFnZU51bWJlciA9IDEsIGJvdElkLCAuLi5yZXN0IH06IElCb3RHZXRDb252ZXJzYXRpb24sIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgaWYgKHBhZ2VOdW1iZXIgPCAxKSB0aHJvdyBuZXcgRXJyb3IoJ3BhZ2VOdW1iZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCcpXG4gICAgY29uc3Qgb2Zmc2V0ID0gcGFnZVNpemUgKiAocGFnZU51bWJlciAtIDEpXG4gICAgY29uc3QgbGltaXQgPSBwYWdlU2l6ZVxuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH0vY29udmVyc2F0aW9uYCksXG4gICAgICBkYXRhOiB7IC4uLnJlc3QsIG9mZnNldCwgbGltaXQgfSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNvbnZlcnNhdGlvbih7IGJvdElkLCBjb252ZXJzYXRpb25JZCwgLi4ucmVzdCB9OiBJQm90RGVsZXRlQ29udmVyc2F0aW9uLCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH0vY29udmVyc2F0aW9uLyR7Y29udmVyc2F0aW9uSWR9YCksXG4gICAgICBkYXRhOiByZXN0LFxuICAgICAgdGltZW91dDogb3B0aW9ucz8udGltZW91dCxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgc3BlZWNoVG9UZXh0KHByb3BzOiBJQm90U3BlZWNoVG9UZXh0LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3NwZWVjaC10by10ZXh0YCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHRleHRUb1NwZWVjaChwcm9wczogSUJvdFRleHRUb1NwZWVjaCwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS90ZXh0LXRvLXNwZWVjaGApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRUZXh0VG9TcGVlY2hSZXN1bHQocHJvcHM6IElCb3RHZXRUZXh0VG9TcGVlY2hSZXN1bHQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS90ZXh0LXRvLXNwZWVjaGApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRSZWNvbW1lbmRRdWVzdGlvbnMocHJvcHM6IElHZXRCb3RSZWNvbW1lbmRRdWVzdGlvbnMsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9yZWNvbW1lbmQtcXVlc3Rpb25zYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnM/LnRpbWVvdXQsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZUJvdChwcm9wczogSUdlbmVyYXRlQm90LCBvcHRpb25zPzogUmVxT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2dlbmVyYXRlLWJvdCcpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0UHJldmlldyhwcm9wczogSUJvdFByZXZpZXcsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbigncHJldmlldycpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgZ2VuZXJhdGVJbWFnZShwcm9wczogSUdlbmVyYXRlSW1hZ2UsIG9wdGlvbnM/OiBSZXFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1pbWFnZScpLCBkYXRhOiBwcm9wcywgdGltZW91dDogb3B0aW9ucz8udGltZW91dCB9KVxuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UocHJvcHM6IElCb3RTZW5kTWVzc2FnZSwgb3B0aW9ucz86IFJlcU9wdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3NlbmQtbWVzc2FnZWApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zPy50aW1lb3V0LFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgcHJpdmF0ZSBqb2luKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt1cmx9YFxuICB9XG59XG5cbnR5cGUgQm90RXZlbnRTdHJlYW1EYXRhID0geyBjb250ZW50OiBzdHJpbmcgfVxuXG5jbGFzcyBTdHJlYW1SZXN1bHQge1xuICBwcml2YXRlIF9ldmVudFNvdXJjZVN0cmVhbTogUmVhZGFibGVTdHJlYW08UGFyc2VkRXZlbnQ+XG5cbiAgY29uc3RydWN0b3IoX3N0cmVhbTogUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pIHtcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHN0cmVhbVxuICAgICAgLnBpcGVUaHJvdWdoKG5ldyBUZXh0RGVjb2RlclN0cmVhbSgpKVxuICAgICAgLnBpcGVUaHJvdWdoKGNyZWF0ZUV2ZW50U291cmNlUGFyc2VyVHJhbnNmb3JtU3RyZWFtKCkpXG4gIH1cblxuICBwcml2YXRlIGdldCB0ZWVlZFN0cmVhbSgpIHtcbiAgICBjb25zdCBbczEsIHMyXSA9IHRoaXMuX2V2ZW50U291cmNlU3RyZWFtLnRlZSgpXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzMlxuICAgIHJldHVybiBzMVxuICB9XG5cbiAgZ2V0IGV2ZW50U291cmNlU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMudGVlZWRTdHJlYW0pXG4gIH1cblxuICBnZXQgZGF0YVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmV2ZW50U291cmNlU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08UGFyc2VkRXZlbnQsIEJvdEV2ZW50U3RyZWFtRGF0YT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoY2h1bmsuZGF0YSlcbiAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZGF0YSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGlmIChjaHVuay5kYXRhICE9PSAnW0RPTkVdJykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGVuIHRyYW5zZm9ybWluZyBldmVudCBzb3VyY2UgZGF0YSB0byBqc29uJywgZSwgY2h1bmspXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIudGVybWluYXRlKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cblxuICBnZXQgdGV4dFN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmRhdGFTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCb3RFdmVudFN0cmVhbURhdGEsIHN0cmluZz4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuaz8uY29udGVudCA/PyAnJylcbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/ai",
3
- "version": "2.18.4",
3
+ "version": "2.19.0",
4
4
  "description": "cloudbase js sdk ai module",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -27,7 +27,7 @@
27
27
  "author": "",
28
28
  "license": "Apache-2.0",
29
29
  "dependencies": {
30
- "@cloudbase/types": "2.18.4",
30
+ "@cloudbase/types": "2.19.0",
31
31
  "@mattiasbuelens/web-streams-adapter": "^0.1.0",
32
32
  "text-encoding-shim": "^1.0.5",
33
33
  "web-streams-polyfill": "^4.0.0"
@@ -35,5 +35,5 @@
35
35
  "devDependencies": {
36
36
  "@cloudbase/adapter-interface": "^0.7.1"
37
37
  },
38
- "gitHead": "23ac61964d01d9e6b8de070e853ac54fee66229d"
38
+ "gitHead": "92b5d068d64a0188a28ee2ea58d71443e1f63e54"
39
39
  }
package/src/bot/index.ts CHANGED
@@ -117,32 +117,32 @@ export class Bot {
117
117
  })
118
118
  }
119
119
 
120
- async createConversation(props: IBotCreateConversation, options?: ReqOptions) {
120
+ async createConversation({ botId, ...rest }: IBotCreateConversation, options?: ReqOptions) {
121
121
  return this.req({
122
122
  method: 'post',
123
- url: this.join('conversation'),
124
- data: props,
123
+ url: this.join(`bots/${botId}/conversation`),
124
+ data: rest,
125
125
  timeout: options?.timeout,
126
126
  })
127
127
  }
128
128
 
129
- async getConversation({ pageSize = 10, pageNumber = 1, ...rest }: IBotGetConversation, options?: ReqOptions) {
129
+ async getConversation({ pageSize = 10, pageNumber = 1, botId, ...rest }: IBotGetConversation, options?: ReqOptions) {
130
130
  if (pageNumber < 1) throw new Error('pageNumber must be greater than 0')
131
131
  const offset = pageSize * (pageNumber - 1)
132
132
  const limit = pageSize
133
133
  return this.req({
134
134
  method: 'get',
135
- url: this.join('conversation'),
135
+ url: this.join(`bots/${botId}/conversation`),
136
136
  data: { ...rest, offset, limit },
137
137
  timeout: options?.timeout,
138
138
  })
139
139
  }
140
140
 
141
- async deleteConversation(props: IBotDeleteConversation, options?: ReqOptions) {
141
+ async deleteConversation({ botId, conversationId, ...rest }: IBotDeleteConversation, options?: ReqOptions) {
142
142
  return this.req({
143
143
  method: 'delete',
144
- url: this.join(`conversation/${props.conversationId}`),
145
- data: props,
144
+ url: this.join(`bots/${botId}/conversation/${conversationId}`),
145
+ data: rest,
146
146
  timeout: options?.timeout,
147
147
  })
148
148
  }