@cloudbase/ai 2.14.0 → 2.16.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
@@ -2,18 +2,6 @@ import type { SDKRequestInterface } from '@cloudbase/adapter-interface';
2
2
  import { Bot } from './bot';
3
3
  import * as models from './models';
4
4
  import * as types from './type';
5
- declare const MODELS: {
6
- hunyuan: typeof models.HunYuanSimpleModel;
7
- 'hunyuan-beta': typeof models.HunYuanBetaSimpleModel;
8
- ark: typeof models.ArkSimpleModel;
9
- dashscope: typeof models.DSSimpleModel;
10
- '01-ai': typeof models.YiSimpleModel;
11
- moonshot: typeof models.MoonshotSimpleModel;
12
- zhipu: typeof models.ZhiPuSimpleModel;
13
- 'hunyuan-exp': typeof models.HunYuanExpSimpleModel;
14
- 'hunyuan-open': typeof models.HunYuanOpenSimpleModel;
15
- deepseek: typeof import("./models/DeepSeek").DeepSeekSimpleModel;
16
- };
17
5
  declare class AI {
18
6
  private req;
19
7
  baseUrl: string;
@@ -21,7 +9,7 @@ declare class AI {
21
9
  aiBotBaseUrl: string;
22
10
  bot: Bot;
23
11
  constructor(req: SDKRequestInterface, baseUrl: string);
24
- createModel<T extends keyof typeof MODELS>(model: T): models.ReactModel;
12
+ createModel(model: string): models.ReactModel;
25
13
  registerModel(name: string, model: types.ChatModelConstructor): void;
26
14
  modelRequest: types.ModelReq;
27
15
  botRequest: types.BotReq;
package/dist/cjs/AI.js CHANGED
@@ -150,8 +150,14 @@ var AI = (function () {
150
150
  this.bot = new bot_1.Bot(this.botRequest, this.aiBotBaseUrl);
151
151
  }
152
152
  AI.prototype.createModel = function (model) {
153
+ var simpleModel;
153
154
  var SimpleModelConstructor = MODELS[model];
154
- var simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl);
155
+ if (SimpleModelConstructor) {
156
+ simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl);
157
+ }
158
+ else {
159
+ simpleModel = new models.DefaultSimpleModel(this.modelRequest, this.aiBaseUrl, model);
160
+ }
155
161
  var reactModel = new models.ReactModel(simpleModel);
156
162
  return reactModel;
157
163
  };
@@ -201,4 +207,4 @@ function handleResponseData(responseData, header) {
201
207
  });
202
208
  });
203
209
  }
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZCQUEyQjtBQUMzQiwrQ0FBa0M7QUFFbEMsaUNBQW1EO0FBRTNDLElBQUEsTUFBTSxHQUFLLE1BQU0sT0FBWCxDQUFXO0FBRXpCO0lBS0UsWUFBb0IsR0FBd0IsRUFBUyxPQUFlO1FBQXBFLGlCQUlDO1FBSm1CLFFBQUcsR0FBSCxHQUFHLENBQXFCO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQXFCcEUsaUJBQVksR0FBbUIsVUFBTyxFQUF1QztnQkFBckMsR0FBRyxTQUFBLEVBQUUsSUFBSSxVQUFBLEVBQUUsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsT0FBTyxhQUFBOzs7Ozs7NEJBQ25FLFlBQVksR0FBRztnQ0FDbkIsY0FBYyxFQUFFLGtCQUFrQjs2QkFDbkMsQ0FBQTs0QkFFRCxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBOzRCQUU5QixXQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO29DQUMzRCxNQUFNLEVBQUUsTUFBTTtvQ0FDZCxPQUFPLHdCQUFPLFlBQVksR0FBSyxPQUFPLENBQUU7b0NBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQ0FDMUIsR0FBRyxLQUFBO29DQUNILE1BQU0sUUFBQTtvQ0FDTixPQUFPLFNBQUE7aUNBQ1IsQ0FBQyxFQUFBOzs0QkFQSSxLQUFpQyxDQUFDLFNBT3RDLENBQThFLEVBUGxFLFlBQVksVUFBQSxFQUFFLE1BQU0sWUFBQTs0QkFTbEMsV0FBTyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsTUFB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LEVBQTNELGNBQTJEO29CQUNoRCxXQUFNLElBQUEsaUNBQXlCLEVBQUMsWUFBMEMsQ0FBQyxFQUFBOztvQkFBbEYsSUFBSSxHQUFHLFNBQTJFO29CQUN4RixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTt3QkFDaEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBZ0IsSUFBSSxDQUFDLElBQUksaURBQVMsSUFBSSxDQUFDLE9BQU8sZUFBSyxhQUFhLGVBQUssSUFBSSxDQUFDLFNBQVMsQ0FDakcsSUFBSSxFQUNKLElBQUksRUFDSixDQUFDLENBQ0YsQ0FBRSxDQUFFLENBQUE7cUJBQ047O3dCQUVILFdBQU8sWUFBWSxFQUFBOzs7O0NBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTREtSZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHsgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYWlCYXNlVXJsOiBzdHJpbmdcbiAgcHVibGljIGFpQm90QmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBib3Q6IEJvdFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5haUJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWBcbiAgICB0aGlzLmFpQm90QmFzZVVybCA9IGAke2Jhc2VVcmx9L2FpYm90YFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICB9XG5cbiAgY3JlYXRlTW9kZWw8VCBleHRlbmRzIGtleW9mIHR5cGVvZiBNT0RFTFM+KG1vZGVsOiBUKSB7XG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBjb25zdCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIGNvbnN0IHJlYWN0TW9kZWwgPSBuZXcgbW9kZWxzLlJlYWN0TW9kZWwoc2ltcGxlTW9kZWwpXG4gICAgcmV0dXJuIHJlYWN0TW9kZWxcbiAgfVxuXG4gIHJlZ2lzdGVyTW9kZWwobmFtZTogc3RyaW5nLCBtb2RlbDogdHlwZXMuQ2hhdE1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICBpZiAoTU9ERUxTW25hbWVdICE9IG51bGwpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgbW9kZWwgJHtuYW1lfSBhbHJlYWR5IGV4aXN0cyFgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIE1PREVMU1tuYW1lXSA9IG1vZGVsXG4gIH1cblxuICBtb2RlbFJlcXVlc3Q6IHR5cGVzLk1vZGVsUmVxID0gYXN5bmMgKHsgdXJsLCBkYXRhLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgaGVhZGVyczogeyAuLi5mZXRjaEhlYWRlcnMsIC4uLmhlYWRlcnMgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsLFxuICAgICAgc3RyZWFtLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG4gIH1cblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGlmIChtZXRob2QgPT09ICdnZXQnKSB7XG4gICAgICByZXR1cm4gaGFuZGxlUmVzcG9uc2VEYXRhKChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7IHVybDogYCR7dXJsfT8ke29iamVjdFRvUGFyYW0oZGF0YSl9YCwgbWV0aG9kLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkpLmRhdGEsKVxuICAgIH1cblxuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIHVybCxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi5mZXRjaEhlYWRlcnMsXG4gICAgICAgIC4uLmhlYWRlcnMsXG4gICAgICB9LFxuICAgICAgc3RyZWFtLFxuICAgICAgbWV0aG9kLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblRvb2woZnVuY3Rpb25Ub29sOiB0eXBlcy5GdW5jdGlvblRvb2wpIHtcbiAgICBpZiAobW9kZWxzLnRvb2xNYXAuaGFzKGZ1bmN0aW9uVG9vbC5uYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBmdW5jdGlvbiB0b29sICR7ZnVuY3Rpb25Ub29sLm5hbWV9IGFscmVhZHkgZXhpc3RzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuIWApXG4gICAgfVxuICAgIG1vZGVscy50b29sTWFwLnNldChmdW5jdGlvblRvb2wubmFtZSwgZnVuY3Rpb25Ub29sLmZuKVxuICB9XG59XG5cbmV4cG9ydCB7IEFJIH1cblxuY29uc3QgR09fVE9fQUlfVEVYVCA9ICfor7fmo4Dmn6XosIPnlKjmlrnlvI/vvIzmiJbliY3lvoDkupHlvIDlj5EgQUkrIOmmlumhteafpeeci+aWh+aho++8mmh0dHBzOi8vdGNiLmNsb3VkLnRlbmNlbnQuY29tL2RldiMvYWknXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICBpZiAodHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgcmVzcG9uc2VEYXRhICYmICd0aGVuJyBpbiByZXNwb25zZURhdGEpIHtcbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvIznm7TmjqXov5Tlm54ganNvbiDmlbDmja5cbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3BvbnNlRGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24gJiYgJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICBpZiAoaGVhZGVyPy5nZXQ/LignY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEgYXMgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pXG4gICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlRGF0YVxufVxuIl19
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZCQUEyQjtBQUMzQiwrQ0FBa0M7QUFFbEMsaUNBQW1EO0FBRTNDLElBQUEsTUFBTSxHQUFLLE1BQU0sT0FBWCxDQUFXO0FBRXpCO0lBS0UsWUFBb0IsR0FBd0IsRUFBUyxPQUFlO1FBQXBFLGlCQUlDO1FBSm1CLFFBQUcsR0FBSCxHQUFHLENBQXFCO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQTRCcEUsaUJBQVksR0FBbUIsVUFBTyxFQUF1QztnQkFBckMsR0FBRyxTQUFBLEVBQUUsSUFBSSxVQUFBLEVBQUUsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsT0FBTyxhQUFBOzs7Ozs7NEJBQ25FLFlBQVksR0FBRztnQ0FDbkIsY0FBYyxFQUFFLGtCQUFrQjs2QkFDbkMsQ0FBQTs0QkFFRCxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBOzRCQUU5QixXQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO29DQUMzRCxNQUFNLEVBQUUsTUFBTTtvQ0FDZCxPQUFPLHdCQUFPLFlBQVksR0FBSyxPQUFPLENBQUU7b0NBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQ0FDMUIsR0FBRyxLQUFBO29DQUNILE1BQU0sUUFBQTtvQ0FDTixPQUFPLFNBQUE7aUNBQ1IsQ0FBQyxFQUFBOzs0QkFQSSxLQUFpQyxDQUFDLFNBT3RDLENBQThFLEVBUGxFLFlBQVksVUFBQSxFQUFFLE1BQU0sWUFBQTs0QkFTbEMsV0FBTyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsTUFB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RixDQUFFLENBQUUsQ0FBQTtxQkFDTjtvQkFFRCxXQUFPLFlBQVksRUFBQTs7eUJBR2pCLENBQUEsTUFBQSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxHQUFHLHVEQUFHLGNBQWMsQ0FBQywwQ0FBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQSxFQUEzRCxjQUEyRDtvQkFDaEQsV0FBTSxJQUFBLGlDQUF5QixFQUFDLFlBQTBDLENBQUMsRUFBQTs7b0JBQWxGLElBQUksR0FBRyxTQUEyRTtvQkFDeEYsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7d0JBQ2hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQWdCLElBQUksQ0FBQyxJQUFJLGlEQUFTLElBQUksQ0FBQyxPQUFPLGVBQUssYUFBYSxlQUFLLElBQUksQ0FBQyxTQUFTLENBQ2pHLElBQUksRUFDSixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQUUsQ0FBRSxDQUFBO3FCQUNOOzt3QkFFSCxXQUFPLFlBQVksRUFBQTs7OztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU0RLUmVxdWVzdEludGVyZmFjZSB9IGZyb20gJ0BjbG91ZGJhc2UvYWRhcHRlci1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCb3QgfSBmcm9tICcuL2JvdCdcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscydcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vdHlwZSdcbmltcG9ydCB7IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QgfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGFpQmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBhaUJvdEJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYm90OiBCb3RcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIHRoaXMuYWlCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlgXG4gICAgdGhpcy5haUJvdEJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWJvdGBcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsKG1vZGVsOiBzdHJpbmcpIHtcbiAgICBsZXQgc2ltcGxlTW9kZWw6IHR5cGVzLlNpbXBsZUNoYXRNb2RlbFxuXG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBpZiAoU2ltcGxlTW9kZWxDb25zdHJ1Y3Rvcikge1xuICAgICAgc2ltcGxlTW9kZWwgPSBuZXcgU2ltcGxlTW9kZWxDb25zdHJ1Y3Rvcih0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNpbXBsZU1vZGVsID0gbmV3IG1vZGVscy5EZWZhdWx0U2ltcGxlTW9kZWwodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsLCBtb2RlbClcbiAgICB9XG5cbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZmV0Y2hIZWFkZXJzLCAuLi5oZWFkZXJzIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybCxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG5cbmNvbnN0IEdPX1RPX0FJX1RFWFQgPSAn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaPvvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpJ1xuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4sIGhlYWRlcj86IEhlYWRlcnMpIHtcbiAgaWYgKHR5cGVvZiByZXNwb25zZURhdGEgPT09ICdvYmplY3QnICYmIHJlc3BvbnNlRGF0YSAmJiAndGhlbicgaW4gcmVzcG9uc2VEYXRhKSB7XG4gICAgLy8g6Z2e5rWB5byP6K+35rGC77yM55u05o6l6L+U5ZueIGpzb24g5pWw5o2uXG4gICAgY29uc3QganNvbiA9IChhd2FpdCByZXNwb25zZURhdGEpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2VEYXRhXG4gIH1cbiAgLy8g5rWB5byP6K+35rGC77yM5aaC5p6c5o6l5Y+j5Ye66ZSZ77yM5Lya5Y+Y5oiQ5LygIGpzb24g5qC85byP55qE5ZON5bqU77yM6YCa6L+HIGhlYWRlciDliKTmlq3moLzlvI9cbiAgaWYgKGhlYWRlcj8uZ2V0Py4oJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgY29uc3QganNvbiA9IGF3YWl0IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QocmVzcG9uc2VEYXRhIGFzIFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KVxuICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbiAmJiAnY29kZScgaW4ganNvbiAmJiBqc29uLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFJKyDor7fmsYLlh7rplJnvvIzplJnor6/noIHvvJoke2pzb24uY29kZX3vvIzplJnor6/kv6Hmga/vvJoke2pzb24ubWVzc2FnZX1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAganNvbixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgICl9YCwpXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNwb25zZURhdGFcbn1cbiJdfQ==
@@ -14,6 +14,7 @@ declare const restModels: {
14
14
  MoonshotSimpleModel: typeof models.MoonshotSimpleModel;
15
15
  HunYuanExpSimpleModel: typeof models.HunYuanExpSimpleModel;
16
16
  HunYuanOpenSimpleModel: typeof models.HunYuanOpenSimpleModel;
17
+ DefaultSimpleModel: typeof models.DefaultSimpleModel;
17
18
  ReactModel: typeof models.ReactModel;
18
19
  toolMap: Map<string, CallableFunction>;
19
20
  };
