@cloudbase/ai 2.8.34 → 2.9.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.
package/dist/cjs/AI.d.ts CHANGED
@@ -12,6 +12,7 @@ declare const MODELS: {
12
12
  zhipu: typeof models.ZhiPuSimpleModel;
13
13
  'hunyuan-exp': typeof models.HunYuanExpSimpleModel;
14
14
  'hunyuan-open': typeof models.HunYuanOpenSimpleModel;
15
+ deepseek: typeof import("./models/DeepSeek").DeepSeekSimpleModel;
15
16
  };
16
17
  declare class AI {
17
18
  private req;
@@ -109,21 +109,26 @@ var Bot = (function () {
109
109
  return this.req({ method: 'delete', url: this.join("bots/".concat(botId)) });
110
110
  };
111
111
  Bot.prototype.getChatRecords = function (props) {
112
- return this.req({ method: 'get', url: this.join('records'), data: props });
112
+ return this.req({ method: 'get', url: this.join("bots/".concat(props.botId, "/records")), data: props });
113
113
  };
114
114
  Bot.prototype.sendFeedback = function (_a) {
115
115
  var userFeedback = _a.userFeedback;
116
- return this.req({ method: 'post', url: this.join('feedback'), data: userFeedback });
116
+ return this.req({ method: 'post', url: this.join("bots/".concat(userFeedback.botId, "/feedback")), data: userFeedback });
117
117
  };
118
118
  Bot.prototype.getFeedback = function (props) {
119
- return this.req({ method: 'get', url: this.join('feedback'), data: props });
119
+ return this.req({ method: 'get', url: this.join("bots/".concat(props.botId, "/feedback")), data: props });
120
120
  };
121
121
  Bot.prototype.getRecommendQuestions = function (props) {
122
122
  return __awaiter(this, void 0, void 0, function () {
123
123
  var res;
124
124
  return __generator(this, function (_a) {
125
125
  switch (_a.label) {
126
- case 0: return [4, this.req({ method: 'post', url: this.join('recommend-questions'), data: props, stream: true })];
126
+ case 0: return [4, this.req({
127
+ method: 'post',
128
+ url: this.join("bots/".concat(props.botId, "/recommend-questions")),
129
+ data: props,
130
+ stream: true,
131
+ })];
127
132
  case 1:
128
133
  res = _a.sent();
129
134
  return [2, new StreamResult(res)];
@@ -165,7 +170,12 @@ var Bot = (function () {
165
170
  var res;
166
171
  return __generator(this, function (_a) {
167
172
  switch (_a.label) {
168
- case 0: return [4, this.req({ method: 'post', url: this.join('send-message'), data: props, stream: true })];
173
+ case 0: return [4, this.req({
174
+ method: 'post',
175
+ url: this.join("bots/".concat(props.botId, "/send-message")),
176
+ data: props,
177
+ stream: true,
178
+ })];
169
179
  case 1:
170
180
  res = _a.sent();
171
181
  return [2, new StreamResult(res)];
@@ -235,4 +245,4 @@ var StreamResult = (function () {
235
245
  });
236
246
  return StreamResult;
237
247
  }());
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsa0NBTWlCO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QjtZQUFyQixPQUFPLGFBQUE7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDZCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0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SSxFQUFFLENBQUMsQ0FBQTtnQkFDMUMsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQTFDRCxJQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUGFyc2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHNvdXJjZV9wYXJzZXInXG5pbXBvcnQgeyBCb3RSZXEgfSBmcm9tICcuLi90eXBlJ1xuaW1wb3J0IHtcbiAgSUJvdFByZXZpZXcsXG4gIElCb3RTZW5kTWVzc2FnZSxcbiAgSUNyZWF0ZUJvdCxcbiAgSURlbGV0ZUJvdCxcbiAgSUdlbmVyYXRlQm90LFxuICBJR2VuZXJhdGVJbWFnZSxcbiAgSUdldEJvdCxcbiAgSUdldEJvdENoYXRSZWNvcmRzLFxuICBJR2V0Qm90RmVlZGJhY2ssXG4gIElHZXRCb3RMaXN0LFxuICBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLFxuICBJU2VuZEJvdEZlZWRiYWNrLFxuICBJVXBkYXRlQm90LFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSxcbiAgVGV4dERlY29kZXJTdHJlYW0sXG4gIFRyYW5zZm9ybVN0cmVhbSxcbn0gZnJvbSAnLi4vdXRpbHMnXG5cbmV4cG9ydCBjbGFzcyBCb3Qge1xuICByZXE6IEJvdFJlcVxuXG4gIGNvbnN0cnVjdG9yKHJlcTogQm90UmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9rZW4gPSBhcmd1bWVudHNbMl1cbiAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5yZXEgPSAoeyBoZWFkZXJzID0ge30sIC4uLnJlc3QgfSkgPT4gcmVxKHsgLi4ucmVzdCwgaGVhZGVyczogeyAuLi5oZWFkZXJzLCBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVxID0gcmVxXG4gICAgfVxuICB9XG5cbiAgbGlzdChwcm9wczogSUdldEJvdExpc3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICB9KVxuICB9XG5cbiAgY3JlYXRlKHsgYm90SW5mbyB9OiBJQ3JlYXRlQm90KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgfSlcbiAgfVxuXG4gIGdldCh7IGJvdElkIH06IElHZXRCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZSh7IGJvdElkLCBib3RJbmZvIH06IElVcGRhdGVCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZSh7IGJvdElkIH06IElEZWxldGVCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdkZWxldGUnLCB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApIH0pXG4gIH1cblxuICBnZXRDaGF0UmVjb3Jkcyhwcm9wczogSUdldEJvdENoYXRSZWNvcmRzKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZ2V0JywgdXJsOiB0aGlzLmpvaW4oJ3JlY29yZHMnKSwgZGF0YTogcHJvcHMgfSlcbiAgfVxuXG4gIHNlbmRGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9OiBJU2VuZEJvdEZlZWRiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdmZWVkYmFjaycpLCBkYXRhOiB1c2VyRmVlZGJhY2sgfSlcbiAgfVxuXG4gIGdldEZlZWRiYWNrKHByb3BzOiBJR2V0Qm90RmVlZGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdnZXQnLCB1cmw6IHRoaXMuam9pbignZmVlZGJhY2snKSwgZGF0YTogcHJvcHMgfSlcbiAgfVxuXG4gIGFzeW5jIGdldFJlY29tbWVuZFF1ZXN0aW9ucyhwcm9wczogSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdyZWNvbW1lbmQtcXVlc3Rpb25zJyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZUJvdChwcm9wczogSUdlbmVyYXRlQm90KSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ2dlbmVyYXRlLWJvdCcpLCBkYXRhOiBwcm9wcywgc3RyZWFtOiB0cnVlIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0UHJldmlldyhwcm9wczogSUJvdFByZXZpZXcpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbigncHJldmlldycpLCBkYXRhOiBwcm9wcywgc3RyZWFtOiB0cnVlIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgZ2VuZXJhdGVJbWFnZShwcm9wczogSUdlbmVyYXRlSW1hZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ2dlbmVyYXRlLWltYWdlJyksIGRhdGE6IHByb3BzIH0pXG4gIH1cblxuICBhc3luYyBzZW5kTWVzc2FnZShwcm9wczogSUJvdFNlbmRNZXNzYWdlKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ3NlbmQtbWVzc2FnZScpLCBkYXRhOiBwcm9wcywgc3RyZWFtOiB0cnVlIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgcHJpdmF0ZSBqb2luKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt1cmx9YFxuICB9XG59XG5cbnR5cGUgQm90RXZlbnRTdHJlYW1EYXRhID0geyBjb250ZW50OiBzdHJpbmcgfVxuXG5jbGFzcyBTdHJlYW1SZXN1bHQge1xuICBwcml2YXRlIF9ldmVudFNvdXJjZVN0cmVhbTogUmVhZGFibGVTdHJlYW08UGFyc2VkRXZlbnQ+XG5cbiAgY29uc3RydWN0b3IoX3N0cmVhbTogUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pIHtcbiAgICBjb25zdCBzdHJlYW0gPSB0b1BvbHlmaWxsUmVhZGFibGUoX3N0cmVhbSkgYXMgdHlwZW9mIF9zdHJlYW1cbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHN0cmVhbVxuICAgICAgLnBpcGVUaHJvdWdoKG5ldyBUZXh0RGVjb2RlclN0cmVhbSgpKVxuICAgICAgLnBpcGVUaHJvdWdoKGNyZWF0ZUV2ZW50U291cmNlUGFyc2VyVHJhbnNmb3JtU3RyZWFtKCkpXG4gIH1cblxuICBwcml2YXRlIGdldCB0ZWVlZFN0cmVhbSgpIHtcbiAgICBjb25zdCBbczEsIHMyXSA9IHRoaXMuX2V2ZW50U291cmNlU3RyZWFtLnRlZSgpXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzMlxuICAgIHJldHVybiBzMVxuICB9XG5cbiAgZ2V0IGV2ZW50U291cmNlU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMudGVlZWRTdHJlYW0pXG4gIH1cblxuICBnZXQgZGF0YVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmV2ZW50U291cmNlU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08UGFyc2VkRXZlbnQsIEJvdEV2ZW50U3RyZWFtRGF0YT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoY2h1bmsuZGF0YSlcbiAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZGF0YSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGlmIChjaHVuay5kYXRhICE9PSAnW0RPTkVdJykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGVuIHRyYW5zZm9ybWluZyBldmVudCBzb3VyY2UgZGF0YSB0byBqc29uJywgZSwgY2h1bmspXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG5cbiAgZ2V0IHRleHRTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5kYXRhU3RyZWFtLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW08Qm90RXZlbnRTdHJlYW1EYXRhLCBzdHJpbmc+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bms/LmNvbnRlbnQgPz8gJycpXG4gICAgICB9LFxuICAgIH0pLCksKVxuICB9XG59XG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsa0NBTWlCO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QjtZQUFyQixPQUFPLGFBQUE7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDZCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0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QTZCO2dCQUNyRyxTQUFTLFlBQUMsS0FBSyxFQUFFLFVBQVU7O29CQUN6QixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sbUNBQUksRUFBRSxDQUFDLENBQUE7Z0JBQzFDLENBQUM7YUFDRixDQUFDLENBQUUsQ0FBRSxDQUFBO1FBQ1IsQ0FBQzs7O09BQUE7SUFDSCxtQkFBQztBQUFELENBQUMsQUExQ0QsSUEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBhcnNlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzb3VyY2VfcGFyc2VyJ1xuaW1wb3J0IHsgQm90UmVxIH0gZnJvbSAnLi4vdHlwZSdcbmltcG9ydCB7XG4gIElCb3RQcmV2aWV3LFxuICBJQm90U2VuZE1lc3NhZ2UsXG4gIElDcmVhdGVCb3QsXG4gIElEZWxldGVCb3QsXG4gIElHZW5lcmF0ZUJvdCxcbiAgSUdlbmVyYXRlSW1hZ2UsXG4gIElHZXRCb3QsXG4gIElHZXRCb3RDaGF0UmVjb3JkcyxcbiAgSUdldEJvdEZlZWRiYWNrLFxuICBJR2V0Qm90TGlzdCxcbiAgSUdldEJvdFJlY29tbWVuZFF1ZXN0aW9ucyxcbiAgSVNlbmRCb3RGZWVkYmFjayxcbiAgSVVwZGF0ZUJvdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0sXG4gIFRleHREZWNvZGVyU3RyZWFtLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG59IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgY2xhc3MgQm90IHtcbiAgcmVxOiBCb3RSZXFcblxuICBjb25zdHJ1Y3RvcihyZXE6IEJvdFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IHRva2VuID0gYXJndW1lbnRzWzJdXG4gICAgaWYgKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMucmVxID0gKHsgaGVhZGVycyA9IHt9LCAuLi5yZXN0IH0pID0+IHJlcSh7IC4uLnJlc3QsIGhlYWRlcnM6IHsgLi4uaGVhZGVycywgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlcSA9IHJlcVxuICAgIH1cbiAgfVxuXG4gIGxpc3QocHJvcHM6IElHZXRCb3RMaXN0KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignYm90cycpLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgfSlcbiAgfVxuXG4gIGNyZWF0ZSh7IGJvdEluZm8gfTogSUNyZWF0ZUJvdCkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgIH0pXG4gIH1cblxuICBnZXQoeyBib3RJZCB9OiBJR2V0Qm90KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgIH0pXG4gIH1cblxuICB1cGRhdGUoeyBib3RJZCwgYm90SW5mbyB9OiBJVXBkYXRlQm90KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgICBkYXRhOiBib3RJbmZvLFxuICAgIH0pXG4gIH1cblxuICBkZWxldGUoeyBib3RJZCB9OiBJRGVsZXRlQm90KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZGVsZXRlJywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSB9KVxuICB9XG5cbiAgZ2V0Q2hhdFJlY29yZHMocHJvcHM6IElHZXRCb3RDaGF0UmVjb3Jkcykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ2dldCcsIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29yZHNgKSwgZGF0YTogcHJvcHMgfSlcbiAgfVxuXG4gIHNlbmRGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9OiBJU2VuZEJvdEZlZWRiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKGBib3RzLyR7dXNlckZlZWRiYWNrLmJvdElkfS9mZWVkYmFja2ApLCBkYXRhOiB1c2VyRmVlZGJhY2sgfSlcbiAgfVxuXG4gIGdldEZlZWRiYWNrKHByb3BzOiBJR2V0Qm90RmVlZGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdnZXQnLCB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9mZWVkYmFja2ApLCBkYXRhOiBwcm9wcyB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0UmVjb21tZW5kUXVlc3Rpb25zKHByb3BzOiBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke3Byb3BzLmJvdElkfS9yZWNvbW1lbmQtcXVlc3Rpb25zYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQm90KHByb3BzOiBJR2VuZXJhdGVCb3QpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtYm90JyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZXRQcmV2aWV3KHByb3BzOiBJQm90UHJldmlldykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdwcmV2aWV3JyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBnZW5lcmF0ZUltYWdlKHByb3BzOiBJR2VuZXJhdGVJbWFnZSkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtaW1hZ2UnKSwgZGF0YTogcHJvcHMgfSlcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKHByb3BzOiBJQm90U2VuZE1lc3NhZ2UpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3NlbmQtbWVzc2FnZWApLFxuICAgICAgZGF0YTogcHJvcHMsXG4gICAgICBzdHJlYW06IHRydWUsXG4gICAgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBwcml2YXRlIGpvaW4odXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3VybH1gXG4gIH1cbn1cblxudHlwZSBCb3RFdmVudFN0cmVhbURhdGEgPSB7IGNvbnRlbnQ6IHN0cmluZyB9XG5cbmNsYXNzIFN0cmVhbVJlc3VsdCB7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxQYXJzZWRFdmVudD5cblxuICBjb25zdHJ1Y3Rvcihfc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pikge1xuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gc3RyZWFtXG4gICAgICAucGlwZVRocm91Z2gobmV3IFRleHREZWNvZGVyU3RyZWFtKCkpXG4gICAgICAucGlwZVRocm91Z2goY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0oKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRlZWVkU3RyZWFtKCkge1xuICAgIGNvbnN0IFtzMSwgczJdID0gdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0udGVlKClcbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHMyXG4gICAgcmV0dXJuIHMxXG4gIH1cblxuICBnZXQgZXZlbnRTb3VyY2VTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy50ZWVlZFN0cmVhbSlcbiAgfVxuXG4gIGdldCBkYXRhU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMuZXZlbnRTb3VyY2VTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxQYXJzZWRFdmVudCwgQm90RXZlbnRTdHJlYW1EYXRhPih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShjaHVuay5kYXRhKVxuICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShkYXRhKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGNodW5rLmRhdGEgIT09ICdbRE9ORV0nKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHdoZW4gdHJhbnNmb3JtaW5nIGV2ZW50IHNvdXJjZSBkYXRhIHRvIGpzb24nLCBlLCBjaHVuaylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cblxuICBnZXQgdGV4dFN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmRhdGFTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCb3RFdmVudFN0cmVhbURhdGEsIHN0cmluZz4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuaz8uY29udGVudCA/PyAnJylcbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import type { ModelReq, BaseChatModelInput, SimpleChatModel, DoStreamOutput, DoGenerateOutput } from '../../type';
2
+ export declare class DeepSeekSimpleModel implements SimpleChatModel {
3
+ private req;
4
+ baseUrl: string;
5
+ subUrl: string;
6
+ constructor(req: ModelReq, baseUrl: string, subUrl?: string);
7
+ private get url();
8
+ doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput>;
9
+ doStream(data: BaseChatModelInput): Promise<DoStreamOutput>;
10
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.DeepSeekSimpleModel = void 0;
51
+ var utils_1 = require("../../utils");
52
+ var DeepSeekSimpleModel = (function () {
53
+ function DeepSeekSimpleModel(req, baseUrl, subUrl) {
54
+ this.req = req;
55
+ this.baseUrl = baseUrl;
56
+ this.subUrl = 'deepseek/v1/chat/completions';
57
+ if (subUrl != null) {
58
+ this.subUrl = subUrl;
59
+ }
60
+ }
61
+ Object.defineProperty(DeepSeekSimpleModel.prototype, "url", {
62
+ get: function () {
63
+ return "".concat(this.baseUrl, "/").concat(this.subUrl);
64
+ },
65
+ enumerable: false,
66
+ configurable: true
67
+ });
68
+ DeepSeekSimpleModel.prototype.doGenerate = function (data) {
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var res;
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0: return [4, this.req({
74
+ url: this.url,
75
+ data: __assign(__assign({}, data), { stream: false }),
76
+ stream: false,
77
+ })];
78
+ case 1:
79
+ res = (_a.sent());
80
+ return [2, __assign(__assign({}, res), { rawResponse: res })];
81
+ }
82
+ });
83
+ });
84
+ };
85
+ DeepSeekSimpleModel.prototype.doStream = function (data) {
86
+ return __awaiter(this, void 0, void 0, function () {
87
+ var isToolCall, _stream, stream, standardStream, streamWithRaw;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ isToolCall = null;
92
+ return [4, this.req({
93
+ url: this.url,
94
+ data: __assign(__assign({}, data), { stream: true }),
95
+ stream: true,
96
+ })];
97
+ case 1:
98
+ _stream = _a.sent();
99
+ stream = (0, utils_1.toPolyfillReadable)(_stream);
100
+ standardStream = (0, utils_1.intoStandardStream)(stream);
101
+ streamWithRaw = standardStream.pipeThrough(new utils_1.TransformStream({
102
+ transform: function (chunk, controller) {
103
+ var newChoices = chunk.choices.map(function (choice) {
104
+ var message = choice.delta;
105
+ if (isToolCall == null)
106
+ isToolCall = (0, utils_1.isToolCallAssistantMessage)(message);
107
+ if (isToolCall) {
108
+ return __assign(__assign({}, choice), { finish_reason: 'tool_calls', delta: message });
109
+ }
110
+ return choice;
111
+ });
112
+ var newChunk = __assign(__assign({}, chunk), { choices: newChoices });
113
+ controller.enqueue(__assign(__assign({}, newChunk), { rawResponse: chunk }));
114
+ },
115
+ }));
116
+ return [2, (0, utils_1.createAsyncIterable)(streamWithRaw)];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ return DeepSeekSimpleModel;
122
+ }());
123
+ exports.DeepSeekSimpleModel = DeepSeekSimpleModel;
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0RlZXBTZWVrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTW9CO0FBVXBCO0lBRUUsNkJBQW9CLEdBQWEsRUFBUyxPQUFlLEVBQUUsTUFBZTtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQURsRCxXQUFNLEdBQUcsOEJBQThCLENBQUE7UUFFNUMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFZLG9DQUFHO2FBQWY7WUFDRSxPQUFPLFVBQUcsSUFBSSxDQUFDLE9BQU8sY0FBSSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7UUFDekMsQ0FBQzs7O09BQUE7SUFFWSx3Q0FBVSxHQUF2QixVQUF3QixJQUF3Qjs7Ozs7NEJBQ2pDLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQzs0QkFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHOzRCQUNiLElBQUksd0JBQ0MsSUFBSSxLQUNQLE1BQU0sRUFBRSxLQUFLLEdBQ2Q7NEJBQ0QsTUFBTSxFQUFFLEtBQUs7eUJBQ2QsQ0FBQyxFQUFBOzt3QkFQSSxHQUFHLEdBQUcsQ0FBQyxTQU9YLENBQXFCO3dCQUN2QixpQ0FBWSxHQUFHLEtBQUUsV0FBVyxFQUFFLEdBQUcsS0FBRTs7OztLQUNwQztJQUVZLHNDQUFRLEdBQXJCLFVBQXNCLElBQXdCOzs7Ozs7d0JBQ3hDLFVBQVUsR0FBbUIsSUFBSSxDQUFBO3dCQUNyQixXQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7Z0NBQzdCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQ0FDYixJQUFJLHdCQUNDLElBQUksS0FDUCxNQUFNLEVBQUUsSUFBSSxHQUNiO2dDQUNELE1BQU0sRUFBRSxJQUFJOzZCQUNiLENBQUMsRUFBQTs7d0JBUEksT0FBTyxHQUFHLFNBT2Q7d0JBQ0ksTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxjQUFjLEdBQUcsSUFBQSwwQkFBa0IsRUFBMEIsTUFBTSxDQUFDLENBQUE7d0JBQ3BFLGFBQWEsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBMkU7NEJBQzdJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsT0FBTyxNQUFNLENBQUE7Z0NBQ2YsQ0FBQyxDQUFDLENBQUE7Z0NBQ0YsSUFBTSxRQUFRLHlCQUFRLEtBQUssS0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFFLENBQUE7Z0NBQ2xELFVBQVUsQ0FBQyxPQUFPLHVCQUFNLFFBQVEsS0FBRSxXQUFXLEVBQUUsS0FBSyxJQUFHLENBQUE7NEJBQ3pELENBQUM7eUJBQ0YsQ0FBQyxDQUFFLENBQUE7d0JBRUosV0FBTyxJQUFBLDJCQUFtQixFQUFDLGFBQWEsQ0FBQyxFQUFBOzs7O0tBQzFDO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBMURELElBMERDO0FBMURZLGtEQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBpbnRvU3RhbmRhcmRTdHJlYW0sXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxufSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIERvR2VuZXJhdGVPdXRwdXQsXG59IGZyb20gJy4uLy4uL3R5cGUnXG5cbmV4cG9ydCBjbGFzcyBEZWVwU2Vla1NpbXBsZU1vZGVsIGltcGxlbWVudHMgU2ltcGxlQ2hhdE1vZGVsIHtcbiAgcHVibGljIHN1YlVybCA9ICdkZWVwc2Vlay92MS9jaGF0L2NvbXBsZXRpb25zJ1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHN1YlVybD86IHN0cmluZykge1xuICAgIGlmIChzdWJVcmwgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJVcmwgPSBzdWJVcmxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnN1YlVybH1gXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCByZXMgPSAoYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBzdHJlYW06IGZhbHNlLFxuICAgIH0pKSBhcyBEb0dlbmVyYXRlT3V0cHV0XG4gICAgcmV0dXJuIHsgLi4ucmVzLCByYXdSZXNwb25zZTogcmVzIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb1N0cmVhbShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBQcm9taXNlPERvU3RyZWFtT3V0cHV0PiB7XG4gICAgbGV0IGlzVG9vbENhbGw6IG51bGwgfCBib29sZWFuID0gbnVsbFxuICAgIGNvbnN0IF9zdHJlYW0gPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBzdHJlYW06IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCBzdGFuZGFyZFN0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaz4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBzdGFuZGFyZFN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEJhc2VEb1N0cmVhbU91dHB1dENodW5rLCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyBhcyBjb25zdCxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
@@ -7,6 +7,7 @@ import { YiSimpleModel } from './Yi/index';
7
7
  import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
+ import { DeepSeekSimpleModel } from './DeepSeek';
10
11
  export declare const MODELS: {
11
12
  hunyuan: typeof HunYuanSimpleModel;
12
13
  'hunyuan-beta': typeof HunYuanBetaSimpleModel;
@@ -17,6 +18,7 @@ export declare const MODELS: {
17
18
  zhipu: typeof ZhiPuSimpleModel;
18
19
  'hunyuan-exp': typeof HunYuanExpSimpleModel;
19
20
  'hunyuan-open': typeof HunYuanOpenSimpleModel;
21
+ deepseek: typeof DeepSeekSimpleModel;
20
22
  };
21
23
  export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
22
24
  export { ReactModel, toolMap } from './model';
@@ -19,6 +19,7 @@ var index_8 = require("./HunYuanExp/index");
19
19
  Object.defineProperty(exports, "HunYuanExpSimpleModel", { enumerable: true, get: function () { return index_8.HunYuanExpSimpleModel; } });
20
20
  var index_9 = require("./HunYuanOpen/index");
21
21
  Object.defineProperty(exports, "HunYuanOpenSimpleModel", { enumerable: true, get: function () { return index_9.HunYuanOpenSimpleModel; } });
22
+ var DeepSeek_1 = require("./DeepSeek");
22
23
  exports.MODELS = {
23
24
  hunyuan: index_3.HunYuanSimpleModel,
24
25
  'hunyuan-beta': index_2.HunYuanBetaSimpleModel,
@@ -29,8 +30,9 @@ exports.MODELS = {
29
30
  zhipu: index_1.ZhiPuSimpleModel,
30
31
  'hunyuan-exp': index_8.HunYuanExpSimpleModel,
31
32
  'hunyuan-open': index_9.HunYuanOpenSimpleModel,
33
+ deepseek: DeepSeek_1.DeepSeekSimpleModel,
32
34
  };
33
35
  var model_1 = require("./model");
34
36
  Object.defineProperty(exports, "ReactModel", { enumerable: true, get: function () { return model_1.ReactModel; } });
35
37
  Object.defineProperty(exports, "toolMap", { enumerable: true, get: function () { return model_1.toolMap; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQXVCOUMsaUdBdkJPLHdCQUFnQixPQXVCUDtBQXRCbEIsNkNBQTREO0FBdUIxRCx1R0F2Qk8sOEJBQXNCLE9BdUJQO0FBdEJ4Qix5Q0FBb0Q7QUF1QmxELG1HQXZCTywwQkFBa0IsT0F1QlA7QUF0QnBCLHFDQUE0QztBQXVCMUMsK0ZBdkJPLHNCQUFjLE9BdUJQO0FBdEJoQiwyQ0FBaUQ7QUF1Qi9DLDhGQXZCTyxxQkFBYSxPQXVCUDtBQXRCZixvQ0FBMEM7QUF1QnhDLDhGQXZCTyxxQkFBYSxPQXVCUDtBQXRCZiwwQ0FBc0Q7QUF1QnBELG9HQXZCTywyQkFBbUIsT0F1QlA7QUF0QnJCLDRDQUEwRDtBQXVCeEQsc0dBdkJPLDZCQUFxQixPQXVCUDtBQXRCdkIsNkNBQTREO0FBdUIxRCx1R0F2Qk8sOEJBQXNCLE9BdUJQO0FBckJYLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSwwQkFBa0I7SUFDM0IsY0FBYyxFQUFFLDhCQUFzQjtJQUN0QyxHQUFHLEVBQUUsc0JBQWM7SUFDbkIsU0FBUyxFQUFFLHFCQUFhO0lBQ3hCLE9BQU8sRUFBRSxxQkFBYTtJQUN0QixRQUFRLEVBQUUsMkJBQW1CO0lBQzdCLEtBQUssRUFBRSx3QkFBZ0I7SUFDdkIsYUFBYSxFQUFFLDZCQUFxQjtJQUNwQyxjQUFjLEVBQUUsOEJBQXNCO0NBQ3ZDLENBQUE7QUFjRCxpQ0FBNkM7QUFBcEMsbUdBQUEsVUFBVSxPQUFBO0FBQUUsZ0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWmhpUHVTaW1wbGVNb2RlbCB9IGZyb20gJy4vWmhpUHUvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuQmV0YS9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5TaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbi9pbmRleCdcbmltcG9ydCB7IEFya1NpbXBsZU1vZGVsIH0gZnJvbSAnLi9BcmsvaW5kZXgnXG5pbXBvcnQgeyBEU1NpbXBsZU1vZGVsIH0gZnJvbSAnLi9EYXNoU2NvcGUvaW5kZXgnXG5pbXBvcnQgeyBZaVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9ZaS9pbmRleCdcbmltcG9ydCB7IE1vb25zaG90U2ltcGxlTW9kZWwgfSBmcm9tICcuL01vb25zaG90L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkV4cFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuRXhwL2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbk9wZW4vaW5kZXgnXG5cbmV4cG9ydCBjb25zdCBNT0RFTFMgPSB7XG4gIGh1bnl1YW46IEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tYmV0YSc6IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIGFyazogQXJrU2ltcGxlTW9kZWwsXG4gIGRhc2hzY29wZTogRFNTaW1wbGVNb2RlbCxcbiAgJzAxLWFpJzogWWlTaW1wbGVNb2RlbCxcbiAgbW9vbnNob3Q6IE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIHpoaXB1OiBaaGlQdVNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1leHAnOiBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLW9wZW4nOiBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQge1xuICBaaGlQdVNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gIEFya1NpbXBsZU1vZGVsLFxuICBEU1NpbXBsZU1vZGVsLFxuICBZaVNpbXBsZU1vZGVsLFxuICBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gIEh1bll1YW5PcGVuU2ltcGxlTW9kZWwsXG59XG5cbmV4cG9ydCB7IFJlYWN0TW9kZWwsIHRvb2xNYXAgfSBmcm9tICcuL21vZGVsJ1xuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQXlCOUMsaUdBekJPLHdCQUFnQixPQXlCUDtBQXhCbEIsNkNBQTREO0FBeUIxRCx1R0F6Qk8sOEJBQXNCLE9BeUJQO0FBeEJ4Qix5Q0FBb0Q7QUF5QmxELG1HQXpCTywwQkFBa0IsT0F5QlA7QUF4QnBCLHFDQUE0QztBQXlCMUMsK0ZBekJPLHNCQUFjLE9BeUJQO0FBeEJoQiwyQ0FBaUQ7QUF5Qi9DLDhGQXpCTyxxQkFBYSxPQXlCUDtBQXhCZixvQ0FBMEM7QUF5QnhDLDhGQXpCTyxxQkFBYSxPQXlCUDtBQXhCZiwwQ0FBc0Q7QUF5QnBELG9HQXpCTywyQkFBbUIsT0F5QlA7QUF4QnJCLDRDQUEwRDtBQXlCeEQsc0dBekJPLDZCQUFxQixPQXlCUDtBQXhCdkIsNkNBQTREO0FBeUIxRCx1R0F6Qk8sOEJBQXNCLE9BeUJQO0FBeEJ4Qix1Q0FBZ0Q7QUFFbkMsUUFBQSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLDBCQUFrQjtJQUMzQixjQUFjLEVBQUUsOEJBQXNCO0lBQ3RDLEdBQUcsRUFBRSxzQkFBYztJQUNuQixTQUFTLEVBQUUscUJBQWE7SUFDeEIsT0FBTyxFQUFFLHFCQUFhO0lBQ3RCLFFBQVEsRUFBRSwyQkFBbUI7SUFDN0IsS0FBSyxFQUFFLHdCQUFnQjtJQUN2QixhQUFhLEVBQUUsNkJBQXFCO0lBQ3BDLGNBQWMsRUFBRSw4QkFBc0I7SUFDdEMsUUFBUSxFQUFFLDhCQUFtQjtDQUM5QixDQUFBO0FBY0QsaUNBQTZDO0FBQXBDLG1HQUFBLFVBQVUsT0FBQTtBQUFFLGdHQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpoaVB1U2ltcGxlTW9kZWwgfSBmcm9tICcuL1poaVB1L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkJldGEvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW4vaW5kZXgnXG5pbXBvcnQgeyBBcmtTaW1wbGVNb2RlbCB9IGZyb20gJy4vQXJrL2luZGV4J1xuaW1wb3J0IHsgRFNTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGFzaFNjb3BlL2luZGV4J1xuaW1wb3J0IHsgWWlTaW1wbGVNb2RlbCB9IGZyb20gJy4vWWkvaW5kZXgnXG5pbXBvcnQgeyBNb29uc2hvdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9Nb29uc2hvdC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5FeHBTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkV4cC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5PcGVuL2luZGV4J1xuaW1wb3J0IHsgRGVlcFNlZWtTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGVlcFNlZWsnXG5cbmV4cG9ydCBjb25zdCBNT0RFTFMgPSB7XG4gIGh1bnl1YW46IEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tYmV0YSc6IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIGFyazogQXJrU2ltcGxlTW9kZWwsXG4gIGRhc2hzY29wZTogRFNTaW1wbGVNb2RlbCxcbiAgJzAxLWFpJzogWWlTaW1wbGVNb2RlbCxcbiAgbW9vbnNob3Q6IE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIHpoaXB1OiBaaGlQdVNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1leHAnOiBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLW9wZW4nOiBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxuICBkZWVwc2VlazogRGVlcFNlZWtTaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHtcbiAgWmhpUHVTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgSHVuWXVhblNpbXBsZU1vZGVsLFxuICBBcmtTaW1wbGVNb2RlbCxcbiAgRFNTaW1wbGVNb2RlbCxcbiAgWWlTaW1wbGVNb2RlbCxcbiAgTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
package/dist/esm/AI.d.ts CHANGED
@@ -12,6 +12,7 @@ declare const MODELS: {
12
12
  zhipu: typeof models.ZhiPuSimpleModel;
13
13
  'hunyuan-exp': typeof models.HunYuanExpSimpleModel;
14
14
  'hunyuan-open': typeof models.HunYuanOpenSimpleModel;
15
+ deepseek: typeof import("./models/DeepSeek").DeepSeekSimpleModel;
15
16
  };
16
17
  declare class AI {
17
18
  private req;
@@ -106,21 +106,26 @@ var Bot = (function () {
106
106
  return this.req({ method: 'delete', url: this.join("bots/".concat(botId)) });
107
107
  };
108
108
  Bot.prototype.getChatRecords = function (props) {
109
- return this.req({ method: 'get', url: this.join('records'), data: props });
109
+ return this.req({ method: 'get', url: this.join("bots/".concat(props.botId, "/records")), data: props });
110
110
  };
111
111
  Bot.prototype.sendFeedback = function (_a) {
112
112
  var userFeedback = _a.userFeedback;
113
- return this.req({ method: 'post', url: this.join('feedback'), data: userFeedback });
113
+ return this.req({ method: 'post', url: this.join("bots/".concat(userFeedback.botId, "/feedback")), data: userFeedback });
114
114
  };
115
115
  Bot.prototype.getFeedback = function (props) {
116
- return this.req({ method: 'get', url: this.join('feedback'), data: props });
116
+ return this.req({ method: 'get', url: this.join("bots/".concat(props.botId, "/feedback")), data: props });
117
117
  };
118
118
  Bot.prototype.getRecommendQuestions = function (props) {
119
119
  return __awaiter(this, void 0, void 0, function () {
120
120
  var res;
121
121
  return __generator(this, function (_a) {
122
122
  switch (_a.label) {
123
- case 0: return [4, this.req({ method: 'post', url: this.join('recommend-questions'), data: props, stream: true })];
123
+ case 0: return [4, this.req({
124
+ method: 'post',
125
+ url: this.join("bots/".concat(props.botId, "/recommend-questions")),
126
+ data: props,
127
+ stream: true,
128
+ })];
124
129
  case 1:
125
130
  res = _a.sent();
126
131
  return [2, new StreamResult(res)];
@@ -162,7 +167,12 @@ var Bot = (function () {
162
167
  var res;
163
168
  return __generator(this, function (_a) {
164
169
  switch (_a.label) {
165
- case 0: return [4, this.req({ method: 'post', url: this.join('send-message'), data: props, stream: true })];
170
+ case 0: return [4, this.req({
171
+ method: 'post',
172
+ url: this.join("bots/".concat(props.botId, "/send-message")),
173
+ data: props,
174
+ stream: true,
175
+ })];
166
176
  case 1:
167
177
  res = _a.sent();
168
178
  return [2, new StreamResult(res)];
@@ -232,4 +242,4 @@ var StreamResult = (function () {
232
242
  });
233
243
  return StreamResult;
234
244
  }());
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QjtZQUFyQixPQUFPLGFBQUE7UUFDZCxPQUFPLElBQUksQ0FBQyxH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QUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMxQyxDQUFDO2FBQ0YsQ0FBQyxDQUFFLENBQUUsQ0FBQTtRQUNSLENBQUM7OztPQUFBO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBMUNELElBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQYXJzZWRFdmVudCB9IGZyb20gJy4uL2V2ZW50c291cmNlX3BhcnNlcidcbmltcG9ydCB7IEJvdFJlcSB9IGZyb20gJy4uL3R5cGUnXG5pbXBvcnQge1xuICBJQm90UHJldmlldyxcbiAgSUJvdFNlbmRNZXNzYWdlLFxuICBJQ3JlYXRlQm90LFxuICBJRGVsZXRlQm90LFxuICBJR2VuZXJhdGVCb3QsXG4gIElHZW5lcmF0ZUltYWdlLFxuICBJR2V0Qm90LFxuICBJR2V0Qm90Q2hhdFJlY29yZHMsXG4gIElHZXRCb3RGZWVkYmFjayxcbiAgSUdldEJvdExpc3QsXG4gIElHZXRCb3RSZWNvbW1lbmRRdWVzdGlvbnMsXG4gIElTZW5kQm90RmVlZGJhY2ssXG4gIElVcGRhdGVCb3QsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICB0b1BvbHlmaWxsUmVhZGFibGUsXG4gIGNyZWF0ZUV2ZW50U291cmNlUGFyc2VyVHJhbnNmb3JtU3RyZWFtLFxuICBUZXh0RGVjb2RlclN0cmVhbSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxufSBmcm9tICcuLi91dGlscydcblxuZXhwb3J0IGNsYXNzIEJvdCB7XG4gIHJlcTogQm90UmVxXG5cbiAgY29uc3RydWN0b3IocmVxOiBCb3RSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IGFyZ3VtZW50c1syXVxuICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnJlcSA9ICh7IGhlYWRlcnMgPSB7fSwgLi4ucmVzdCB9KSA9PiByZXEoeyAuLi5yZXN0LCBoZWFkZXJzOiB7IC4uLmhlYWRlcnMsIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXEgPSByZXFcbiAgICB9XG4gIH1cblxuICBsaXN0KHByb3BzOiBJR2V0Qm90TGlzdCkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgIH0pXG4gIH1cblxuICBjcmVhdGUoeyBib3RJbmZvIH06IElDcmVhdGVCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IHRoaXMuam9pbignYm90cycpLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICB9KVxuICB9XG5cbiAgZ2V0KHsgYm90SWQgfTogSUdldEJvdCkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlKHsgYm90SWQsIGJvdEluZm8gfTogSVVwZGF0ZUJvdCkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApLFxuICAgICAgZGF0YTogYm90SW5mbyxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlKHsgYm90SWQgfTogSURlbGV0ZUJvdCkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ2RlbGV0ZScsIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCkgfSlcbiAgfVxuXG4gIGdldENoYXRSZWNvcmRzKHByb3BzOiBJR2V0Qm90Q2hhdFJlY29yZHMpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdnZXQnLCB1cmw6IHRoaXMuam9pbigncmVjb3JkcycpLCBkYXRhOiBwcm9wcyB9KVxuICB9XG5cbiAgc2VuZEZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH06IElTZW5kQm90RmVlZGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ2ZlZWRiYWNrJyksIGRhdGE6IHVzZXJGZWVkYmFjayB9KVxuICB9XG5cbiAgZ2V0RmVlZGJhY2socHJvcHM6IElHZXRCb3RGZWVkYmFjaykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ2dldCcsIHVybDogdGhpcy5qb2luKCdmZWVkYmFjaycpLCBkYXRhOiBwcm9wcyB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0UmVjb21tZW5kUXVlc3Rpb25zKHByb3BzOiBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ3JlY29tbWVuZC1xdWVzdGlvbnMnKSwgZGF0YTogcHJvcHMsIHN0cmVhbTogdHJ1ZSB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQm90KHByb3BzOiBJR2VuZXJhdGVCb3QpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtYm90JyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBhc3luYyBnZXRQcmV2aWV3KHByb3BzOiBJQm90UHJldmlldykge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdwcmV2aWV3JyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBnZW5lcmF0ZUltYWdlKHByb3BzOiBJR2VuZXJhdGVJbWFnZSkge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignZ2VuZXJhdGUtaW1hZ2UnKSwgZGF0YTogcHJvcHMgfSlcbiAgfVxuXG4gIGFzeW5jIHNlbmRNZXNzYWdlKHByb3BzOiBJQm90U2VuZE1lc3NhZ2UpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IHRoaXMuam9pbignc2VuZC1tZXNzYWdlJyksIGRhdGE6IHByb3BzLCBzdHJlYW06IHRydWUgfSlcbiAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChyZXMpXG4gIH1cblxuICBwcml2YXRlIGpvaW4odXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3VybH1gXG4gIH1cbn1cblxudHlwZSBCb3RFdmVudFN0cmVhbURhdGEgPSB7IGNvbnRlbnQ6IHN0cmluZyB9XG5cbmNsYXNzIFN0cmVhbVJlc3VsdCB7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxQYXJzZWRFdmVudD5cblxuICBjb25zdHJ1Y3Rvcihfc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pikge1xuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gc3RyZWFtXG4gICAgICAucGlwZVRocm91Z2gobmV3IFRleHREZWNvZGVyU3RyZWFtKCkpXG4gICAgICAucGlwZVRocm91Z2goY3JlYXRlRXZlbnRTb3VyY2VQYXJzZXJUcmFuc2Zvcm1TdHJlYW0oKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRlZWVkU3RyZWFtKCkge1xuICAgIGNvbnN0IFtzMSwgczJdID0gdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0udGVlKClcbiAgICB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbSA9IHMyXG4gICAgcmV0dXJuIHMxXG4gIH1cblxuICBnZXQgZXZlbnRTb3VyY2VTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy50ZWVlZFN0cmVhbSlcbiAgfVxuXG4gIGdldCBkYXRhU3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMuZXZlbnRTb3VyY2VTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxQYXJzZWRFdmVudCwgQm90RXZlbnRTdHJlYW1EYXRhPih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShjaHVuay5kYXRhKVxuICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShkYXRhKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGNodW5rLmRhdGEgIT09ICdbRE9ORV0nKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHdoZW4gdHJhbnNmb3JtaW5nIGV2ZW50IHNvdXJjZSBkYXRhIHRvIGpzb24nLCBlLCBjaHVuaylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cblxuICBnZXQgdGV4dFN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLmRhdGFTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCb3RFdmVudFN0cmVhbURhdGEsIHN0cmluZz4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuaz8uY29udGVudCA/PyAnJylcbiAgICAgIH0sXG4gICAgfSksKSwpXG4gIH1cbn1cbiJdfQ==
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm90L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0NBQXNDLEVBQ3RDLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBRWpCO0lBR0UsYUFBWSxHQUFXLEVBQVMsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDN0MsSUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBQyxFQUF5QjtnQkFBdkIsSUFBQSxlQUFZLEVBQVosT0FBTyxtQkFBRyxFQUFFLEtBQUEsRUFBSyxJQUFJLGNBQXZCLFdBQXlCLENBQUY7Z0JBQU8sT0FBQSxHQUFHLHVCQUFNLElBQUksS0FBRSxPQUFPLHdCQUFPLE9BQU8sS0FBRSxhQUFhLEVBQUUsaUJBQVUsS0FBSyxDQUFFLE9BQUssQ0FBQTthQUFBLENBQUE7U0FDdEg7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsa0JBQUksR0FBSixVQUFLLEtBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9CQUFNLEdBQU4sVUFBTyxFQUF1QjtZQUFyQixPQUFPLGFBQUE7UUFDZCxPQUFPLElBQUksQ0FBQyxH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LENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBNkI7Z0JBQ3JHLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTs7b0JBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxtQ0FBSSxFQUFFLENBQUMsQ0FBQTtnQkFDMUMsQ0FBQzthQUNGLENBQUMsQ0FBRSxDQUFFLENBQUE7UUFDUixDQUFDOzs7T0FBQTtJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQTFDRCxJQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUGFyc2VkRXZlbnQgfSBmcm9tICcuLi9ldmVudHNvdXJjZV9wYXJzZXInXG5pbXBvcnQgeyBCb3RSZXEgfSBmcm9tICcuLi90eXBlJ1xuaW1wb3J0IHtcbiAgSUJvdFByZXZpZXcsXG4gIElCb3RTZW5kTWVzc2FnZSxcbiAgSUNyZWF0ZUJvdCxcbiAgSURlbGV0ZUJvdCxcbiAgSUdlbmVyYXRlQm90LFxuICBJR2VuZXJhdGVJbWFnZSxcbiAgSUdldEJvdCxcbiAgSUdldEJvdENoYXRSZWNvcmRzLFxuICBJR2V0Qm90RmVlZGJhY2ssXG4gIElHZXRCb3RMaXN0LFxuICBJR2V0Qm90UmVjb21tZW5kUXVlc3Rpb25zLFxuICBJU2VuZEJvdEZlZWRiYWNrLFxuICBJVXBkYXRlQm90LFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSxcbiAgVGV4dERlY29kZXJTdHJlYW0sXG4gIFRyYW5zZm9ybVN0cmVhbSxcbn0gZnJvbSAnLi4vdXRpbHMnXG5cbmV4cG9ydCBjbGFzcyBCb3Qge1xuICByZXE6IEJvdFJlcVxuXG4gIGNvbnN0cnVjdG9yKHJlcTogQm90UmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9rZW4gPSBhcmd1bWVudHNbMl1cbiAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5yZXEgPSAoeyBoZWFkZXJzID0ge30sIC4uLnJlc3QgfSkgPT4gcmVxKHsgLi4ucmVzdCwgaGVhZGVyczogeyAuLi5oZWFkZXJzLCBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVxID0gcmVxXG4gICAgfVxuICB9XG5cbiAgbGlzdChwcm9wczogSUdldEJvdExpc3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKCdib3RzJyksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICB9KVxuICB9XG5cbiAgY3JlYXRlKHsgYm90SW5mbyB9OiBJQ3JlYXRlQm90KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oJ2JvdHMnKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgfSlcbiAgfVxuXG4gIGdldCh7IGJvdElkIH06IElHZXRCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7Ym90SWR9YCksXG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZSh7IGJvdElkLCBib3RJbmZvIH06IElVcGRhdGVCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoe1xuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtib3RJZH1gKSxcbiAgICAgIGRhdGE6IGJvdEluZm8sXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZSh7IGJvdElkIH06IElEZWxldGVCb3QpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdkZWxldGUnLCB1cmw6IHRoaXMuam9pbihgYm90cy8ke2JvdElkfWApIH0pXG4gIH1cblxuICBnZXRDaGF0UmVjb3Jkcyhwcm9wczogSUdldEJvdENoYXRSZWNvcmRzKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAnZ2V0JywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vcmVjb3Jkc2ApLCBkYXRhOiBwcm9wcyB9KVxuICB9XG5cbiAgc2VuZEZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH06IElTZW5kQm90RmVlZGJhY2spIHtcbiAgICByZXR1cm4gdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHt1c2VyRmVlZGJhY2suYm90SWR9L2ZlZWRiYWNrYCksIGRhdGE6IHVzZXJGZWVkYmFjayB9KVxuICB9XG5cbiAgZ2V0RmVlZGJhY2socHJvcHM6IElHZXRCb3RGZWVkYmFjaykge1xuICAgIHJldHVybiB0aGlzLnJlcSh7IG1ldGhvZDogJ2dldCcsIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L2ZlZWRiYWNrYCksIGRhdGE6IHByb3BzIH0pXG4gIH1cblxuICBhc3luYyBnZXRSZWNvbW1lbmRRdWVzdGlvbnMocHJvcHM6IElHZXRCb3RSZWNvbW1lbmRRdWVzdGlvbnMpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdGhpcy5qb2luKGBib3RzLyR7cHJvcHMuYm90SWR9L3JlY29tbWVuZC1xdWVzdGlvbnNgKSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgIH0pXG4gICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQocmVzKVxuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVCb3QocHJvcHM6IElHZW5lcmF0ZUJvdCkge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1ib3QnKSwgZGF0YTogcHJvcHMsIHN0cmVhbTogdHJ1ZSB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGFzeW5jIGdldFByZXZpZXcocHJvcHM6IElCb3RQcmV2aWV3KSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoeyBtZXRob2Q6ICdwb3N0JywgdXJsOiB0aGlzLmpvaW4oJ3ByZXZpZXcnKSwgZGF0YTogcHJvcHMsIHN0cmVhbTogdHJ1ZSB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIGdlbmVyYXRlSW1hZ2UocHJvcHM6IElHZW5lcmF0ZUltYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxKHsgbWV0aG9kOiAncG9zdCcsIHVybDogdGhpcy5qb2luKCdnZW5lcmF0ZS1pbWFnZScpLCBkYXRhOiBwcm9wcyB9KVxuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UocHJvcHM6IElCb3RTZW5kTWVzc2FnZSkge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiB0aGlzLmpvaW4oYGJvdHMvJHtwcm9wcy5ib3RJZH0vc2VuZC1tZXNzYWdlYCksXG4gICAgICBkYXRhOiBwcm9wcyxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICB9KVxuICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KHJlcylcbiAgfVxuXG4gIHByaXZhdGUgam9pbih1cmw6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dXJsfWBcbiAgfVxufVxuXG50eXBlIEJvdEV2ZW50U3RyZWFtRGF0YSA9IHsgY29udGVudDogc3RyaW5nIH1cblxuY2xhc3MgU3RyZWFtUmVzdWx0IHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFBhcnNlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKF9zdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KSB7XG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG4gICAgdGhpcy5fZXZlbnRTb3VyY2VTdHJlYW0gPSBzdHJlYW1cbiAgICAgIC5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0oKSlcbiAgICAgIC5waXBlVGhyb3VnaChjcmVhdGVFdmVudFNvdXJjZVBhcnNlclRyYW5zZm9ybVN0cmVhbSgpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGVlZWRTdHJlYW0oKSB7XG4gICAgY29uc3QgW3MxLCBzMl0gPSB0aGlzLl9ldmVudFNvdXJjZVN0cmVhbS50ZWUoKVxuICAgIHRoaXMuX2V2ZW50U291cmNlU3RyZWFtID0gczJcbiAgICByZXR1cm4gczFcbiAgfVxuXG4gIGdldCBldmVudFNvdXJjZVN0cmVhbSgpIHtcbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZSh0aGlzLnRlZWVkU3RyZWFtKVxuICB9XG5cbiAgZ2V0IGRhdGFTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUodGhpcy5ldmVudFNvdXJjZVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPFBhcnNlZEV2ZW50LCBCb3RFdmVudFN0cmVhbURhdGE+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGNodW5rLmRhdGEpXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGRhdGEpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoY2h1bmsuZGF0YSAhPT0gJ1tET05FXScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hlbiB0cmFuc2Zvcm1pbmcgZXZlbnQgc291cmNlIGRhdGEgdG8ganNvbicsIGUsIGNodW5rKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSwpLClcbiAgfVxuXG4gIGdldCB0ZXh0U3RyZWFtKCkge1xuICAgIHJldHVybiBjcmVhdGVBc3luY0l0ZXJhYmxlKHRoaXMuZGF0YVN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEJvdEV2ZW50U3RyZWFtRGF0YSwgc3RyaW5nPih7XG4gICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rPy5jb250ZW50ID8/ICcnKVxuICAgICAgfSxcbiAgICB9KSwpLClcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import type { ModelReq, BaseChatModelInput, SimpleChatModel, DoStreamOutput, DoGenerateOutput } from '../../type';
2
+ export declare class DeepSeekSimpleModel implements SimpleChatModel {
3
+ private req;
4
+ baseUrl: string;
5
+ subUrl: string;
6
+ constructor(req: ModelReq, baseUrl: string, subUrl?: string);
7
+ private get url();
8
+ doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput>;
9
+ doStream(data: BaseChatModelInput): Promise<DoStreamOutput>;
10
+ }
@@ -0,0 +1,121 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { createAsyncIterable, TransformStream, toPolyfillReadable, intoStandardStream, isToolCallAssistantMessage, } from '../../utils';
49
+ var DeepSeekSimpleModel = (function () {
50
+ function DeepSeekSimpleModel(req, baseUrl, subUrl) {
51
+ this.req = req;
52
+ this.baseUrl = baseUrl;
53
+ this.subUrl = 'deepseek/v1/chat/completions';
54
+ if (subUrl != null) {
55
+ this.subUrl = subUrl;
56
+ }
57
+ }
58
+ Object.defineProperty(DeepSeekSimpleModel.prototype, "url", {
59
+ get: function () {
60
+ return "".concat(this.baseUrl, "/").concat(this.subUrl);
61
+ },
62
+ enumerable: false,
63
+ configurable: true
64
+ });
65
+ DeepSeekSimpleModel.prototype.doGenerate = function (data) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var res;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0: return [4, this.req({
71
+ url: this.url,
72
+ data: __assign(__assign({}, data), { stream: false }),
73
+ stream: false,
74
+ })];
75
+ case 1:
76
+ res = (_a.sent());
77
+ return [2, __assign(__assign({}, res), { rawResponse: res })];
78
+ }
79
+ });
80
+ });
81
+ };
82
+ DeepSeekSimpleModel.prototype.doStream = function (data) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var isToolCall, _stream, stream, standardStream, streamWithRaw;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ isToolCall = null;
89
+ return [4, this.req({
90
+ url: this.url,
91
+ data: __assign(__assign({}, data), { stream: true }),
92
+ stream: true,
93
+ })];
94
+ case 1:
95
+ _stream = _a.sent();
96
+ stream = toPolyfillReadable(_stream);
97
+ standardStream = intoStandardStream(stream);
98
+ streamWithRaw = standardStream.pipeThrough(new TransformStream({
99
+ transform: function (chunk, controller) {
100
+ var newChoices = chunk.choices.map(function (choice) {
101
+ var message = choice.delta;
102
+ if (isToolCall == null)
103
+ isToolCall = isToolCallAssistantMessage(message);
104
+ if (isToolCall) {
105
+ return __assign(__assign({}, choice), { finish_reason: 'tool_calls', delta: message });
106
+ }
107
+ return choice;
108
+ });
109
+ var newChunk = __assign(__assign({}, chunk), { choices: newChoices });
110
+ controller.enqueue(__assign(__assign({}, newChunk), { rawResponse: chunk }));
111
+ },
112
+ }));
113
+ return [2, createAsyncIterable(streamWithRaw)];
114
+ }
115
+ });
116
+ });
117
+ };
118
+ return DeepSeekSimpleModel;
119
+ }());
120
+ export { DeepSeekSimpleModel };
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0RlZXBTZWVrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSxhQUFhLENBQUE7QUFVcEI7SUFFRSw2QkFBb0IsR0FBYSxFQUFTLE9BQWUsRUFBRSxNQUFlO1FBQXRELFFBQUcsR0FBSCxHQUFHLENBQVU7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRGxELFdBQU0sR0FBRyw4QkFBOEIsQ0FBQTtRQUU1QyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRUQsc0JBQVksb0NBQUc7YUFBZjtZQUNFLE9BQU8sVUFBRyxJQUFJLENBQUMsT0FBTyxjQUFJLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQTtRQUN6QyxDQUFDOzs7T0FBQTtJQUVZLHdDQUFVLEdBQXZCLFVBQXdCLElBQXdCOzs7Ozs0QkFDakMsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUMxQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFDQyxJQUFJLEtBQ1AsTUFBTSxFQUFFLEtBQUssR0FDZDs0QkFDRCxNQUFNLEVBQUUsS0FBSzt5QkFDZCxDQUFDLEVBQUE7O3dCQVBJLEdBQUcsR0FBRyxDQUFDLFNBT1gsQ0FBcUI7d0JBQ3ZCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksc0NBQVEsR0FBckIsVUFBc0IsSUFBd0I7Ozs7Ozt3QkFDeEMsVUFBVSxHQUFtQixJQUFJLENBQUE7d0JBQ3JCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBSSxLQUNQLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7NkJBQ2IsQ0FBQyxFQUFBOzt3QkFQSSxPQUFPLEdBQUcsU0FPZDt3QkFDSSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxjQUFjLEdBQUcsa0JBQWtCLENBQTBCLE1BQU0sQ0FBQyxDQUFBO3dCQUNwRSxhQUFhLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBMkU7NEJBQzdJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQ0FDeEUsSUFBSSxVQUFVLEVBQUU7d0NBQ2QsNkJBQ0ssTUFBTSxLQUNULGFBQWEsRUFBRSxZQUFxQixFQUNwQyxLQUFLLEVBQUUsT0FBTyxJQUNmO3FDQUNGO29DQUNELE9BQU8sTUFBTSxDQUFBO2dDQUNmLENBQUMsQ0FBQyxDQUFBO2dDQUNGLElBQU0sUUFBUSx5QkFBUSxLQUFLLEtBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRSxDQUFBO2dDQUNsRCxVQUFVLENBQUMsT0FBTyx1QkFBTSxRQUFRLEtBQUUsV0FBVyxFQUFFLEtBQUssSUFBRyxDQUFBOzRCQUN6RCxDQUFDO3lCQUNGLENBQUMsQ0FBRSxDQUFBO3dCQUVKLFdBQU8sbUJBQW1CLENBQUMsYUFBYSxDQUFDLEVBQUE7Ozs7S0FDMUM7SUFDSCwwQkFBQztBQUFELENBQUMsQUExREQsSUEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIHRvUG9seWZpbGxSZWFkYWJsZSxcbiAgaW50b1N0YW5kYXJkU3RyZWFtLFxuICBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIE1vZGVsUmVxLFxuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIFNpbXBsZUNoYXRNb2RlbCxcbiAgRG9TdHJlYW1PdXRwdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb0dlbmVyYXRlT3V0cHV0LFxufSBmcm9tICcuLi8uLi90eXBlJ1xuXG5leHBvcnQgY2xhc3MgRGVlcFNlZWtTaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIHB1YmxpYyBzdWJVcmwgPSAnZGVlcHNlZWsvdjEvY2hhdC9jb21wbGV0aW9ucydcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXE6IE1vZGVsUmVxLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nLCBzdWJVcmw/OiBzdHJpbmcpIHtcbiAgICBpZiAoc3ViVXJsICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc3ViVXJsID0gc3ViVXJsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdXJsKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5zdWJVcmx9YFxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvR2VuZXJhdGUoZGF0YTogQmFzZUNoYXRNb2RlbElucHV0KTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PiB7XG4gICAgY29uc3QgcmVzID0gKGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICB9KSkgYXMgRG9HZW5lcmF0ZU91dHB1dFxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oZGF0YTogQmFzZUNoYXRNb2RlbElucHV0KTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD4ge1xuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICB9KVxuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuXG4gICAgY29uc3Qgc3RhbmRhcmRTdHJlYW0gPSBpbnRvU3RhbmRhcmRTdHJlYW08QmFzZURvU3RyZWFtT3V0cHV0Q2h1bms+KHN0cmVhbSlcbiAgICBjb25zdCBzdHJlYW1XaXRoUmF3ID0gc3RhbmRhcmRTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaywgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsgJiB7IHJhd1Jlc3BvbnNlPzogYW55IH0+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb25zdCBuZXdDaG9pY2VzID0gY2h1bmsuY2hvaWNlcy5tYXAoKGNob2ljZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaG9pY2UuZGVsdGFcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCA9PSBudWxsKSBpc1Rvb2xDYWxsID0gaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSlcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgICAgICBmaW5pc2hfcmVhc29uOiAndG9vbF9jYWxscycgYXMgY29uc3QsXG4gICAgICAgICAgICAgIGRlbHRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY2hvaWNlXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG5ld0NodW5rID0geyAuLi5jaHVuaywgY2hvaWNlczogbmV3Q2hvaWNlcyB9XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh7IC4uLm5ld0NodW5rLCByYXdSZXNwb25zZTogY2h1bmsgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUoc3RyZWFtV2l0aFJhdylcbiAgfVxufVxuIl19
@@ -7,6 +7,7 @@ import { YiSimpleModel } from './Yi/index';
7
7
  import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
+ import { DeepSeekSimpleModel } from './DeepSeek';
10
11
  export declare const MODELS: {
11
12
  hunyuan: typeof HunYuanSimpleModel;
12
13
  'hunyuan-beta': typeof HunYuanBetaSimpleModel;
@@ -17,6 +18,7 @@ export declare const MODELS: {
17
18
  zhipu: typeof ZhiPuSimpleModel;
18
19
  'hunyuan-exp': typeof HunYuanExpSimpleModel;
19
20
  'hunyuan-open': typeof HunYuanOpenSimpleModel;
21
+ deepseek: typeof DeepSeekSimpleModel;
20
22
  };
21
23
  export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
22
24
  export { ReactModel, toolMap } from './model';
@@ -7,6 +7,7 @@ import { YiSimpleModel } from './Yi/index';
7
7
  import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
+ import { DeepSeekSimpleModel } from './DeepSeek';
10
11
  export var MODELS = {
11
12
  hunyuan: HunYuanSimpleModel,
12
13
  'hunyuan-beta': HunYuanBetaSimpleModel,
@@ -17,7 +18,8 @@ export var MODELS = {
17
18
  zhipu: ZhiPuSimpleModel,
18
19
  'hunyuan-exp': HunYuanExpSimpleModel,
19
20
  'hunyuan-open': HunYuanOpenSimpleModel,
21
+ deepseek: DeepSeekSimpleModel,
20
22
  };
21
23
  export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
22
24
  export { ReactModel, toolMap } from './model';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTVELE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMsR0FBRyxFQUFFLGNBQWM7SUFDbkIsU0FBUyxFQUFFLGFBQWE7SUFDeEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsY0FBYyxFQUFFLHNCQUFzQjtDQUN2QyxDQUFBO0FBRUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3ZCLENBQUE7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpoaVB1U2ltcGxlTW9kZWwgfSBmcm9tICcuL1poaVB1L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkJldGEvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW4vaW5kZXgnXG5pbXBvcnQgeyBBcmtTaW1wbGVNb2RlbCB9IGZyb20gJy4vQXJrL2luZGV4J1xuaW1wb3J0IHsgRFNTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGFzaFNjb3BlL2luZGV4J1xuaW1wb3J0IHsgWWlTaW1wbGVNb2RlbCB9IGZyb20gJy4vWWkvaW5kZXgnXG5pbXBvcnQgeyBNb29uc2hvdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9Nb29uc2hvdC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5FeHBTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkV4cC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5PcGVuL2luZGV4J1xuXG5leHBvcnQgY29uc3QgTU9ERUxTID0ge1xuICBodW55dWFuOiBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLWJldGEnOiBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBhcms6IEFya1NpbXBsZU1vZGVsLFxuICBkYXNoc2NvcGU6IERTU2ltcGxlTW9kZWwsXG4gICcwMS1haSc6IFlpU2ltcGxlTW9kZWwsXG4gIG1vb25zaG90OiBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICB6aGlwdTogWmhpUHVTaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tZXhwJzogSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1vcGVuJzogSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHtcbiAgWmhpUHVTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgSHVuWXVhblNpbXBsZU1vZGVsLFxuICBBcmtTaW1wbGVNb2RlbCxcbiAgRFNTaW1wbGVNb2RlbCxcbiAgWWlTaW1wbGVNb2RlbCxcbiAgTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVoRCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLEdBQUcsRUFBRSxjQUFjO0lBQ25CLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSxtQkFBbUI7SUFDN0IsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixhQUFhLEVBQUUscUJBQXFCO0lBQ3BDLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMsUUFBUSxFQUFFLG1CQUFtQjtDQUM5QixDQUFBO0FBRUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3ZCLENBQUE7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpoaVB1U2ltcGxlTW9kZWwgfSBmcm9tICcuL1poaVB1L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkJldGEvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW4vaW5kZXgnXG5pbXBvcnQgeyBBcmtTaW1wbGVNb2RlbCB9IGZyb20gJy4vQXJrL2luZGV4J1xuaW1wb3J0IHsgRFNTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGFzaFNjb3BlL2luZGV4J1xuaW1wb3J0IHsgWWlTaW1wbGVNb2RlbCB9IGZyb20gJy4vWWkvaW5kZXgnXG5pbXBvcnQgeyBNb29uc2hvdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9Nb29uc2hvdC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5FeHBTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkV4cC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5PcGVuL2luZGV4J1xuaW1wb3J0IHsgRGVlcFNlZWtTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGVlcFNlZWsnXG5cbmV4cG9ydCBjb25zdCBNT0RFTFMgPSB7XG4gIGh1bnl1YW46IEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tYmV0YSc6IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIGFyazogQXJrU2ltcGxlTW9kZWwsXG4gIGRhc2hzY29wZTogRFNTaW1wbGVNb2RlbCxcbiAgJzAxLWFpJzogWWlTaW1wbGVNb2RlbCxcbiAgbW9vbnNob3Q6IE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIHpoaXB1OiBaaGlQdVNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1leHAnOiBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLW9wZW4nOiBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxuICBkZWVwc2VlazogRGVlcFNlZWtTaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHtcbiAgWmhpUHVTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgSHVuWXVhblNpbXBsZU1vZGVsLFxuICBBcmtTaW1wbGVNb2RlbCxcbiAgRFNTaW1wbGVNb2RlbCxcbiAgWWlTaW1wbGVNb2RlbCxcbiAgTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/ai",
3
- "version": "2.8.34",
3
+ "version": "2.9.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.8.34",
30
+ "@cloudbase/types": "^2.9.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.6.0"
37
37
  },
38
- "gitHead": "f4fb315fd6a29d3119bf3f67e8a783217190ad6d"
38
+ "gitHead": "aff66120b898725227d9b451bff736ca1dac9cfc"
39
39
  }
package/src/bot/index.ts CHANGED
@@ -71,19 +71,24 @@ export class Bot {
71
71
  }
72
72
 
73
73
  getChatRecords(props: IGetBotChatRecords) {
74
- return this.req({ method: 'get', url: this.join('records'), data: props })
74
+ return this.req({ method: 'get', url: this.join(`bots/${props.botId}/records`), data: props })
75
75
  }
76
76
 
77
77
  sendFeedback({ userFeedback }: ISendBotFeedback) {
78
- return this.req({ method: 'post', url: this.join('feedback'), data: userFeedback })
78
+ return this.req({ method: 'post', url: this.join(`bots/${userFeedback.botId}/feedback`), data: userFeedback })
79
79
  }
80
80
 
81
81
  getFeedback(props: IGetBotFeedback) {
82
- return this.req({ method: 'get', url: this.join('feedback'), data: props })
82
+ return this.req({ method: 'get', url: this.join(`bots/${props.botId}/feedback`), data: props })
83
83
  }
84
84
 
85
85
  async getRecommendQuestions(props: IGetBotRecommendQuestions) {
86
- const res = await this.req({ method: 'post', url: this.join('recommend-questions'), data: props, stream: true })
86
+ const res = await this.req({
87
+ method: 'post',
88
+ url: this.join(`bots/${props.botId}/recommend-questions`),
89
+ data: props,
90
+ stream: true,
91
+ })
87
92
  return new StreamResult(res)
88
93
  }
89
94
 
@@ -102,7 +107,12 @@ export class Bot {
102
107
  }
103
108
 
104
109
  async sendMessage(props: IBotSendMessage) {
105
- const res = await this.req({ method: 'post', url: this.join('send-message'), data: props, stream: true })
110
+ const res = await this.req({
111
+ method: 'post',
112
+ url: this.join(`bots/${props.botId}/send-message`),
113
+ data: props,
114
+ stream: true,
115
+ })
106
116
  return new StreamResult(res)
107
117
  }
108
118
 
@@ -0,0 +1,75 @@
1
+ import {
2
+ createAsyncIterable,
3
+ TransformStream,
4
+ toPolyfillReadable,
5
+ intoStandardStream,
6
+ isToolCallAssistantMessage,
7
+ } from '../../utils'
8
+ import type {
9
+ ModelReq,
10
+ BaseChatModelInput,
11
+ SimpleChatModel,
12
+ DoStreamOutput,
13
+ BaseDoStreamOutputChunk,
14
+ DoGenerateOutput,
15
+ } from '../../type'
16
+
17
+ export class DeepSeekSimpleModel implements SimpleChatModel {
18
+ public subUrl = 'deepseek/v1/chat/completions'
19
+ constructor(private req: ModelReq, public baseUrl: string, subUrl?: string) {
20
+ if (subUrl != null) {
21
+ this.subUrl = subUrl
22
+ }
23
+ }
24
+
25
+ private get url() {
26
+ return `${this.baseUrl}/${this.subUrl}`
27
+ }
28
+
29
+ public async doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput> {
30
+ const res = (await this.req({
31
+ url: this.url,
32
+ data: {
33
+ ...data,
34
+ stream: false,
35
+ },
36
+ stream: false,
37
+ })) as DoGenerateOutput
38
+ return { ...res, rawResponse: res }
39
+ }
40
+
41
+ public async doStream(data: BaseChatModelInput): Promise<DoStreamOutput> {
42
+ let isToolCall: null | boolean = null
43
+ const _stream = await this.req({
44
+ url: this.url,
45
+ data: {
46
+ ...data,
47
+ stream: true,
48
+ },
49
+ stream: true,
50
+ })
51
+ const stream = toPolyfillReadable(_stream) as typeof _stream
52
+
53
+ const standardStream = intoStandardStream<BaseDoStreamOutputChunk>(stream)
54
+ const streamWithRaw = standardStream.pipeThrough(new TransformStream<BaseDoStreamOutputChunk, BaseDoStreamOutputChunk & { rawResponse?: any }>({
55
+ transform(chunk, controller) {
56
+ const newChoices = chunk.choices.map((choice) => {
57
+ const message = choice.delta
58
+ if (isToolCall == null) isToolCall = isToolCallAssistantMessage(message)
59
+ if (isToolCall) {
60
+ return {
61
+ ...choice,
62
+ finish_reason: 'tool_calls' as const,
63
+ delta: message,
64
+ }
65
+ }
66
+ return choice
67
+ })
68
+ const newChunk = { ...chunk, choices: newChoices }
69
+ controller.enqueue({ ...newChunk, rawResponse: chunk })
70
+ },
71
+ }),)
72
+
73
+ return createAsyncIterable(streamWithRaw)
74
+ }
75
+ }
@@ -7,6 +7,7 @@ import { YiSimpleModel } from './Yi/index'
7
7
  import { MoonshotSimpleModel } from './Moonshot/index'
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index'
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index'
10
+ import { DeepSeekSimpleModel } from './DeepSeek'
10
11
 
11
12
  export const MODELS = {
12
13
  hunyuan: HunYuanSimpleModel,
@@ -18,6 +19,7 @@ export const MODELS = {
18
19
  zhipu: ZhiPuSimpleModel,
19
20
  'hunyuan-exp': HunYuanExpSimpleModel,
20
21
  'hunyuan-open': HunYuanOpenSimpleModel,
22
+ deepseek: DeepSeekSimpleModel,
21
23
  }
22
24
 
23
25
  export {