@@ -0,0 +1,10 @@
1
+ import type { ModelReq, BaseChatModelInput, SimpleChatModel, DoStreamOutput, DoGenerateOutput } from '../../type';
2
+ export declare class DefaultSimpleModel 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,122 @@
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.DefaultSimpleModel = void 0;
51
+ var utils_1 = require("../../utils");
52
+ var DefaultSimpleModel = (function () {
53
+ function DefaultSimpleModel(req, baseUrl, subUrl) {
54
+ if (subUrl === void 0) { subUrl = ''; }
55
+ this.req = req;
56
+ this.baseUrl = baseUrl;
57
+ this.subUrl = subUrl;
58
+ }
59
+ Object.defineProperty(DefaultSimpleModel.prototype, "url", {
60
+ get: function () {
61
+ return "".concat(this.baseUrl, "/").concat(this.subUrl);
62
+ },
63
+ enumerable: false,
64
+ configurable: true
65
+ });
66
+ DefaultSimpleModel.prototype.doGenerate = function (data) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var res;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0: return [4, this.req({
72
+ url: this.url,
73
+ data: __assign(__assign({}, data), { stream: false }),
74
+ stream: false,
75
+ })];
76
+ case 1:
77
+ res = _a.sent();
78
+ return [2, __assign(__assign({}, res), { rawResponse: res })];
79
+ }
80
+ });
81
+ });
82
+ };
83
+ DefaultSimpleModel.prototype.doStream = function (data) {
84
+ return __awaiter(this, void 0, void 0, function () {
85
+ var isToolCall, _stream, stream, standardStream, streamWithRaw;
86
+ return __generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0:
89
+ isToolCall = null;
90
+ return [4, this.req({
91
+ url: this.url,
92
+ data: __assign(__assign({}, data), { stream: true }),
93
+ stream: true,
94
+ })];
95
+ case 1:
96
+ _stream = _a.sent();
97
+ stream = (0, utils_1.toPolyfillReadable)(_stream);
98
+ standardStream = (0, utils_1.intoStandardStream)(stream);
99
+ streamWithRaw = standardStream.pipeThrough(new utils_1.TransformStream({
100
+ transform: function (chunk, controller) {
101
+ var newChoices = chunk.choices.map(function (choice) {
102
+ var message = choice.delta;
103
+ if (isToolCall == null)
104
+ isToolCall = (0, utils_1.isToolCallAssistantMessage)(message);
105
+ if (isToolCall) {
106
+ return __assign(__assign({}, choice), { finish_reason: 'tool_calls', delta: message });
107
+ }
108
+ return choice;
109
+ });
110
+ var newChunk = __assign(__assign({}, chunk), { choices: newChoices });
111
+ controller.enqueue(__assign(__assign({}, newChunk), { rawResponse: chunk }));
112
+ },
113
+ }));
114
+ return [2, (0, utils_1.createAsyncIterable)(streamWithRaw)];
115
+ }
116
+ });
117
+ });
118
+ };
119
+ return DefaultSimpleModel;
120
+ }());
121
+ exports.DefaultSimpleModel = DefaultSimpleModel;
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0RlZmF1bHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNb0I7QUFVcEI7SUFDRSw0QkFBb0IsR0FBYSxFQUFTLE9BQWUsRUFBUyxNQUFtQjtRQUFuQix1QkFBQSxFQUFBLFdBQW1CO1FBQWpFLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFHLENBQUM7SUFFekYsc0JBQVksbUNBQUc7YUFBZjtZQUNFLE9BQU8sVUFBRyxJQUFJLENBQUMsT0FBTyxjQUFJLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQTtRQUN6QyxDQUFDOzs7T0FBQTtJQUVZLHVDQUFVLEdBQXZCLFVBQXdCLElBQXdCOzs7Ozs0QkFDbEMsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUN6QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7NEJBQ2IsSUFBSSx3QkFBTyxJQUFJLEtBQUUsTUFBTSxFQUFFLEtBQUssR0FBRTs0QkFDaEMsTUFBTSxFQUFFLEtBQUs7eUJBQ2QsQ0FBQyxFQUFBOzt3QkFKSSxHQUFHLEdBQUcsU0FJVjt3QkFDRixpQ0FBWSxHQUFHLEtBQUUsV0FBVyxFQUFFLEdBQUcsS0FBRTs7OztLQUNwQztJQUVZLHFDQUFRLEdBQXJCLFVBQXNCLElBQXdCOzs7Ozs7d0JBQ3hDLFVBQVUsR0FBbUIsSUFBSSxDQUFBO3dCQUVyQixXQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7Z0NBQzdCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQ0FDYixJQUFJLHdCQUNDLElBQUksS0FDUCxNQUFNLEVBQUUsSUFBSSxHQUNiO2dDQUNELE1BQU0sRUFBRSxJQUFJOzZCQUNiLENBQUMsRUFBQTs7d0JBUEksT0FBTyxHQUFHLFNBT2Q7d0JBQ0ksTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxjQUFjLEdBQUcsSUFBQSwwQkFBa0IsRUFBMEIsTUFBTSxDQUFDLENBQUE7d0JBQ3BFLGFBQWEsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBMkU7NEJBQzdJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQVksRUFDM0IsS0FBSyxFQUFFLE9BQU8sSUFDZjtxQ0FDRjtvQ0FDRCxPQUFPLE1BQU0sQ0FBQTtnQ0FDZixDQUFDLENBQUMsQ0FBQTtnQ0FDRixJQUFNLFFBQVEseUJBQVEsS0FBSyxLQUFFLE9BQU8sRUFBRSxVQUFVLEdBQUUsQ0FBQTtnQ0FDbEQsVUFBVSxDQUFDLE9BQU8sdUJBQU0sUUFBUSxLQUFFLFdBQVcsRUFBRSxLQUFLLElBQUcsQ0FBQTs0QkFDekQsQ0FBQzt5QkFDRixDQUFDLENBQUUsQ0FBQTt3QkFFSixXQUFPLElBQUEsMkJBQW1CLEVBQUMsYUFBYSxDQUFDLEVBQUE7Ozs7S0FDMUM7SUFDSCx5QkFBQztBQUFELENBQUMsQUFuREQsSUFtREM7QUFuRFksZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxuICB0b1BvbHlmaWxsUmVhZGFibGUsXG4gIGludG9TdGFuZGFyZFN0cmVhbSxcbiAgaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG59IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHR5cGUge1xuICBNb2RlbFJlcSxcbiAgQmFzZUNoYXRNb2RlbElucHV0LFxuICBTaW1wbGVDaGF0TW9kZWwsXG4gIERvU3RyZWFtT3V0cHV0LFxuICBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbn0gZnJvbSAnLi4vLi4vdHlwZSdcblxuZXhwb3J0IGNsYXNzIERlZmF1bHRTaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBNb2RlbFJlcSwgcHVibGljIGJhc2VVcmw6IHN0cmluZywgcHVibGljIHN1YlVybDogc3RyaW5nID0gJycpIHt9XG5cbiAgcHJpdmF0ZSBnZXQgdXJsKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5zdWJVcmx9YFxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvR2VuZXJhdGUoZGF0YTogQmFzZUNoYXRNb2RlbElucHV0KTogUHJvbWlzZTxEb0dlbmVyYXRlT3V0cHV0PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHsgLi4uZGF0YSwgc3RyZWFtOiBmYWxzZSB9LFxuICAgICAgc3RyZWFtOiBmYWxzZSxcbiAgICB9KVxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oZGF0YTogQmFzZUNoYXRNb2RlbElucHV0KTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD4ge1xuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcblxuICAgIGNvbnN0IF9zdHJlYW0gPSBhd2FpdCB0aGlzLnJlcSh7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBzdHJlYW06IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCBzdGFuZGFyZFN0cmVhbSA9IGludG9TdGFuZGFyZFN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaz4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBzdGFuZGFyZFN0cmVhbS5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtPEJhc2VEb1N0cmVhbU91dHB1dENodW5rLCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
@@ -8,6 +8,7 @@ import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
10
  import { DeepSeekSimpleModel } from './DeepSeek';
11
+ import { DefaultSimpleModel } from './Default';
11
12
  export declare const MODELS: {
12
13
  hunyuan: typeof HunYuanSimpleModel;
13
14
  'hunyuan-beta': typeof HunYuanBetaSimpleModel;
@@ -20,5 +21,5 @@ export declare const MODELS: {
20
21
  'hunyuan-open': typeof HunYuanOpenSimpleModel;
21
22
  deepseek: typeof DeepSeekSimpleModel;
22
23
  };
23
- export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
24
+ export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, DefaultSimpleModel, };
24
25
  export { ReactModel, toolMap } from './model';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toolMap = exports.ReactModel = exports.HunYuanOpenSimpleModel = exports.HunYuanExpSimpleModel = exports.MoonshotSimpleModel = exports.YiSimpleModel = exports.DSSimpleModel = exports.ArkSimpleModel = exports.HunYuanSimpleModel = exports.HunYuanBetaSimpleModel = exports.ZhiPuSimpleModel = exports.MODELS = void 0;
3
+ exports.toolMap = exports.ReactModel = exports.DefaultSimpleModel = exports.HunYuanOpenSimpleModel = exports.HunYuanExpSimpleModel = exports.MoonshotSimpleModel = exports.YiSimpleModel = exports.DSSimpleModel = exports.ArkSimpleModel = exports.HunYuanSimpleModel = exports.HunYuanBetaSimpleModel = exports.ZhiPuSimpleModel = exports.MODELS = void 0;
4
4
  var index_1 = require("./ZhiPu/index");
5
5
  Object.defineProperty(exports, "ZhiPuSimpleModel", { enumerable: true, get: function () { return index_1.ZhiPuSimpleModel; } });
6
6
  var index_2 = require("./HunYuanBeta/index");
@@ -20,6 +20,8 @@ Object.defineProperty(exports, "HunYuanExpSimpleModel", { enumerable: true, get:
20
20
  var index_9 = require("./HunYuanOpen/index");
21
21
  Object.defineProperty(exports, "HunYuanOpenSimpleModel", { enumerable: true, get: function () { return index_9.HunYuanOpenSimpleModel; } });
22
22
  var DeepSeek_1 = require("./DeepSeek");
23
+ var Default_1 = require("./Default");
24
+ Object.defineProperty(exports, "DefaultSimpleModel", { enumerable: true, get: function () { return Default_1.DefaultSimpleModel; } });
23
25
  exports.MODELS = {
24
26
  hunyuan: index_3.HunYuanSimpleModel,
25
27
  'hunyuan-beta': index_2.HunYuanBetaSimpleModel,
@@ -35,4 +37,4 @@ exports.MODELS = {
35
37
  var model_1 = require("./model");
36
38
  Object.defineProperty(exports, "ReactModel", { enumerable: true, get: function () { return model_1.ReactModel; } });
37
39
  Object.defineProperty(exports, "toolMap", { enumerable: true, get: function () { return model_1.toolMap; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQXlCOUMsaUdBekJPLHdCQUFnQixPQXlCUDtBQXhCbEIsNkNBQTREO0FBeUIxRCx1R0F6Qk8sOEJBQXNCLE9BeUJQO0FBeEJ4Qix5Q0FBb0Q7QUF5QmxELG1HQXpCTywwQkFBa0IsT0F5QlA7QUF4QnBCLHFDQUE0QztBQXlCMUMsK0ZBekJPLHNCQUFjLE9BeUJQO0FBeEJoQiwyQ0FBaUQ7QUF5Qi9DLDhGQXpCTyxxQkFBYSxPQXlCUDtBQXhCZixvQ0FBMEM7QUF5QnhDLDhGQXpCTyxxQkFBYSxPQXlCUDtBQXhCZiwwQ0FBc0Q7QUF5QnBELG9HQXpCTywyQkFBbUIsT0F5QlA7QUF4QnJCLDRDQUEwRDtBQXlCeEQsc0dBekJPLDZCQUFxQixPQXlCUDtBQXhCdkIsNkNBQTREO0FBeUIxRCx1R0F6Qk8sOEJBQXNCLE9BeUJQO0FBeEJ4Qix1Q0FBZ0Q7QUFFbkMsUUFBQSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLDBCQUFrQjtJQUMzQixjQUFjLEVBQUUsOEJBQXNCO0lBQ3RDLEdBQUcsRUFBRSxzQkFBYztJQUNuQixTQUFTLEVBQUUscUJBQWE7SUFDeEIsT0FBTyxFQUFFLHFCQUFhO0lBQ3RCLFFBQVEsRUFBRSwyQkFBbUI7SUFDN0IsS0FBSyxFQUFFLHdCQUFnQjtJQUN2QixhQUFhLEVBQUUsNkJBQXFCO0lBQ3BDLGNBQWMsRUFBRSw4QkFBc0I7SUFDdEMsUUFBUSxFQUFFLDhCQUFtQjtDQUM5QixDQUFBO0FBY0QsaUNBQTZDO0FBQXBDLG1HQUFBLFVBQVUsT0FBQTtBQUFFLGdHQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpoaVB1U2ltcGxlTW9kZWwgfSBmcm9tICcuL1poaVB1L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkJldGEvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW4vaW5kZXgnXG5pbXBvcnQgeyBBcmtTaW1wbGVNb2RlbCB9IGZyb20gJy4vQXJrL2luZGV4J1xuaW1wb3J0IHsgRFNTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGFzaFNjb3BlL2luZGV4J1xuaW1wb3J0IHsgWWlTaW1wbGVNb2RlbCB9IGZyb20gJy4vWWkvaW5kZXgnXG5pbXBvcnQgeyBNb29uc2hvdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9Nb29uc2hvdC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5FeHBTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkV4cC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5PcGVuL2luZGV4J1xuaW1wb3J0IHsgRGVlcFNlZWtTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGVlcFNlZWsnXG5cbmV4cG9ydCBjb25zdCBNT0RFTFMgPSB7XG4gIGh1bnl1YW46IEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tYmV0YSc6IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIGFyazogQXJrU2ltcGxlTW9kZWwsXG4gIGRhc2hzY29wZTogRFNTaW1wbGVNb2RlbCxcbiAgJzAxLWFpJzogWWlTaW1wbGVNb2RlbCxcbiAgbW9vbnNob3Q6IE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIHpoaXB1OiBaaGlQdVNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1leHAnOiBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLW9wZW4nOiBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxuICBkZWVwc2VlazogRGVlcFNlZWtTaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHtcbiAgWmhpUHVTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgSHVuWXVhblNpbXBsZU1vZGVsLFxuICBBcmtTaW1wbGVNb2RlbCxcbiAgRFNTaW1wbGVNb2RlbCxcbiAgWWlTaW1wbGVNb2RlbCxcbiAgTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnRDtBQTBCOUMsaUdBMUJPLHdCQUFnQixPQTBCUDtBQXpCbEIsNkNBQTREO0FBMEIxRCx1R0ExQk8sOEJBQXNCLE9BMEJQO0FBekJ4Qix5Q0FBb0Q7QUEwQmxELG1HQTFCTywwQkFBa0IsT0EwQlA7QUF6QnBCLHFDQUE0QztBQTBCMUMsK0ZBMUJPLHNCQUFjLE9BMEJQO0FBekJoQiwyQ0FBaUQ7QUEwQi9DLDhGQTFCTyxxQkFBYSxPQTBCUDtBQXpCZixvQ0FBMEM7QUEwQnhDLDhGQTFCTyxxQkFBYSxPQTBCUDtBQXpCZiwwQ0FBc0Q7QUEwQnBELG9HQTFCTywyQkFBbUIsT0EwQlA7QUF6QnJCLDRDQUEwRDtBQTBCeEQsc0dBMUJPLDZCQUFxQixPQTBCUDtBQXpCdkIsNkNBQTREO0FBMEIxRCx1R0ExQk8sOEJBQXNCLE9BMEJQO0FBekJ4Qix1Q0FBZ0Q7QUFDaEQscUNBQThDO0FBeUI1QyxtR0F6Qk8sNEJBQWtCLE9BeUJQO0FBdkJQLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSwwQkFBa0I7SUFDM0IsY0FBYyxFQUFFLDhCQUFzQjtJQUN0QyxHQUFHLEVBQUUsc0JBQWM7SUFDbkIsU0FBUyxFQUFFLHFCQUFhO0lBQ3hCLE9BQU8sRUFBRSxxQkFBYTtJQUN0QixRQUFRLEVBQUUsMkJBQW1CO0lBQzdCLEtBQUssRUFBRSx3QkFBZ0I7SUFDdkIsYUFBYSxFQUFFLDZCQUFxQjtJQUNwQyxjQUFjLEVBQUUsOEJBQXNCO0lBQ3RDLFFBQVEsRUFBRSw4QkFBbUI7Q0FDOUIsQ0FBQTtBQWVELGlDQUE2QztBQUFwQyxtR0FBQSxVQUFVLE9BQUE7QUFBRSxnR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBaaGlQdVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9aaGlQdS9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5CZXRhL2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuL2luZGV4J1xuaW1wb3J0IHsgQXJrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Fyay9pbmRleCdcbmltcG9ydCB7IERTU2ltcGxlTW9kZWwgfSBmcm9tICcuL0Rhc2hTY29wZS9pbmRleCdcbmltcG9ydCB7IFlpU2ltcGxlTW9kZWwgfSBmcm9tICcuL1lpL2luZGV4J1xuaW1wb3J0IHsgTW9vbnNob3RTaW1wbGVNb2RlbCB9IGZyb20gJy4vTW9vbnNob3QvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5FeHAvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuT3Blbi9pbmRleCdcbmltcG9ydCB7IERlZXBTZWVrU2ltcGxlTW9kZWwgfSBmcm9tICcuL0RlZXBTZWVrJ1xuaW1wb3J0IHsgRGVmYXVsdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9EZWZhdWx0J1xuXG5leHBvcnQgY29uc3QgTU9ERUxTID0ge1xuICBodW55dWFuOiBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLWJldGEnOiBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBhcms6IEFya1NpbXBsZU1vZGVsLFxuICBkYXNoc2NvcGU6IERTU2ltcGxlTW9kZWwsXG4gICcwMS1haSc6IFlpU2ltcGxlTW9kZWwsXG4gIG1vb25zaG90OiBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICB6aGlwdTogWmhpUHVTaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tZXhwJzogSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1vcGVuJzogSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgZGVlcHNlZWs6IERlZXBTZWVrU2ltcGxlTW9kZWwsXG59XG5cbmV4cG9ydCB7XG4gIFpoaVB1U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgQXJrU2ltcGxlTW9kZWwsXG4gIERTU2ltcGxlTW9kZWwsXG4gIFlpU2ltcGxlTW9kZWwsXG4gIE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIEh1bll1YW5FeHBTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCxcbiAgRGVmYXVsdFNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
package/dist/esm/AI.d.ts CHANGED
@@ -2,18 +2,6 @@ import type { SDKRequestInterface } from '@cloudbase/adapter-interface';
2
2
  import { Bot } from './bot';
3
3
  import * as models from './models';
4
4
  import * as types from './type';
5
- declare const MODELS: {
6
- hunyuan: typeof models.HunYuanSimpleModel;
7
- 'hunyuan-beta': typeof models.HunYuanBetaSimpleModel;
8
- ark: typeof models.ArkSimpleModel;
9
- dashscope: typeof models.DSSimpleModel;
10
- '01-ai': typeof models.YiSimpleModel;
11
- moonshot: typeof models.MoonshotSimpleModel;
12
- zhipu: typeof models.ZhiPuSimpleModel;
13
- 'hunyuan-exp': typeof models.HunYuanExpSimpleModel;
14
- 'hunyuan-open': typeof models.HunYuanOpenSimpleModel;
15
- deepseek: typeof import("./models/DeepSeek").DeepSeekSimpleModel;
16
- };
17
5
  declare class AI {
18
6
  private req;
19
7
  baseUrl: string;
@@ -21,7 +9,7 @@ declare class AI {
21
9
  aiBotBaseUrl: string;
22
10
  bot: Bot;
23
11
  constructor(req: SDKRequestInterface, baseUrl: string);
24
- createModel<T extends keyof typeof MODELS>(model: T): models.ReactModel;
12
+ createModel(model: string): models.ReactModel;
25
13
  registerModel(name: string, model: types.ChatModelConstructor): void;
26
14
  modelRequest: types.ModelReq;
27
15
  botRequest: types.BotReq;
package/dist/esm/AI.js CHANGED
@@ -124,8 +124,14 @@ var AI = (function () {
124
124
  this.bot = new Bot(this.botRequest, this.aiBotBaseUrl);
125
125
  }
126
126
  AI.prototype.createModel = function (model) {
127
+ var simpleModel;
127
128
  var SimpleModelConstructor = MODELS[model];
128
- var simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl);
129
+ if (SimpleModelConstructor) {
130
+ simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl);
131
+ }
132
+ else {
133
+ simpleModel = new models.DefaultSimpleModel(this.modelRequest, this.aiBaseUrl, model);
134
+ }
129
135
  var reactModel = new models.ReactModel(simpleModel);
130
136
  return reactModel;
131
137
  };
@@ -175,4 +181,4 @@ function handleResponseData(responseData, header) {
175
181
  });
176
182
  });
177
183
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFxQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBdUM7Z0JBQXJDLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBUEksS0FBaUMsQ0FBQyxTQU90QyxDQUE4RSxFQVBsRSxZQUFZLFVB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TUFBTSx1QkFBTixNQUFNLENBQUUsR0FBRyx1REFBRyxjQUFjLENBQUMsMENBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUEsRUFBM0QsY0FBMkQ7b0JBQ2hELFdBQU0seUJBQXlCLENBQUMsWUFBMEMsQ0FBQyxFQUFBOztvQkFBbEYsSUFBSSxHQUFHLFNBQTJFO29CQUN4RixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTt3QkFDaEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBZ0IsSUFBSSxDQUFDLElBQUksaURBQVMsSUFBSSxDQUFDLE9BQU8sZUFBSyxhQUFhLGVBQUssSUFBSSxDQUFDLFNBQVMsQ0FDakcsSUFBSSxFQUNKLElBQUksRUFDSixDQUFDLENBQ0YsQ0FBRSxDQUFFLENBQUE7cUJBQ047O3dCQUVILFdBQU8sWUFBWSxFQUFBOzs7O0NBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTREtSZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlJ1xuaW1wb3J0IHsgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYWlCYXNlVXJsOiBzdHJpbmdcbiAgcHVibGljIGFpQm90QmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBib3Q6IEJvdFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5haUJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWBcbiAgICB0aGlzLmFpQm90QmFzZVVybCA9IGAke2Jhc2VVcmx9L2FpYm90YFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICB9XG5cbiAgY3JlYXRlTW9kZWw8VCBleHRlbmRzIGtleW9mIHR5cGVvZiBNT0RFTFM+KG1vZGVsOiBUKSB7XG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBjb25zdCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIGNvbnN0IHJlYWN0TW9kZWwgPSBuZXcgbW9kZWxzLlJlYWN0TW9kZWwoc2ltcGxlTW9kZWwpXG4gICAgcmV0dXJuIHJlYWN0TW9kZWxcbiAgfVxuXG4gIHJlZ2lzdGVyTW9kZWwobmFtZTogc3RyaW5nLCBtb2RlbDogdHlwZXMuQ2hhdE1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICBpZiAoTU9ERUxTW25hbWVdICE9IG51bGwpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgbW9kZWwgJHtuYW1lfSBhbHJlYWR5IGV4aXN0cyFgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIE1PREVMU1tuYW1lXSA9IG1vZGVsXG4gIH1cblxuICBtb2RlbFJlcXVlc3Q6IHR5cGVzLk1vZGVsUmVxID0gYXN5bmMgKHsgdXJsLCBkYXRhLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgaGVhZGVyczogeyAuLi5mZXRjaEhlYWRlcnMsIC4uLmhlYWRlcnMgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsLFxuICAgICAgc3RyZWFtLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG4gIH1cblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkgPT4ge1xuICAgIGlmIChtZXRob2QgPT09ICdnZXQnKSB7XG4gICAgICByZXR1cm4gaGFuZGxlUmVzcG9uc2VEYXRhKChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7IHVybDogYCR7dXJsfT8ke29iamVjdFRvUGFyYW0oZGF0YSl9YCwgbWV0aG9kLCBoZWFkZXJzLCBzdHJlYW0sIHRpbWVvdXQgfSkpLmRhdGEsKVxuICAgIH1cblxuICAgIGNvbnN0IGZldGNoSGVhZGVycyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIC8vIOW4piBBY2NlcHQ6IHRleHQvZXZlbnQtc3RyZWFtICDor7fmsYLlpLTmmL7lvI/mjIflrprmmK8gU1NFIOe7lei/hyA2MHMg55qE6ZmQ5Yi2XG4gICAgc3RyZWFtICYmIE9iamVjdC5hc3NpZ24oZmV0Y2hIZWFkZXJzLCB7IEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJyB9KVxuXG4gICAgY29uc3QgeyBkYXRhOiByZXNwb25zZURhdGEsIGhlYWRlciB9ID0gKGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIHVybCxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi5mZXRjaEhlYWRlcnMsXG4gICAgICAgIC4uLmhlYWRlcnMsXG4gICAgICB9LFxuICAgICAgc3RyZWFtLFxuICAgICAgbWV0aG9kLFxuICAgICAgdGltZW91dCxcbiAgICB9KSkgYXMgeyBkYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT47IGhlYWRlcj86IEhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGEsIGhlYWRlcikgYXMgYW55XG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblRvb2woZnVuY3Rpb25Ub29sOiB0eXBlcy5GdW5jdGlvblRvb2wpIHtcbiAgICBpZiAobW9kZWxzLnRvb2xNYXAuaGFzKGZ1bmN0aW9uVG9vbC5uYW1lKSkge1xuICAgICAgY29uc29sZS53YXJuKGBBSSBmdW5jdGlvbiB0b29sICR7ZnVuY3Rpb25Ub29sLm5hbWV9IGFscmVhZHkgZXhpc3RzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuIWApXG4gICAgfVxuICAgIG1vZGVscy50b29sTWFwLnNldChmdW5jdGlvblRvb2wubmFtZSwgZnVuY3Rpb25Ub29sLmZuKVxuICB9XG59XG5cbmV4cG9ydCB7IEFJIH1cblxuY29uc3QgR09fVE9fQUlfVEVYVCA9ICfor7fmo4Dmn6XosIPnlKjmlrnlvI/vvIzmiJbliY3lvoDkupHlvIDlj5EgQUkrIOmmlumhteafpeeci+aWh+aho++8mmh0dHBzOi8vdGNiLmNsb3VkLnRlbmNlbnQuY29tL2RldiMvYWknXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlRGF0YShyZXNwb25zZURhdGE6IFByb21pc2U8dW5rbm93bj4gfCBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiwgaGVhZGVyPzogSGVhZGVycykge1xuICBpZiAodHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgcmVzcG9uc2VEYXRhICYmICd0aGVuJyBpbiByZXNwb25zZURhdGEpIHtcbiAgICAvLyDpnZ7mtYHlvI/or7fmsYLvvIznm7TmjqXov5Tlm54ganNvbiDmlbDmja5cbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3BvbnNlRGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBpZiAodHlwZW9mIGpzb24gPT09ICdvYmplY3QnICYmIGpzb24gJiYgJ2NvZGUnIGluIGpzb24gJiYganNvbi5jb2RlICE9PSAnTk9STUFMJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBSSsg6K+35rGC5Ye66ZSZ77yM6ZSZ6K+v56CB77yaJHtqc29uLmNvZGV977yM6ZSZ6K+v5L+h5oGv77yaJHtqc29uLm1lc3NhZ2V9XFxuJHtHT19UT19BSV9URVhUfVxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGpzb24sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDIsXG4gICAgICApfWAsKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZURhdGFcbiAgfVxuICAvLyDmtYHlvI/or7fmsYLvvIzlpoLmnpzmjqXlj6Plh7rplJnvvIzkvJrlj5jmiJDkvKAganNvbiDmoLzlvI/nmoTlk43lupTvvIzpgJrov4cgaGVhZGVyIOWIpOaWreagvOW8j1xuICBpZiAoaGVhZGVyPy5nZXQ/LignY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICBjb25zdCBqc29uID0gYXdhaXQgcmVhZGFibGVTdHJlYW0ySnNvbk9iamVjdChyZXNwb25zZURhdGEgYXMgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4pXG4gICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlRGF0YVxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUzQyxJQUFBLE1BQU0sR0FBSyxNQUFNLE9BQVgsQ0FBVztBQUV6QjtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUE0QnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBdUM7Z0JBQXJDLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7OzRCQUNuRSxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsTUFBTSxFQUFFLE1BQU07b0NBQ2QsT0FBTyx3QkFBTyxZQUFZLEdBQUssT0FBTyxDQUFFO29DQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0NBQzFCLEdBQUcsS0FBQTtvQ0FDSCxNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBUEksS0FBaUMsQ0FBQyxTQU90QyxDQUE4RSxFQVBsRSxZQUFZLFVBQUEsRUFBRSxNQUFNLFlBQUE7NEJBU2xDLFdBQU8sa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBUSxFQUFBOzs7O1NBQ3ZELENBQUE7UUFFRCxlQUFVLEdBQWlCLFVBQU8sRUFBb0Q7Z0JBQWxELE1BQU0sWUFBQSxFQUFFLEdBQUcsU0FBQSxFQUFFLFlBQVMsRUFBVCxJQUFJLG1CQUFHLEVBQUUsS0FBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTs7Z0JBeUJsRixTQUFTLGFBQWEsQ0FBQyxHQUFXO29CQUNoQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO3lCQUN2QixHQUFHLENBQUMsVUFBQyxFQUFZOzRCQUFYLEdBQUcsUUFBQSxFQUFFLEtBQUssUUFBQTt3QkFBTSxPQUFBLFVBQUcsR0FBRyxjQUFJLEtBQUssQ0FBRTtvQkFBakIsQ0FBaUIsQ0FBQzt5QkFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNkLENBQUM7Ozs7O2lDQTVCRyxDQUFBLE1BQU0sS0FBSyxLQUFLLENBQUEsRUFBaEIsY0FBZ0I7NEJBQ1gsS0FBQSxrQkFBa0IsQ0FBQTs0QkFBRSxXQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQUcsR0FBRyxjQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBRSxFQUFFLE1BQU0sUUFBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLENBQUMsRUFBQTtnQ0FBM0gsV0FBTyxrQkFBbUIsQ0FBQyxTQUFnRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUE7OzRCQUcvSCxZQUFZLEdBQUc7Z0NBQ25CLGNBQWMsRUFBRSxrQkFBa0I7NkJBQ25DLENBQUE7NEJBRUQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTs0QkFFOUIsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQ0FDM0QsR0FBRyxLQUFBO29DQUNILElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQ0FDMUIsT0FBTyx3QkFDRixZQUFZLEdBQ1osT0FBTyxDQUNYO29DQUNELE1BQU0sUUFBQTtvQ0FDTixNQUFNLFFBQUE7b0NBQ04sT0FBTyxTQUFBO2lDQUNSLENBQUMsRUFBQTs7NEJBVkksS0FBaUMsQ0FBQyxTQVV0QyxDQUE4RSxFQVZsRSxZQUFZLFVBQUEsRUFBRSxNQUFNLFlBQUE7NEJBWWxDLFdBQU8sa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBUSxFQUFBOzs7O1NBT3ZELENBQUE7UUE1RUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFHLE9BQU8sUUFBSyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBRyxPQUFPLFdBQVEsQ0FBQTtRQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRCx3QkFBVyxHQUFYLFVBQVksS0FBYTtRQUN2QixJQUFJLFdBQWtDLENBQUE7UUFFdEMsSUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUMsSUFBSSxzQkFBc0IsRUFBRTtZQUMxQixXQUFXLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUM1RTthQUFNO1lBQ0wsV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtTQUN0RjtRQUVELElBQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNyRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsMEJBQWEsR0FBYixVQUFjLElBQVksRUFBRSxLQUFpQztRQUMzRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBWSxJQUFJLHFCQUFrQixDQUFDLENBQUE7WUFDaEQsT0FBTTtTQUNQO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBcURELGlDQUFvQixHQUFwQixVQUFxQixZQUFnQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUFvQixZQUFZLENBQUMsSUFBSSw2Q0FBMEMsQ0FBQyxDQUFBO1NBQzlGO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUNILFNBQUM7QUFBRCxDQUFDLEFBMUZELElBMEZDO0FBRUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFBO0FBRWIsSUFBTSxhQUFhLEdBQUcsaUVBQWlFLENBQUE7QUFFdkYsU0FBZSxrQkFBa0IsQ0FBQyxZQUEyRCxFQUFFLE1BQWdCOzs7Ozs7O3lCQUN6RyxDQUFBLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksTUFBTSxJQUFJLFlBQVksQ0FBQSxFQUExRSxjQUEwRTtvQkFFOUQsV0FBTSxZQUFZLEVBQUE7O29CQUExQixJQUFJLEdBQUcsQ0FBQyxTQUFrQixDQUE0QjtvQkFDNUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7d0JBQ2hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQWdCLElBQUksQ0FBQyxJQUFJLGlEQUFTLElBQUksQ0FBQyxPQUFPLGVBQUssYUFBYSxlQUFLLElBQUksQ0FBQyxTQUFTLENBQ2pHLElBQUksRUFDSixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQUUsQ0FBRSxDQUFBO3FCQUNOO29CQUVELFdBQU8sWUFBWSxFQUFBOzt5QkFHakIsQ0FBQSxNQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEdBQUcsdURBQUcsY0FBYyxDQUFDLDBDQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBLEVBQTNELGNBQTJEO29CQUNoRCxXQUFNLHlCQUF5QixDQUFDLFlBQTBDLENBQUMsRUFBQTs7b0JBQWxGLElBQUksR0FBRyxTQUEyRTtvQkFDeEYsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7d0JBQ2hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQWdCLElBQUksQ0FBQyxJQUFJLGlEQUFTLElBQUksQ0FBQyxPQUFPLGVBQUssYUFBYSxlQUFLLElBQUksQ0FBQyxTQUFTLENBQ2pHLElBQUksRUFDSixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQUUsQ0FBRSxDQUFBO3FCQUNOOzt3QkFFSCxXQUFPLFlBQVksRUFBQTs7OztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU0RLUmVxdWVzdEludGVyZmFjZSB9IGZyb20gJ0BjbG91ZGJhc2UvYWRhcHRlci1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCb3QgfSBmcm9tICcuL2JvdCdcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscydcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vdHlwZSdcbmltcG9ydCB7IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QgfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCB7IE1PREVMUyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGFpQmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBhaUJvdEJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYm90OiBCb3RcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIHRoaXMuYWlCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlgXG4gICAgdGhpcy5haUJvdEJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWJvdGBcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsKG1vZGVsOiBzdHJpbmcpIHtcbiAgICBsZXQgc2ltcGxlTW9kZWw6IHR5cGVzLlNpbXBsZUNoYXRNb2RlbFxuXG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBpZiAoU2ltcGxlTW9kZWxDb25zdHJ1Y3Rvcikge1xuICAgICAgc2ltcGxlTW9kZWwgPSBuZXcgU2ltcGxlTW9kZWxDb25zdHJ1Y3Rvcih0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNpbXBsZU1vZGVsID0gbmV3IG1vZGVscy5EZWZhdWx0U2ltcGxlTW9kZWwodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsLCBtb2RlbClcbiAgICB9XG5cbiAgICBjb25zdCByZWFjdE1vZGVsID0gbmV3IG1vZGVscy5SZWFjdE1vZGVsKHNpbXBsZU1vZGVsKVxuICAgIHJldHVybiByZWFjdE1vZGVsXG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZmV0Y2hIZWFkZXJzLCAuLi5oZWFkZXJzIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybCxcbiAgICAgIHN0cmVhbSxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuICB9XG5cbiAgYm90UmVxdWVzdDogdHlwZXMuQm90UmVxID0gYXN5bmMgKHsgbWV0aG9kLCB1cmwsIGRhdGEgPSB7fSwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pID0+IHtcbiAgICBpZiAobWV0aG9kID09PSAnZ2V0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlRGF0YSgoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtLCB0aW1lb3V0IH0pKS5kYXRhLClcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEhlYWRlcnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICAvLyDluKYgQWNjZXB0OiB0ZXh0L2V2ZW50LXN0cmVhbSAg6K+35rGC5aS05pi+5byP5oyH5a6a5pivIFNTRSDnu5Xov4cgNjBzIOeahOmZkOWItlxuICAgIHN0cmVhbSAmJiBPYmplY3QuYXNzaWduKGZldGNoSGVhZGVycywgeyBBY2NlcHQ6ICd0ZXh0L2V2ZW50LXN0cmVhbScgfSlcblxuICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2VEYXRhLCBoZWFkZXIgfSA9IChhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICB1cmwsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uZmV0Y2hIZWFkZXJzLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHRpbWVvdXQsXG4gICAgfSkpIGFzIHsgZGF0YTogUHJvbWlzZTx1bmtub3duPiB8IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+OyBoZWFkZXI/OiBIZWFkZXJzIH1cblxuICAgIHJldHVybiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhLCBoZWFkZXIpIGFzIGFueVxuXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9QYXJhbShvYmo6IE9iamVjdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRnVuY3Rpb25Ub29sKGZ1bmN0aW9uVG9vbDogdHlwZXMuRnVuY3Rpb25Ub29sKSB7XG4gICAgaWYgKG1vZGVscy50b29sTWFwLmhhcyhmdW5jdGlvblRvb2wubmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgZnVuY3Rpb24gdG9vbCAke2Z1bmN0aW9uVG9vbC5uYW1lfSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiFgKVxuICAgIH1cbiAgICBtb2RlbHMudG9vbE1hcC5zZXQoZnVuY3Rpb25Ub29sLm5hbWUsIGZ1bmN0aW9uVG9vbC5mbilcbiAgfVxufVxuXG5leHBvcnQgeyBBSSB9XG5cbmNvbnN0IEdPX1RPX0FJX1RFWFQgPSAn6K+35qOA5p+l6LCD55So5pa55byP77yM5oiW5YmN5b6A5LqR5byA5Y+RIEFJKyDpppbpobXmn6XnnIvmlofmoaPvvJpodHRwczovL3RjYi5jbG91ZC50ZW5jZW50LmNvbS9kZXYjL2FpJ1xuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSZXNwb25zZURhdGEocmVzcG9uc2VEYXRhOiBQcm9taXNlPHVua25vd24+IHwgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4sIGhlYWRlcj86IEhlYWRlcnMpIHtcbiAgaWYgKHR5cGVvZiByZXNwb25zZURhdGEgPT09ICdvYmplY3QnICYmIHJlc3BvbnNlRGF0YSAmJiAndGhlbicgaW4gcmVzcG9uc2VEYXRhKSB7XG4gICAgLy8g6Z2e5rWB5byP6K+35rGC77yM55u05o6l6L+U5ZueIGpzb24g5pWw5o2uXG4gICAgY29uc3QganNvbiA9IChhd2FpdCByZXNwb25zZURhdGEpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uICYmICdjb2RlJyBpbiBqc29uICYmIGpzb24uY29kZSAhPT0gJ05PUk1BTCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQUkrIOivt+axguWHuumUme+8jOmUmeivr+egge+8miR7anNvbi5jb2Rlfe+8jOmUmeivr+S/oeaBr++8miR7anNvbi5tZXNzYWdlfVxcbiR7R09fVE9fQUlfVEVYVH1cXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBqc29uLFxuICAgICAgICBudWxsLFxuICAgICAgICAyLFxuICAgICAgKX1gLClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2VEYXRhXG4gIH1cbiAgLy8g5rWB5byP6K+35rGC77yM5aaC5p6c5o6l5Y+j5Ye66ZSZ77yM5Lya5Y+Y5oiQ5LygIGpzb24g5qC85byP55qE5ZON5bqU77yM6YCa6L+HIGhlYWRlciDliKTmlq3moLzlvI9cbiAgaWYgKGhlYWRlcj8uZ2V0Py4oJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgY29uc3QganNvbiA9IGF3YWl0IHJlYWRhYmxlU3RyZWFtMkpzb25PYmplY3QocmVzcG9uc2VEYXRhIGFzIFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KVxuICAgIGlmICh0eXBlb2YganNvbiA9PT0gJ29iamVjdCcgJiYganNvbiAmJiAnY29kZScgaW4ganNvbiAmJiBqc29uLmNvZGUgIT09ICdOT1JNQUwnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFJKyDor7fmsYLlh7rplJnvvIzplJnor6/noIHvvJoke2pzb24uY29kZX3vvIzplJnor6/kv6Hmga/vvJoke2pzb24ubWVzc2FnZX1cXG4ke0dPX1RPX0FJX1RFWFR9XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAganNvbixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgICl9YCwpXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNwb25zZURhdGFcbn1cbiJdfQ==
@@ -14,6 +14,7 @@ declare const restModels: {
14
14
  MoonshotSimpleModel: typeof models.MoonshotSimpleModel;
15
15
  HunYuanExpSimpleModel: typeof models.HunYuanExpSimpleModel;
16
16
  HunYuanOpenSimpleModel: typeof models.HunYuanOpenSimpleModel;
17
+ DefaultSimpleModel: typeof models.DefaultSimpleModel;
17
18
  ReactModel: typeof models.ReactModel;
18
19
  toolMap: Map<string, CallableFunction>;
19
20
  };
@@ -0,0 +1,10 @@
1
+ import type { ModelReq, BaseChatModelInput, SimpleChatModel, DoStreamOutput, DoGenerateOutput } from '../../type';
2
+ export declare class DefaultSimpleModel 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,119 @@
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 DefaultSimpleModel = (function () {
50
+ function DefaultSimpleModel(req, baseUrl, subUrl) {
51
+ if (subUrl === void 0) { subUrl = ''; }
52
+ this.req = req;
53
+ this.baseUrl = baseUrl;
54
+ this.subUrl = subUrl;
55
+ }
56
+ Object.defineProperty(DefaultSimpleModel.prototype, "url", {
57
+ get: function () {
58
+ return "".concat(this.baseUrl, "/").concat(this.subUrl);
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ DefaultSimpleModel.prototype.doGenerate = function (data) {
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ var res;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0: return [4, this.req({
69
+ url: this.url,
70
+ data: __assign(__assign({}, data), { stream: false }),
71
+ stream: false,
72
+ })];
73
+ case 1:
74
+ res = _a.sent();
75
+ return [2, __assign(__assign({}, res), { rawResponse: res })];
76
+ }
77
+ });
78
+ });
79
+ };
80
+ DefaultSimpleModel.prototype.doStream = function (data) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var isToolCall, _stream, stream, standardStream, streamWithRaw;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ isToolCall = null;
87
+ return [4, this.req({
88
+ url: this.url,
89
+ data: __assign(__assign({}, data), { stream: true }),
90
+ stream: true,
91
+ })];
92
+ case 1:
93
+ _stream = _a.sent();
94
+ stream = toPolyfillReadable(_stream);
95
+ standardStream = intoStandardStream(stream);
96
+ streamWithRaw = standardStream.pipeThrough(new TransformStream({
97
+ transform: function (chunk, controller) {
98
+ var newChoices = chunk.choices.map(function (choice) {
99
+ var message = choice.delta;
100
+ if (isToolCall == null)
101
+ isToolCall = isToolCallAssistantMessage(message);
102
+ if (isToolCall) {
103
+ return __assign(__assign({}, choice), { finish_reason: 'tool_calls', delta: message });
104
+ }
105
+ return choice;
106
+ });
107
+ var newChunk = __assign(__assign({}, chunk), { choices: newChoices });
108
+ controller.enqueue(__assign(__assign({}, newChunk), { rawResponse: chunk }));
109
+ },
110
+ }));
111
+ return [2, createAsyncIterable(streamWithRaw)];
112
+ }
113
+ });
114
+ });
115
+ };
116
+ return DefaultSimpleModel;
117
+ }());
118
+ export { DefaultSimpleModel };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0RlZmF1bHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLDBCQUEwQixHQUMzQixNQUFNLGFBQWEsQ0FBQTtBQVVwQjtJQUNFLDRCQUFvQixHQUFhLEVBQVMsT0FBZSxFQUFTLE1BQW1CO1FBQW5CLHVCQUFBLEVBQUEsV0FBbUI7UUFBakUsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFhO0lBQUcsQ0FBQztJQUV6RixzQkFBWSxtQ0FBRzthQUFmO1lBQ0UsT0FBTyxVQUFHLElBQUksQ0FBQyxPQUFPLGNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFBO1FBQ3pDLENBQUM7OztPQUFBO0lBRVksdUNBQVUsR0FBdkIsVUFBd0IsSUFBd0I7Ozs7OzRCQUNsQyxXQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7NEJBQ3pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRzs0QkFDYixJQUFJLHdCQUFPLElBQUksS0FBRSxNQUFNLEVBQUUsS0FBSyxHQUFFOzRCQUNoQyxNQUFNLEVBQUUsS0FBSzt5QkFDZCxDQUFDLEVBQUE7O3dCQUpJLEdBQUcsR0FBRyxTQUlWO3dCQUNGLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVkscUNBQVEsR0FBckIsVUFBc0IsSUFBd0I7Ozs7Ozt3QkFDeEMsVUFBVSxHQUFtQixJQUFJLENBQUE7d0JBRXJCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsSUFBSSxLQUNQLE1BQU0sRUFBRSxJQUFJLEdBQ2I7Z0NBQ0QsTUFBTSxFQUFFLElBQUk7NkJBQ2IsQ0FBQyxFQUFBOzt3QkFQSSxPQUFPLEdBQUcsU0FPZDt3QkFDSSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxjQUFjLEdBQUcsa0JBQWtCLENBQTBCLE1BQU0sQ0FBQyxDQUFBO3dCQUNwRSxhQUFhLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBMkU7NEJBQzdJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQ0FDeEUsSUFBSSxVQUFVLEVBQUU7d0NBQ2QsNkJBQ0ssTUFBTSxLQUNULGFBQWEsRUFBRSxZQUFZLEVBQzNCLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsT0FBTyxNQUFNLENBQUE7Z0NBQ2YsQ0FBQyxDQUFDLENBQUE7Z0NBQ0YsSUFBTSxRQUFRLHlCQUFRLEtBQUssS0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFFLENBQUE7Z0NBQ2xELFVBQVUsQ0FBQyxPQUFPLHVCQUFNLFFBQVEsS0FBRSxXQUFXLEVBQUUsS0FBSyxJQUFHLENBQUE7NEJBQ3pELENBQUM7eUJBQ0YsQ0FBQyxDQUFFLENBQUE7d0JBRUosV0FBTyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBQTs7OztLQUMxQztJQUNILHlCQUFDO0FBQUQsQ0FBQyxBQW5ERCxJQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUFzeW5jSXRlcmFibGUsXG4gIFRyYW5zZm9ybVN0cmVhbSxcbiAgdG9Qb2x5ZmlsbFJlYWRhYmxlLFxuICBpbnRvU3RhbmRhcmRTdHJlYW0sXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxufSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG4gIERvR2VuZXJhdGVPdXRwdXQsXG59IGZyb20gJy4uLy4uL3R5cGUnXG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0U2ltcGxlTW9kZWwgaW1wbGVtZW50cyBTaW1wbGVDaGF0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHB1YmxpYyBzdWJVcmw6IHN0cmluZyA9ICcnKSB7fVxuXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlVXJsfS8ke3RoaXMuc3ViVXJsfWBcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkb0dlbmVyYXRlKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IFByb21pc2U8RG9HZW5lcmF0ZU91dHB1dD4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucmVxKHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBkYXRhOiB7IC4uLmRhdGEsIHN0cmVhbTogZmFsc2UgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgfSlcbiAgICByZXR1cm4geyAuLi5yZXMsIHJhd1Jlc3BvbnNlOiByZXMgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvU3RyZWFtKGRhdGE6IEJhc2VDaGF0TW9kZWxJbnB1dCk6IFByb21pc2U8RG9TdHJlYW1PdXRwdXQ+IHtcbiAgICBsZXQgaXNUb29sQ2FsbDogbnVsbCB8IGJvb2xlYW4gPSBudWxsXG5cbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgc3RyZWFtOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogdHJ1ZSxcbiAgICB9KVxuICAgIGNvbnN0IHN0cmVhbSA9IHRvUG9seWZpbGxSZWFkYWJsZShfc3RyZWFtKSBhcyB0eXBlb2YgX3N0cmVhbVxuXG4gICAgY29uc3Qgc3RhbmRhcmRTdHJlYW0gPSBpbnRvU3RhbmRhcmRTdHJlYW08QmFzZURvU3RyZWFtT3V0cHV0Q2h1bms+KHN0cmVhbSlcbiAgICBjb25zdCBzdHJlYW1XaXRoUmF3ID0gc3RhbmRhcmRTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxCYXNlRG9TdHJlYW1PdXRwdXRDaHVuaywgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmsgJiB7IHJhd1Jlc3BvbnNlPzogYW55IH0+KHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICBjb25zdCBuZXdDaG9pY2VzID0gY2h1bmsuY2hvaWNlcy5tYXAoKGNob2ljZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaG9pY2UuZGVsdGFcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCA9PSBudWxsKSBpc1Rvb2xDYWxsID0gaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSlcbiAgICAgICAgICBpZiAoaXNUb29sQ2FsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgICAgICBmaW5pc2hfcmVhc29uOiAndG9vbF9jYWxscycsXG4gICAgICAgICAgICAgIGRlbHRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY2hvaWNlXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG5ld0NodW5rID0geyAuLi5jaHVuaywgY2hvaWNlczogbmV3Q2hvaWNlcyB9XG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh7IC4uLm5ld0NodW5rLCByYXdSZXNwb25zZTogY2h1bmsgfSlcbiAgICAgIH0sXG4gICAgfSksKVxuXG4gICAgcmV0dXJuIGNyZWF0ZUFzeW5jSXRlcmFibGUoc3RyZWFtV2l0aFJhdylcbiAgfVxufVxuIl19
@@ -8,6 +8,7 @@ import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
10
  import { DeepSeekSimpleModel } from './DeepSeek';
11
+ import { DefaultSimpleModel } from './Default';
11
12
  export declare const MODELS: {
12
13
  hunyuan: typeof HunYuanSimpleModel;
13
14
  'hunyuan-beta': typeof HunYuanBetaSimpleModel;
@@ -20,5 +21,5 @@ export declare const MODELS: {
20
21
  'hunyuan-open': typeof HunYuanOpenSimpleModel;
21
22
  deepseek: typeof DeepSeekSimpleModel;
22
23
  };
23
- export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
24
+ export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, DefaultSimpleModel, };
24
25
  export { ReactModel, toolMap } from './model';
@@ -8,6 +8,7 @@ import { MoonshotSimpleModel } from './Moonshot/index';
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index';
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index';
10
10
  import { DeepSeekSimpleModel } from './DeepSeek';
11
+ import { DefaultSimpleModel } from './Default';
11
12
  export var MODELS = {
12
13
  hunyuan: HunYuanSimpleModel,
13
14
  'hunyuan-beta': HunYuanBetaSimpleModel,
@@ -20,6 +21,6 @@ export var MODELS = {
20
21
  'hunyuan-open': HunYuanOpenSimpleModel,
21
22
  deepseek: DeepSeekSimpleModel,
22
23
  };
23
- export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, };
24
+ export { ZhiPuSimpleModel, HunYuanBetaSimpleModel, HunYuanSimpleModel, ArkSimpleModel, DSSimpleModel, YiSimpleModel, MoonshotSimpleModel, HunYuanExpSimpleModel, HunYuanOpenSimpleModel, DefaultSimpleModel, };
24
25
  export { ReactModel, toolMap } from './model';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVoRCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLEdBQUcsRUFBRSxjQUFjO0lBQ25CLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSxtQkFBbUI7SUFDN0IsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixhQUFhLEVBQUUscUJBQXFCO0lBQ3BDLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMsUUFBUSxFQUFFLG1CQUFtQjtDQUM5QixDQUFBO0FBRUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3ZCLENBQUE7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpoaVB1U2ltcGxlTW9kZWwgfSBmcm9tICcuL1poaVB1L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkJldGEvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW4vaW5kZXgnXG5pbXBvcnQgeyBBcmtTaW1wbGVNb2RlbCB9IGZyb20gJy4vQXJrL2luZGV4J1xuaW1wb3J0IHsgRFNTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGFzaFNjb3BlL2luZGV4J1xuaW1wb3J0IHsgWWlTaW1wbGVNb2RlbCB9IGZyb20gJy4vWWkvaW5kZXgnXG5pbXBvcnQgeyBNb29uc2hvdFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9Nb29uc2hvdC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5FeHBTaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbkV4cC9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwgfSBmcm9tICcuL0h1bll1YW5PcGVuL2luZGV4J1xuaW1wb3J0IHsgRGVlcFNlZWtTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGVlcFNlZWsnXG5cbmV4cG9ydCBjb25zdCBNT0RFTFMgPSB7XG4gIGh1bnl1YW46IEh1bll1YW5TaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tYmV0YSc6IEh1bll1YW5CZXRhU2ltcGxlTW9kZWwsXG4gIGFyazogQXJrU2ltcGxlTW9kZWwsXG4gIGRhc2hzY29wZTogRFNTaW1wbGVNb2RlbCxcbiAgJzAxLWFpJzogWWlTaW1wbGVNb2RlbCxcbiAgbW9vbnNob3Q6IE1vb25zaG90U2ltcGxlTW9kZWwsXG4gIHpoaXB1OiBaaGlQdVNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1leHAnOiBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gICdodW55dWFuLW9wZW4nOiBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxuICBkZWVwc2VlazogRGVlcFNlZWtTaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHtcbiAgWmhpUHVTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgSHVuWXVhblNpbXBsZU1vZGVsLFxuICBBcmtTaW1wbGVNb2RlbCxcbiAgRFNTaW1wbGVNb2RlbCxcbiAgWWlTaW1wbGVNb2RlbCxcbiAgTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgSHVuWXVhbkV4cFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuT3BlblNpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQgeyBSZWFjdE1vZGVsLCB0b29sTWFwIH0gZnJvbSAnLi9tb2RlbCdcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFOUMsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsY0FBYyxFQUFFLHNCQUFzQjtJQUN0QyxHQUFHLEVBQUUsY0FBYztJQUNuQixTQUFTLEVBQUUsYUFBYTtJQUN4QixPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsbUJBQW1CO0lBQzdCLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLFFBQVEsRUFBRSxtQkFBbUI7Q0FDOUIsQ0FBQTtBQUVELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixrQkFBa0IsR0FDbkIsQ0FBQTtBQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWmhpUHVTaW1wbGVNb2RlbCB9IGZyb20gJy4vWmhpUHUvaW5kZXgnXG5pbXBvcnQgeyBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuQmV0YS9pbmRleCdcbmltcG9ydCB7IEh1bll1YW5TaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbi9pbmRleCdcbmltcG9ydCB7IEFya1NpbXBsZU1vZGVsIH0gZnJvbSAnLi9BcmsvaW5kZXgnXG5pbXBvcnQgeyBEU1NpbXBsZU1vZGVsIH0gZnJvbSAnLi9EYXNoU2NvcGUvaW5kZXgnXG5pbXBvcnQgeyBZaVNpbXBsZU1vZGVsIH0gZnJvbSAnLi9ZaS9pbmRleCdcbmltcG9ydCB7IE1vb25zaG90U2ltcGxlTW9kZWwgfSBmcm9tICcuL01vb25zaG90L2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbkV4cFNpbXBsZU1vZGVsIH0gZnJvbSAnLi9IdW5ZdWFuRXhwL2luZGV4J1xuaW1wb3J0IHsgSHVuWXVhbk9wZW5TaW1wbGVNb2RlbCB9IGZyb20gJy4vSHVuWXVhbk9wZW4vaW5kZXgnXG5pbXBvcnQgeyBEZWVwU2Vla1NpbXBsZU1vZGVsIH0gZnJvbSAnLi9EZWVwU2VlaydcbmltcG9ydCB7IERlZmF1bHRTaW1wbGVNb2RlbCB9IGZyb20gJy4vRGVmYXVsdCdcblxuZXhwb3J0IGNvbnN0IE1PREVMUyA9IHtcbiAgaHVueXVhbjogSHVuWXVhblNpbXBsZU1vZGVsLFxuICAnaHVueXVhbi1iZXRhJzogSHVuWXVhbkJldGFTaW1wbGVNb2RlbCxcbiAgYXJrOiBBcmtTaW1wbGVNb2RlbCxcbiAgZGFzaHNjb3BlOiBEU1NpbXBsZU1vZGVsLFxuICAnMDEtYWknOiBZaVNpbXBsZU1vZGVsLFxuICBtb29uc2hvdDogTW9vbnNob3RTaW1wbGVNb2RlbCxcbiAgemhpcHU6IFpoaVB1U2ltcGxlTW9kZWwsXG4gICdodW55dWFuLWV4cCc6IEh1bll1YW5FeHBTaW1wbGVNb2RlbCxcbiAgJ2h1bnl1YW4tb3Blbic6IEh1bll1YW5PcGVuU2ltcGxlTW9kZWwsXG4gIGRlZXBzZWVrOiBEZWVwU2Vla1NpbXBsZU1vZGVsLFxufVxuXG5leHBvcnQge1xuICBaaGlQdVNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuQmV0YVNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuU2ltcGxlTW9kZWwsXG4gIEFya1NpbXBsZU1vZGVsLFxuICBEU1NpbXBsZU1vZGVsLFxuICBZaVNpbXBsZU1vZGVsLFxuICBNb29uc2hvdFNpbXBsZU1vZGVsLFxuICBIdW5ZdWFuRXhwU2ltcGxlTW9kZWwsXG4gIEh1bll1YW5PcGVuU2ltcGxlTW9kZWwsXG4gIERlZmF1bHRTaW1wbGVNb2RlbCxcbn1cblxuZXhwb3J0IHsgUmVhY3RNb2RlbCwgdG9vbE1hcCB9IGZyb20gJy4vbW9kZWwnXG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/ai",
3
- "version": "2.14.0",
3
+ "version": "2.16.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.14.0",
30
+ "@cloudbase/types": "^2.16.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.0"
37
37
  },
38
- "gitHead": "01239bdea8aca78ddf87e7f8af72e1b9d124532b"
38
+ "gitHead": "5a7fb55717603551d04ec5ba3cdcbea16d99dff5"
39
39
  }
package/src/AI.ts CHANGED
@@ -17,9 +17,16 @@ class AI {
17
17
  this.bot = new Bot(this.botRequest, this.aiBotBaseUrl)
18
18
  }
19
19
 
20
- createModel<T extends keyof typeof MODELS>(model: T) {
20
+ createModel(model: string) {
21
+ let simpleModel: types.SimpleChatModel
22
+
21
23
  const SimpleModelConstructor = MODELS[model]
22
- const simpleModel: types.SimpleChatModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl)
24
+ if (SimpleModelConstructor) {
25
+ simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl)
26
+ } else {
27
+ simpleModel = new models.DefaultSimpleModel(this.modelRequest, this.aiBaseUrl, model)
28
+ }
29
+
23
30
  const reactModel = new models.ReactModel(simpleModel)
24
31
  return reactModel
25
32
  }
@@ -0,0 +1,68 @@
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 DefaultSimpleModel implements SimpleChatModel {
18
+ constructor(private req: ModelReq, public baseUrl: string, public subUrl: string = '') {}
19
+
20
+ private get url() {
21
+ return `${this.baseUrl}/${this.subUrl}`
22
+ }
23
+
24
+ public async doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput> {
25
+ const res = await this.req({
26
+ url: this.url,
27
+ data: { ...data, stream: false },
28
+ stream: false,
29
+ })
30
+ return { ...res, rawResponse: res }
31
+ }
32
+
33
+ public async doStream(data: BaseChatModelInput): Promise<DoStreamOutput> {
34
+ let isToolCall: null | boolean = null
35
+
36
+ const _stream = await this.req({
37
+ url: this.url,
38
+ data: {
39
+ ...data,
40
+ stream: true,
41
+ },
42
+ stream: true,
43
+ })
44
+ const stream = toPolyfillReadable(_stream) as typeof _stream
45
+
46
+ const standardStream = intoStandardStream<BaseDoStreamOutputChunk>(stream)
47
+ const streamWithRaw = standardStream.pipeThrough(new TransformStream<BaseDoStreamOutputChunk, BaseDoStreamOutputChunk & { rawResponse?: any }>({
48
+ transform(chunk, controller) {
49
+ const newChoices = chunk.choices.map((choice) => {
50
+ const message = choice.delta
51
+ if (isToolCall == null) isToolCall = isToolCallAssistantMessage(message)
52
+ if (isToolCall) {
53
+ return {
54
+ ...choice,
55
+ finish_reason: 'tool_calls',
56
+ delta: message,
57
+ }
58
+ }
59
+ return choice
60
+ })
61
+ const newChunk = { ...chunk, choices: newChoices }
62
+ controller.enqueue({ ...newChunk, rawResponse: chunk })
63
+ },
64
+ }),)
65
+
66
+ return createAsyncIterable(streamWithRaw)
67
+ }
68
+ }
@@ -8,6 +8,7 @@ import { MoonshotSimpleModel } from './Moonshot/index'
8
8
  import { HunYuanExpSimpleModel } from './HunYuanExp/index'
9
9
  import { HunYuanOpenSimpleModel } from './HunYuanOpen/index'
10
10
  import { DeepSeekSimpleModel } from './DeepSeek'
11
+ import { DefaultSimpleModel } from './Default'
11
12
 
12
13
  export const MODELS = {
13
14
  hunyuan: HunYuanSimpleModel,
@@ -32,6 +33,7 @@ export {
32
33
  MoonshotSimpleModel,
33
34
  HunYuanExpSimpleModel,
34
35
  HunYuanOpenSimpleModel,
36
+ DefaultSimpleModel,
35
37
  }
36
38
 
37
39
  export { ReactModel, toolMap } from './model'