@cloudbase/ai 2.8.20-beta.0 → 2.8.22-beta.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 +27 -0
- package/dist/cjs/AI.js +154 -0
- package/dist/cjs/index.d.ts +13 -38
- package/dist/cjs/index.js +9 -73
- package/dist/cjs/models/Ark/index.d.ts +4 -18
- package/dist/cjs/models/Ark/index.js +45 -82
- package/dist/cjs/models/Ark/type.d.ts +52 -19
- package/dist/cjs/models/Ark/type.js +1 -1
- package/dist/cjs/models/DashScope/index.d.ts +4 -18
- package/dist/cjs/models/DashScope/index.js +45 -82
- package/dist/cjs/models/DashScope/type.d.ts +55 -24
- package/dist/cjs/models/DashScope/type.js +1 -1
- package/dist/cjs/models/HunYuan/index.d.ts +4 -19
- package/dist/cjs/models/HunYuan/index.js +47 -107
- package/dist/cjs/models/HunYuan/type.d.ts +68 -48
- package/dist/cjs/models/HunYuan/type.js +1 -1
- package/dist/cjs/models/HunYuan/util.d.ts +4 -0
- package/dist/cjs/models/HunYuan/util.js +58 -0
- package/dist/cjs/models/HunYuanBeta/index.d.ts +4 -19
- package/dist/cjs/models/HunYuanBeta/index.js +42 -110
- package/dist/cjs/models/Moonshot/index.d.ts +4 -18
- package/dist/cjs/models/Moonshot/index.js +45 -82
- package/dist/cjs/models/Moonshot/type.d.ts +63 -9
- package/dist/cjs/models/Moonshot/type.js +1 -1
- package/dist/cjs/models/Yi/index.d.ts +4 -18
- package/dist/cjs/models/Yi/index.js +48 -82
- package/dist/cjs/models/Yi/type.d.ts +41 -15
- package/dist/cjs/models/Yi/type.js +1 -1
- package/dist/cjs/models/ZhiPu/index.d.ts +4 -18
- package/dist/cjs/models/ZhiPu/index.js +59 -87
- package/dist/cjs/models/ZhiPu/type.d.ts +19 -19
- package/dist/cjs/models/ZhiPu/type.js +1 -1
- package/dist/cjs/models/index.d.ts +16 -15
- package/dist/cjs/models/index.js +26 -23
- package/dist/cjs/models/model.d.ts +38 -0
- package/dist/cjs/models/model.js +481 -0
- package/dist/cjs/type.d.ts +76 -15
- package/dist/cjs/type.js +6 -12
- package/dist/cjs/utils.d.ts +9 -1
- package/dist/cjs/utils.js +46 -2
- package/dist/esm/AI.d.ts +27 -0
- package/dist/esm/AI.js +128 -0
- package/dist/esm/index.d.ts +13 -38
- package/dist/esm/index.js +4 -70
- package/dist/esm/models/Ark/index.d.ts +4 -18
- package/dist/esm/models/Ark/index.js +45 -82
- package/dist/esm/models/Ark/type.d.ts +52 -19
- package/dist/esm/models/Ark/type.js +1 -1
- package/dist/esm/models/DashScope/index.d.ts +4 -18
- package/dist/esm/models/DashScope/index.js +45 -82
- package/dist/esm/models/DashScope/type.d.ts +55 -24
- package/dist/esm/models/DashScope/type.js +1 -1
- package/dist/esm/models/HunYuan/index.d.ts +4 -19
- package/dist/esm/models/HunYuan/index.js +47 -107
- package/dist/esm/models/HunYuan/type.d.ts +68 -48
- package/dist/esm/models/HunYuan/type.js +1 -1
- package/dist/esm/models/HunYuan/util.d.ts +4 -0
- package/dist/esm/models/HunYuan/util.js +53 -0
- package/dist/esm/models/HunYuanBeta/index.d.ts +4 -19
- package/dist/esm/models/HunYuanBeta/index.js +42 -110
- package/dist/esm/models/Moonshot/index.d.ts +4 -18
- package/dist/esm/models/Moonshot/index.js +45 -82
- package/dist/esm/models/Moonshot/type.d.ts +63 -9
- package/dist/esm/models/Moonshot/type.js +1 -1
- package/dist/esm/models/Yi/index.d.ts +4 -18
- package/dist/esm/models/Yi/index.js +48 -82
- package/dist/esm/models/Yi/type.d.ts +41 -15
- package/dist/esm/models/Yi/type.js +1 -1
- package/dist/esm/models/ZhiPu/index.d.ts +4 -18
- package/dist/esm/models/ZhiPu/index.js +59 -87
- package/dist/esm/models/ZhiPu/type.d.ts +19 -19
- package/dist/esm/models/ZhiPu/type.js +1 -1
- package/dist/esm/models/index.d.ts +16 -15
- package/dist/esm/models/index.js +17 -16
- package/dist/esm/models/model.d.ts +38 -0
- package/dist/esm/models/model.js +478 -0
- package/dist/esm/type.d.ts +76 -15
- package/dist/esm/type.js +5 -11
- package/dist/esm/utils.d.ts +9 -1
- package/dist/esm/utils.js +41 -1
- package/package.json +3 -3
- package/src/AI.ts +77 -0
- package/src/index.ts +3 -60
- package/src/models/Ark/index.ts +52 -54
- package/src/models/Ark/type.ts +60 -19
- package/src/models/DashScope/index.ts +56 -55
- package/src/models/DashScope/type.ts +63 -21
- package/src/models/HunYuan/index.ts +44 -67
- package/src/models/HunYuan/type.ts +68 -46
- package/src/models/HunYuan/util.ts +59 -0
- package/src/models/HunYuanBeta/index.ts +41 -75
- package/src/models/Moonshot/index.ts +52 -54
- package/src/models/Moonshot/type.ts +61 -7
- package/src/models/Yi/index.ts +59 -55
- package/src/models/Yi/type.ts +47 -19
- package/src/models/ZhiPu/index.ts +60 -52
- package/src/models/ZhiPu/type.ts +20 -9
- package/src/models/index.ts +25 -15
- package/src/models/model.ts +415 -0
- package/src/type.ts +100 -13
- package/src/utils.ts +53 -1
- package/dist/cjs/models/HunYuanBeta/type.d.ts +0 -52
- package/dist/cjs/models/HunYuanBeta/type.js +0 -3
- package/dist/esm/models/HunYuanBeta/type.d.ts +0 -52
- package/dist/esm/models/HunYuanBeta/type.js +0 -2
- package/src/models/HunYuanBeta/type.ts +0 -61
package/dist/cjs/AI.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SDKRequestInterface } from '@cloudbase/adapter-interface';
|
|
2
|
+
import { Bot } from './bot';
|
|
3
|
+
import * as models from './models';
|
|
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
|
+
};
|
|
14
|
+
declare class AI {
|
|
15
|
+
private req;
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
aiBaseUrl: string;
|
|
18
|
+
aiBotBaseUrl: string;
|
|
19
|
+
bot: Bot;
|
|
20
|
+
constructor(req: SDKRequestInterface, baseUrl: string);
|
|
21
|
+
createModel<T extends keyof typeof MODELS>(model: T): models.ReactModel;
|
|
22
|
+
registerModel(name: string, model: types.ChatModelConstructor): void;
|
|
23
|
+
modelRequest: types.ModelReq;
|
|
24
|
+
botRequest: types.BotReq;
|
|
25
|
+
registerFunctionTool(functionTool: types.FunctionTool): void;
|
|
26
|
+
}
|
|
27
|
+
export { AI };
|
package/dist/cjs/AI.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
|
+
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;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
73
|
+
exports.AI = void 0;
|
|
74
|
+
var bot_1 = require("./bot");
|
|
75
|
+
var models = __importStar(require("./models"));
|
|
76
|
+
var MODELS = models.MODELS;
|
|
77
|
+
var AI = (function () {
|
|
78
|
+
function AI(req, baseUrl) {
|
|
79
|
+
var _this = this;
|
|
80
|
+
this.req = req;
|
|
81
|
+
this.baseUrl = baseUrl;
|
|
82
|
+
this.modelRequest = function (_a) {
|
|
83
|
+
var url = _a.url, data = _a.data, headers = _a.headers, stream = _a.stream;
|
|
84
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_b) {
|
|
86
|
+
switch (_b.label) {
|
|
87
|
+
case 0: return [4, this.req.fetch({
|
|
88
|
+
method: 'post',
|
|
89
|
+
headers: __assign({ 'Content-Type': 'application/json' }, headers),
|
|
90
|
+
body: JSON.stringify(data),
|
|
91
|
+
url: url,
|
|
92
|
+
stream: stream,
|
|
93
|
+
})];
|
|
94
|
+
case 1: return [2, (_b.sent()).data];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
this.botRequest = function (_a) {
|
|
100
|
+
var method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, headers = _a.headers, stream = _a.stream;
|
|
101
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
102
|
+
function objectToParam(obj) {
|
|
103
|
+
return Object.entries(obj)
|
|
104
|
+
.map(function (_a) {
|
|
105
|
+
var key = _a[0], value = _a[1];
|
|
106
|
+
return "".concat(key, "=").concat(value);
|
|
107
|
+
})
|
|
108
|
+
.join('&');
|
|
109
|
+
}
|
|
110
|
+
return __generator(this, function (_c) {
|
|
111
|
+
switch (_c.label) {
|
|
112
|
+
case 0:
|
|
113
|
+
if (!(method === 'get')) return [3, 2];
|
|
114
|
+
return [4, this.req.fetch({ url: "".concat(url, "?").concat(objectToParam(data)), method: method, headers: headers, stream: stream })];
|
|
115
|
+
case 1: return [2, (_c.sent()).data];
|
|
116
|
+
case 2: return [4, this.req.fetch({
|
|
117
|
+
url: url,
|
|
118
|
+
body: JSON.stringify(data),
|
|
119
|
+
headers: __assign({ 'Content-Type': 'application/json' }, headers),
|
|
120
|
+
stream: stream,
|
|
121
|
+
method: method,
|
|
122
|
+
})];
|
|
123
|
+
case 3: return [2, (_c.sent()).data];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
this.aiBaseUrl = "".concat(baseUrl, "/ai");
|
|
129
|
+
this.aiBotBaseUrl = "".concat(baseUrl, "/aibot");
|
|
130
|
+
this.bot = new bot_1.Bot(this.botRequest, this.aiBotBaseUrl);
|
|
131
|
+
}
|
|
132
|
+
AI.prototype.createModel = function (model) {
|
|
133
|
+
var SimpleModelConstructor = MODELS[model];
|
|
134
|
+
var simpleModel = new SimpleModelConstructor(this.modelRequest, this.aiBaseUrl);
|
|
135
|
+
var reactModel = new models.ReactModel(simpleModel);
|
|
136
|
+
return reactModel;
|
|
137
|
+
};
|
|
138
|
+
AI.prototype.registerModel = function (name, model) {
|
|
139
|
+
if (MODELS[name] != null) {
|
|
140
|
+
console.warn("AI model ".concat(name, " already exists!"));
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
MODELS[name] = model;
|
|
144
|
+
};
|
|
145
|
+
AI.prototype.registerFunctionTool = function (functionTool) {
|
|
146
|
+
if (models.toolMap.has(functionTool.name)) {
|
|
147
|
+
console.warn("AI function tool ".concat(functionTool.name, " already exists and will be overwritten!"));
|
|
148
|
+
}
|
|
149
|
+
models.toolMap.set(functionTool.name, functionTool.fn);
|
|
150
|
+
};
|
|
151
|
+
return AI;
|
|
152
|
+
}());
|
|
153
|
+
exports.AI = AI;
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZCQUEyQjtBQUMzQiwrQ0FBa0M7QUFHMUIsSUFBQSxNQUFNLEdBQUssTUFBTSxPQUFYLENBQVc7QUFFekI7SUFLRSxZQUFvQixHQUF3QixFQUFTLE9BQWU7UUFBcEUsaUJBSUM7UUFKbUIsUUFBRyxHQUFILEdBQUcsQ0FBcUI7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBcUJwRSxpQkFBWSxHQUFtQixVQUFPLEVBQThCO2dCQUE1QixHQUFHLFNBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxNQUFNLFlBQUE7Ozs7Z0NBQ2hFLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0NBQ25CLE1BQU0sRUFBRSxNQUFNO2dDQUNkLE9BQU8sYUFDTCxjQUFjLEVBQUUsa0JBQWtCLElBQy9CLE9BQU8sQ0FDWDtnQ0FDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0NBQzFCLEdBQUcsS0FBQTtnQ0FDSCxNQUFNLFFBQUE7NkJBQ1AsQ0FBQyxFQUFBO2dDQVZxRSxXQUFBLENBQ3ZFLFNBU0UsQ0FDSCxDQUFDLElBQUksRUFBQTs7OztTQUFBLENBQUE7UUFFTixlQUFVLEdBQWlCLFVBQU8sRUFBMkM7Z0JBQXpDLE1BQU0sWUFBQSxFQUFFLEdBQUcsU0FBQSxFQUFFLFlBQVMsRUFBVCxJQUFJLG1CQUFHLEVBQUUsS0FBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQTs7Z0JBZXpFLFNBQVMsYUFBYSxDQUFDLEdBQVc7b0JBQ2hDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7eUJBQ3ZCLEdBQUcsQ0FBQyxVQUFDLEVBQVk7NEJBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO3dCQUFNLE9BQUEsVUFBRyxHQUFHLGNBQUksS0FBSyxDQUFFO29CQUFqQixDQUFpQixDQUFDO3lCQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2QsQ0FBQzs7OztpQ0FsQkcsQ0FBQSxNQUFNLEtBQUssS0FBSyxDQUFBLEVBQWhCLGNBQWdCOzRCQUNWLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBRyxHQUFHLGNBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFFLEVBQUUsTUFBTSxRQUFBLEVBQUUsT0FBTyxTQUFBLEVBQUUsTUFBTSxRQUFBLEVBQUUsQ0FBQyxFQUFBO2dDQUEvRixXQUFPLENBQUMsU0FBdUYsQ0FBQyxDQUFDLElBQUksRUFBQTtnQ0FJckcsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQ0FDbkIsR0FBRyxLQUFBO2dDQUNILElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQ0FDMUIsT0FBTyxhQUFJLGNBQWMsRUFBRSxrQkFBa0IsSUFBSyxPQUFPLENBQUU7Z0NBQzNELE1BQU0sUUFBQTtnQ0FDTixNQUFNLFFBQUE7NkJBQ1AsQ0FBQyxFQUFBO2dDQVBKLFdBQU8sQ0FDTCxTQU1FLENBQ0gsQ0FBQyxJQUFJLEVBQUE7Ozs7U0FPUCxDQUFBO1FBckRDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBRyxPQUFPLFFBQUssQ0FBQTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQUcsT0FBTyxXQUFRLENBQUE7UUFDdEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsd0JBQVcsR0FBWCxVQUEyQyxLQUFRO1FBQ2pELElBQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzVDLElBQU0sV0FBVyxHQUEwQixJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3hHLElBQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNyRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsMEJBQWEsR0FBYixVQUFjLElBQVksRUFBRSxLQUFpQztRQUMzRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBWSxJQUFJLHFCQUFrQixDQUFDLENBQUE7WUFDaEQsT0FBTTtTQUNQO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBcUNELGlDQUFvQixHQUFwQixVQUFxQixZQUFnQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUFvQixZQUFZLENBQUMsSUFBSSw2Q0FBMEMsQ0FBQyxDQUFBO1NBQzlGO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUNILFNBQUM7QUFBRCxDQUFDLEFBbkVELElBbUVDO0FBRVEsZ0JBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNES1JlcXVlc3RJbnRlcmZhY2UgfSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQm90IH0gZnJvbSAnLi9ib3QnXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSAnLi9tb2RlbHMnXG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGUnXG5cbmNvbnN0IHsgTU9ERUxTIH0gPSBtb2RlbHNcblxuY2xhc3MgQUkge1xuICBwdWJsaWMgYWlCYXNlVXJsOiBzdHJpbmdcbiAgcHVibGljIGFpQm90QmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBib3Q6IEJvdFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlLCBwdWJsaWMgYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5haUJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWBcbiAgICB0aGlzLmFpQm90QmFzZVVybCA9IGAke2Jhc2VVcmx9L2FpYm90YFxuICAgIHRoaXMuYm90ID0gbmV3IEJvdCh0aGlzLmJvdFJlcXVlc3QsIHRoaXMuYWlCb3RCYXNlVXJsKVxuICB9XG5cbiAgY3JlYXRlTW9kZWw8VCBleHRlbmRzIGtleW9mIHR5cGVvZiBNT0RFTFM+KG1vZGVsOiBUKSB7XG4gICAgY29uc3QgU2ltcGxlTW9kZWxDb25zdHJ1Y3RvciA9IE1PREVMU1ttb2RlbF1cbiAgICBjb25zdCBzaW1wbGVNb2RlbDogdHlwZXMuU2ltcGxlQ2hhdE1vZGVsID0gbmV3IFNpbXBsZU1vZGVsQ29uc3RydWN0b3IodGhpcy5tb2RlbFJlcXVlc3QsIHRoaXMuYWlCYXNlVXJsKVxuICAgIGNvbnN0IHJlYWN0TW9kZWwgPSBuZXcgbW9kZWxzLlJlYWN0TW9kZWwoc2ltcGxlTW9kZWwpXG4gICAgcmV0dXJuIHJlYWN0TW9kZWxcbiAgfVxuXG4gIHJlZ2lzdGVyTW9kZWwobmFtZTogc3RyaW5nLCBtb2RlbDogdHlwZXMuQ2hhdE1vZGVsQ29uc3RydWN0b3IpIHtcbiAgICBpZiAoTU9ERUxTW25hbWVdICE9IG51bGwpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQUkgbW9kZWwgJHtuYW1lfSBhbHJlYWR5IGV4aXN0cyFgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIE1PREVMU1tuYW1lXSA9IG1vZGVsXG4gIH1cblxuICBtb2RlbFJlcXVlc3Q6IHR5cGVzLk1vZGVsUmVxID0gYXN5bmMgKHsgdXJsLCBkYXRhLCBoZWFkZXJzLCBzdHJlYW0gfSkgPT4gKFxuICAgIGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgdXJsLFxuICAgICAgc3RyZWFtLFxuICAgIH0pXG4gICkuZGF0YVxuXG4gIGJvdFJlcXVlc3Q6IHR5cGVzLkJvdFJlcSA9IGFzeW5jICh7IG1ldGhvZCwgdXJsLCBkYXRhID0ge30sIGhlYWRlcnMsIHN0cmVhbSB9KSA9PiB7XG4gICAgaWYgKG1ldGhvZCA9PT0gJ2dldCcpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5yZXEuZmV0Y2goeyB1cmw6IGAke3VybH0/JHtvYmplY3RUb1BhcmFtKGRhdGEpfWAsIG1ldGhvZCwgaGVhZGVycywgc3RyZWFtIH0pKS5kYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIGF3YWl0IHRoaXMucmVxLmZldGNoKHtcbiAgICAgICAgdXJsLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAuLi5oZWFkZXJzIH0sXG4gICAgICAgIHN0cmVhbSxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgfSlcbiAgICApLmRhdGFcblxuICAgIGZ1bmN0aW9uIG9iamVjdFRvUGFyYW0ob2JqOiBPYmplY3QpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApXG4gICAgICAgIC5qb2luKCcmJylcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uVG9vbChmdW5jdGlvblRvb2w6IHR5cGVzLkZ1bmN0aW9uVG9vbCkge1xuICAgIGlmIChtb2RlbHMudG9vbE1hcC5oYXMoZnVuY3Rpb25Ub29sLm5hbWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIGZ1bmN0aW9uIHRvb2wgJHtmdW5jdGlvblRvb2wubmFtZX0gYWxyZWFkeSBleGlzdHMgYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4hYClcbiAgICB9XG4gICAgbW9kZWxzLnRvb2xNYXAuc2V0KGZ1bmN0aW9uVG9vbC5uYW1lLCBmdW5jdGlvblRvb2wuZm4pXG4gIH1cbn1cblxuZXhwb3J0IHsgQUkgfVxuIl19
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,46 +1,20 @@
|
|
|
1
1
|
import type { SDKRequestInterface } from '@cloudbase/adapter-interface';
|
|
2
2
|
import type { ICloudbase } from '@cloudbase/types';
|
|
3
|
+
import { AI } from './AI';
|
|
3
4
|
import { Bot } from './bot';
|
|
4
5
|
import * as models from './models';
|
|
5
|
-
import * as types from './type';
|
|
6
6
|
import * as utils from './utils';
|
|
7
|
-
declare const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
HunYuanBetaModel: typeof models.HunYuanBetaModel;
|
|
18
|
-
ArkModel: typeof models.ArkModel;
|
|
19
|
-
DashScopeModel: typeof models.DashScopeModel;
|
|
20
|
-
YiModel: typeof models.YiModel;
|
|
21
|
-
MoonshotModel: typeof models.MoonshotModel;
|
|
22
|
-
ZhiPuModel: typeof models.ZhiPuModel;
|
|
7
|
+
declare const restModels: {
|
|
8
|
+
ZhiPuSimpleModel: typeof models.ZhiPuSimpleModel;
|
|
9
|
+
HunYuanBetaSimpleModel: typeof models.HunYuanBetaSimpleModel;
|
|
10
|
+
HunYuanSimpleModel: typeof models.HunYuanSimpleModel;
|
|
11
|
+
ArkSimpleModel: typeof models.ArkSimpleModel;
|
|
12
|
+
DSSimpleModel: typeof models.DSSimpleModel;
|
|
13
|
+
YiSimpleModel: typeof models.YiSimpleModel;
|
|
14
|
+
MoonshotSimpleModel: typeof models.MoonshotSimpleModel;
|
|
15
|
+
ReactModel: typeof models.ReactModel;
|
|
16
|
+
toolMap: Map<string, CallableFunction>;
|
|
23
17
|
};
|
|
24
|
-
declare class AI {
|
|
25
|
-
private req;
|
|
26
|
-
baseUrl: string;
|
|
27
|
-
aiBaseUrl: string;
|
|
28
|
-
aiBotBaseUrl: string;
|
|
29
|
-
bot: Bot;
|
|
30
|
-
constructor(req: SDKRequestInterface, baseUrl: string);
|
|
31
|
-
createModel<T extends keyof typeof MODELS>(model: T): InstanceType<{
|
|
32
|
-
hunyuan: typeof models.HunYuanModel;
|
|
33
|
-
'hunyuan-beta': typeof models.HunYuanBetaModel;
|
|
34
|
-
ark: typeof models.ArkModel;
|
|
35
|
-
dashscope: typeof models.DashScopeModel;
|
|
36
|
-
'01-ai': typeof models.YiModel;
|
|
37
|
-
moonshot: typeof models.MoonshotModel;
|
|
38
|
-
zhipu: typeof models.ZhiPuModel;
|
|
39
|
-
}[T]>;
|
|
40
|
-
registerModel(name: string, model: types.ChatModelConstructor): void;
|
|
41
|
-
modelRequest: types.ModelReq;
|
|
42
|
-
botRequest: types.BotReq;
|
|
43
|
-
}
|
|
44
18
|
interface IHandleRequestInstance {
|
|
45
19
|
req: SDKRequestInterface;
|
|
46
20
|
}
|
|
@@ -56,4 +30,5 @@ interface ICreateAi {
|
|
|
56
30
|
}
|
|
57
31
|
declare function createAi({ env, baseUrl, req, getAccessToken, handleReqInstance }: ICreateAi): AI;
|
|
58
32
|
declare function registerAi(app: ICloudbase): void;
|
|
59
|
-
export { AI, Bot, createAi, restModels as models, registerAi,
|
|
33
|
+
export { AI, Bot, createAi, restModels as models, registerAi, utils };
|
|
34
|
+
export * from './type';
|
package/dist/cjs/index.js
CHANGED
|
@@ -33,6 +33,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
37
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
38
|
+
};
|
|
36
39
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
40
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
41
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -81,85 +84,17 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
81
84
|
return t;
|
|
82
85
|
};
|
|
83
86
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
84
|
-
exports.utils = exports.
|
|
87
|
+
exports.utils = exports.registerAi = exports.models = exports.createAi = exports.Bot = exports.AI = void 0;
|
|
88
|
+
var AI_1 = require("./AI");
|
|
89
|
+
Object.defineProperty(exports, "AI", { enumerable: true, get: function () { return AI_1.AI; } });
|
|
85
90
|
var bot_1 = require("./bot");
|
|
86
91
|
Object.defineProperty(exports, "Bot", { enumerable: true, get: function () { return bot_1.Bot; } });
|
|
87
92
|
var models = __importStar(require("./models"));
|
|
88
|
-
var types = __importStar(require("./type"));
|
|
89
|
-
exports.types = types;
|
|
90
93
|
var utils = __importStar(require("./utils"));
|
|
91
94
|
exports.utils = utils;
|
|
92
95
|
var COMPONENT_NAME = 'ai';
|
|
93
96
|
var MODELS = models.MODELS, restModels = __rest(models, ["MODELS"]);
|
|
94
97
|
exports.models = restModels;
|
|
95
|
-
var AI = (function () {
|
|
96
|
-
function AI(req, baseUrl) {
|
|
97
|
-
var _this = this;
|
|
98
|
-
this.req = req;
|
|
99
|
-
this.baseUrl = baseUrl;
|
|
100
|
-
this.modelRequest = function (_a) {
|
|
101
|
-
var url = _a.url, data = _a.data, headers = _a.headers, stream = _a.stream;
|
|
102
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
103
|
-
return __generator(this, function (_b) {
|
|
104
|
-
switch (_b.label) {
|
|
105
|
-
case 0: return [4, this.req.fetch({
|
|
106
|
-
method: 'post',
|
|
107
|
-
headers: __assign({}, headers),
|
|
108
|
-
body: JSON.stringify(data),
|
|
109
|
-
url: url,
|
|
110
|
-
stream: stream,
|
|
111
|
-
})];
|
|
112
|
-
case 1: return [2, (_b.sent()).data];
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
this.botRequest = function (_a) {
|
|
118
|
-
var method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, headers = _a.headers, stream = _a.stream;
|
|
119
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
120
|
-
function objectToParam(obj) {
|
|
121
|
-
return Object.entries(obj)
|
|
122
|
-
.map(function (_a) {
|
|
123
|
-
var key = _a[0], value = _a[1];
|
|
124
|
-
return "".concat(key, "=").concat(value);
|
|
125
|
-
})
|
|
126
|
-
.join('&');
|
|
127
|
-
}
|
|
128
|
-
return __generator(this, function (_c) {
|
|
129
|
-
switch (_c.label) {
|
|
130
|
-
case 0:
|
|
131
|
-
if (!(method === 'get')) return [3, 2];
|
|
132
|
-
return [4, this.req.fetch({ url: "".concat(url, "?").concat(objectToParam(data)), method: method, headers: headers, stream: stream })];
|
|
133
|
-
case 1: return [2, (_c.sent()).data];
|
|
134
|
-
case 2: return [4, this.req.fetch({
|
|
135
|
-
url: url,
|
|
136
|
-
body: JSON.stringify(data),
|
|
137
|
-
headers: __assign({ 'Content-Type': 'application/json' }, headers),
|
|
138
|
-
stream: stream,
|
|
139
|
-
method: method,
|
|
140
|
-
})];
|
|
141
|
-
case 3: return [2, (_c.sent()).data];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
this.aiBaseUrl = "".concat(baseUrl, "/ai");
|
|
147
|
-
this.aiBotBaseUrl = "".concat(baseUrl, "/aibot");
|
|
148
|
-
this.bot = new bot_1.Bot(this.botRequest, this.aiBotBaseUrl);
|
|
149
|
-
}
|
|
150
|
-
AI.prototype.createModel = function (model) {
|
|
151
|
-
return new MODELS[model](this.modelRequest, this.aiBaseUrl);
|
|
152
|
-
};
|
|
153
|
-
AI.prototype.registerModel = function (name, model) {
|
|
154
|
-
if (MODELS[name] != null) {
|
|
155
|
-
console.warn("AI model ".concat(name, " already exists!"));
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
MODELS[name] = model;
|
|
159
|
-
};
|
|
160
|
-
return AI;
|
|
161
|
-
}());
|
|
162
|
-
exports.AI = AI;
|
|
163
98
|
var createRequestInstanceWithAccessTokenHeader = function (_a) {
|
|
164
99
|
var getAccessToken = _a.getAccessToken, req = _a.req;
|
|
165
100
|
var fetch = function (options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -209,7 +144,7 @@ function createAi(_a) {
|
|
|
209
144
|
}
|
|
210
145
|
return handleReqInstance({ req: req });
|
|
211
146
|
};
|
|
212
|
-
return new AI(getReq(), getBaseUrl());
|
|
147
|
+
return new AI_1.AI(getReq(), getBaseUrl());
|
|
213
148
|
}
|
|
214
149
|
exports.createAi = createAi;
|
|
215
150
|
function ai(options) {
|
|
@@ -242,4 +177,5 @@ function registerAi(app) {
|
|
|
242
177
|
}
|
|
243
178
|
}
|
|
244
179
|
exports.registerAi = registerAi;
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsNkJBQTJCO0FBcU1kLG9GQXJNSixTQUFHLE9BcU1JO0FBcE1oQiwrQ0FBa0M7QUFDbEMsNENBQStCO0FBbU0rQixzQkFBSztBQWxNbkUsNkNBQWdDO0FBa01xQyxzQkFBSztBQWhNMUUsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFBO0FBRW5CLElBQUEsTUFBTSxHQUFvQixNQUFNLE9BQTFCLEVBQUssVUFBVSxVQUFLLE1BQU0sRUFBbEMsVUFBeUIsQ0FBRixDQUFXO0FBOExFLDRCQUFNO0FBNUxoRDtJQUtFLFlBQW9CLEdBQXdCLEVBQVMsT0FBZTtRQUFwRSxpQkFJQztRQUptQixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFrQnBFLGlCQUFZLEdBQW1CLFVBQU8sRUFBOEI7Z0JBQTVCLEdBQUcsU0FBQSxFQUFFLElBQUksVUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLE1BQU0sWUFBQTs7OztnQ0FDaEUsV0FBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQ0FDbkIsTUFBTSxFQUFFLE1BQU07Z0NBQ2QsT0FBTyxlQUNGLE9BQU8sQ0FDWDtnQ0FDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0NBQzFCLEdBQUcsS0FBQTtnQ0FDSCxNQUFNLFFBQUE7NkJBQ1AsQ0FBQyxFQUFBO2dDQVRxRSxXQUFBLENBQ3ZFLFNBUUUsQ0FDSCxDQUFDLElBQUksRUFBQTs7OztTQUFBLENBQUE7UUFFTixlQUFVLEdBQWlCLFVBQU8sRUFBMkM7Z0JBQXpDLE1BQU0sWUFBQSxFQUFFLEdBQUcsU0FB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IHsgSUZldGNoT3B0aW9ucywgU0RLUmVxdWVzdEludGVyZmFjZSB9IGZyb20gJ0BjbG91ZGJhc2UvYWRhcHRlci1pbnRlcmZhY2UnXG5pbXBvcnQgdHlwZSB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBJQ2xvdWRiYXNlQ29tcG9uZW50IH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb21wb25lbnQnXG5pbXBvcnQgeyBCb3QgfSBmcm9tICcuL2JvdCdcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscydcbmltcG9ydCAqIGFzIHR5cGVzIGZyb20gJy4vdHlwZSdcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IENPTVBPTkVOVF9OQU1FID0gJ2FpJ1xuXG5jb25zdCB7IE1PREVMUywgLi4ucmVzdE1vZGVscyB9ID0gbW9kZWxzXG5cbmNsYXNzIEFJIHtcbiAgcHVibGljIGFpQmFzZVVybDogc3RyaW5nXG4gIHB1YmxpYyBhaUJvdEJhc2VVcmw6IHN0cmluZ1xuICBwdWJsaWMgYm90OiBCb3RcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogU0RLUmVxdWVzdEludGVyZmFjZSwgcHVibGljIGJhc2VVcmw6IHN0cmluZykge1xuICAgIHRoaXMuYWlCYXNlVXJsID0gYCR7YmFzZVVybH0vYWlgXG4gICAgdGhpcy5haUJvdEJhc2VVcmwgPSBgJHtiYXNlVXJsfS9haWJvdGBcbiAgICB0aGlzLmJvdCA9IG5ldyBCb3QodGhpcy5ib3RSZXF1ZXN0LCB0aGlzLmFpQm90QmFzZVVybClcbiAgfVxuXG4gIGNyZWF0ZU1vZGVsPFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgTU9ERUxTPihtb2RlbDogVCkge1xuICAgIHJldHVybiBuZXcgTU9ERUxTW21vZGVsXSh0aGlzLm1vZGVsUmVxdWVzdCwgdGhpcy5haUJhc2VVcmwpIGFzIEluc3RhbmNlVHlwZTwodHlwZW9mIE1PREVMUylbVF0+XG4gIH1cblxuICByZWdpc3Rlck1vZGVsKG5hbWU6IHN0cmluZywgbW9kZWw6IHR5cGVzLkNoYXRNb2RlbENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKE1PREVMU1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEFJIG1vZGVsICR7bmFtZX0gYWxyZWFkeSBleGlzdHMhYClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBNT0RFTFNbbmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgbW9kZWxSZXF1ZXN0OiB0eXBlcy5Nb2RlbFJlcSA9IGFzeW5jICh7IHVybCwgZGF0YSwgaGVhZGVycywgc3RyZWFtIH0pID0+IChcbiAgICBhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgICAgIHVybCxcbiAgICAgIHN0cmVhbSxcbiAgICB9KVxuICApLmRhdGFcblxuICBib3RSZXF1ZXN0OiB0eXBlcy5Cb3RSZXEgPSBhc3luYyAoeyBtZXRob2QsIHVybCwgZGF0YSA9IHt9LCBoZWFkZXJzLCBzdHJlYW0gfSkgPT4ge1xuICAgIGlmIChtZXRob2QgPT09ICdnZXQnKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMucmVxLmZldGNoKHsgdXJsOiBgJHt1cmx9PyR7b2JqZWN0VG9QYXJhbShkYXRhKX1gLCBtZXRob2QsIGhlYWRlcnMsIHN0cmVhbSB9KSkuZGF0YVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCB0aGlzLnJlcS5mZXRjaCh7XG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gICAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywgLi4uaGVhZGVycyB9LFxuICAgICAgICBzdHJlYW0sXG4gICAgICAgIG1ldGhvZCxcbiAgICAgIH0pXG4gICAgKS5kYXRhXG5cbiAgICBmdW5jdGlvbiBvYmplY3RUb1BhcmFtKG9iajogT2JqZWN0KSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgICAuam9pbignJicpXG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBJSGFuZGxlUmVxdWVzdEluc3RhbmNlIHtcbiAgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlXG59XG5cbnR5cGUgSGFuZGxlUmVxdWVzdEluc3RhbmNlRnVuYyA9IChvcHRpb25zOiBJSGFuZGxlUmVxdWVzdEluc3RhbmNlKSA9PiBTREtSZXF1ZXN0SW50ZXJmYWNlXG5cbmNvbnN0IGNyZWF0ZVJlcXVlc3RJbnN0YW5jZVdpdGhBY2Nlc3NUb2tlbkhlYWRlciA9ICh7XG4gIGdldEFjY2Vzc1Rva2VuLFxuICByZXEsXG59OiBJSGFuZGxlUmVxdWVzdEluc3RhbmNlICYgeyBnZXRBY2Nlc3NUb2tlbjogKCkgPT4gUHJvbWlzZTx7IGFjY2Vzc1Rva2VuOiBzdHJpbmcgfT4gfSkgPT4ge1xuICBjb25zdCBmZXRjaDogdHlwZW9mIHJlcS5mZXRjaCA9IGFzeW5jIChvcHRpb25zOiBJRmV0Y2hPcHRpb25zICYgeyB0b2tlbj86IHN0cmluZyB9KSA9PiB7XG4gICAgaWYgKHR5cGVvZiByZXEuZmV0Y2ggIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVxLmZldGNoIGlzIG5vdCBhIGZ1bmN0aW9uJylcbiAgICB9XG5cbiAgICBjb25zdCB7IHRva2VuLCBoZWFkZXJzID0ge30sIC4uLnJlc3RPcHRpb25zIH0gPSBvcHRpb25zXG4gICAgbGV0IGFjY2Vzc1Rva2VuOiBzdHJpbmdcbiAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xuICAgICAgYWNjZXNzVG9rZW4gPSB0b2tlblxuICAgIH0gZWxzZSB7XG4gICAgICBhY2Nlc3NUb2tlbiA9IChhd2FpdCBnZXRBY2Nlc3NUb2tlbigpKS5hY2Nlc3NUb2tlblxuICAgIH1cblxuICAgIHJldHVybiByZXEuZmV0Y2goe1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7YWNjZXNzVG9rZW59YCxcbiAgICAgICAgLi4uaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkb3dubG9hZDogcmVxLmRvd25sb2FkLFxuICAgIHBvc3Q6IHJlcS5wb3N0LFxuICAgIHVwbG9hZDogcmVxLnVwbG9hZCxcbiAgICBmZXRjaCxcbiAgfVxufVxuXG5pbnRlcmZhY2UgQUlJbml0T3B0aW9uIHtcbiAgYmFzZVVybD86IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgSUNyZWF0ZUFpIHtcbiAgcmVxOiBTREtSZXF1ZXN0SW50ZXJmYWNlXG4gIGJhc2VVcmw/OiBzdHJpbmdcbiAgZW52Pzogc3RyaW5nXG4gIGdldEFjY2Vzc1Rva2VuPzogKCkgPT4gUHJvbWlzZTx7IGFjY2Vzc1Rva2VuOiBzdHJpbmcgfT5cbiAgaGFuZGxlUmVxSW5zdGFuY2U/OiBIYW5kbGVSZXF1ZXN0SW5zdGFuY2VGdW5jXG59XG5cbi8qKlxuICog5pyA566A5Zyw5Yib5bu65LiA5Liq5o6l5LqR5byA5Y+R572R5YWz5pyN5Yqh55qEIGBBSWAg5a6e5L6L77yM6K+35rGC5pe25Lya6Ieq5Yqo5bim5LiK6Ym05p2D6K+35rGC5aS044CCXG4gKiDlj6rpnIDopoHkvKDlhaXvvJpcbiAqXG4gKiAtIGBnZXRBY2Nlc3NUb2tlbmA6IOiOt+WPliBhY2Nlc3NUb2tlbiDnmoTlh73mlbBcbiAqIC0gYHJlcWA6IOivt+axguWHveaVsO+8jOS4gOiIrOS7jiBhZGFwdGVyIOS4iuaLv1xuICogLSBgZW52YDog5LqR5byA5Y+R546v5aKDIElEXG4gKlxuICog5YW25LuW5Y+C5pWw5Y+v5oyJ6ZyA5Lyg5YWl6KaG55uW5Ye95pWw6YC76L6R44CCXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUFpKHsgZW52LCBiYXNlVXJsLCByZXEsIGdldEFjY2Vzc1Rva2VuLCBoYW5kbGVSZXFJbnN0YW5jZSB9OiBJQ3JlYXRlQWkpIHtcbiAgY29uc3QgZ2V0QmFzZVVybCA9ICgpID0+IHtcbiAgICBpZiAoYmFzZVVybCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gYmFzZVVybFxuICAgIH1cbiAgICBpZiAoZW52ID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYGVudmAgaXMgcmVxdWlyZWQgd2hlbiBgYmFzZVVybGAgaXMgbm90IHByb3ZpZGVkIScpXG4gICAgfVxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uYXBpLnRjbG91ZGJhc2VnYXRld2F5LmNvbS92MWBcbiAgfVxuXG4gIGNvbnN0IGdldFJlcSA9ICgpID0+IHtcbiAgICBpZiAoaGFuZGxlUmVxSW5zdGFuY2UgPT0gbnVsbCkge1xuICAgICAgaWYgKGdldEFjY2Vzc1Rva2VuID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdgZ2V0QWNjZXNzVG9rZW5gIGlzIHJlcXVpcmVkIHdoZW4gYGhhbmRsZVJlcUluc3RhbmNlYCBpcyBub3QgcHJvdmlkZWQhJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBjcmVhdGVSZXF1ZXN0SW5zdGFuY2VXaXRoQWNjZXNzVG9rZW5IZWFkZXIoeyByZXEsIGdldEFjY2Vzc1Rva2VuIH0pXG4gICAgfVxuICAgIHJldHVybiBoYW5kbGVSZXFJbnN0YW5jZSh7IHJlcSB9KVxuICB9XG5cbiAgcmV0dXJuIG5ldyBBSShnZXRSZXEoKSwgZ2V0QmFzZVVybCgpKVxufVxuXG4vKipcbiAqIOWIm+W7uiBgQUlgIOWunuS+i+OAglxuICog6K+l5Ye95pWw5oyC6L295ZyoIGpzIHNkayDnmoQgQ2xvdWRiYXNlIOWunuS+i+S4iuOAglxuICog6K+l5Ye95pWw6LCD55So5LqG5pys5qih5Z2X5pq06Zyy55qEIGBjcmVhdGVBaWAg5Ye95pWw77yM5L2G6LCD55So5pe26YCa6L+H5Lyg5YWl5Y+C5pWw5YGa5LqG6YC76L6R6KaG55uW77yaXG4gKlxuICogLSDkvKDlhaXku44gQ2xvdWRiYXNlIOWunuS+i+S4iueahOS4reW/g+eahCBgcmVxYFxuICogLSDkvKDlhaXku44gQ2xvdWRiYXNlIOWunuS+i+S4iuaLv+WIsOeahCBgYmFzZVVybGBcbiAqIC0g5Lyg5YWl5LiA5Liq5LiN5aSE55CGIGByZXFgIOeahCBgaGFuZGxlUmVxSW5zdGFuY2Vg77yM55Sx5LqOIGByZXFgIOaYr+S7jiBDbG91ZGJhc2Ug5a6e5L6L5LiK5ou/5Yiw55qE77yM6L+Z5Liq5Lit5b+D55qEIGByZXFgIOW3sue7j+WPr+eUqOS6hlxuICogLSDkuI3nlKjkvKDlhaUgYGVudmAg5LqG77yM5Zug5Li65bey57uP5Lyg5LqGIGBiYXNlVXJsYFxuICogLSDkuI3nlKjkvKDlhaUgYGdldEFjY2Vzc1Rva2VuYCDkuobvvIzlm6DkuLrkvKDkuoYgYGhhbmRsZVJlcUluc3RhbmNlYFxuICovXG5mdW5jdGlvbiBhaShcbiAgdGhpczogSUNsb3VkYmFzZSAmIHsgZ2V0RW5kUG9pbnRXaXRoS2V5OiAoa2V5OiAnR0FURVdBWScpID0+IHsgQkFTRV9VUkw6IHN0cmluZzsgUFJPVE9DT0w6IHN0cmluZyB9IH0sXG4gIG9wdGlvbnM/OiBBSUluaXRPcHRpb24sXG4pIHtcbiAgY29uc3QgcmVxID0gdGhpcy5yZXF1ZXN0XG5cbiAgaWYgKHJlcS5mZXRjaCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbG91ZGJhc2UucmVxdWVzdC5mZXRjaCgpIHVuaW1wbGVtZW50ZWQhJylcbiAgfVxuXG4gIGNvbnN0IGdldFVybEZyb21DbG91ZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IEJBU0VfVVJMLCBQUk9UT0NPTCB9ID0gdGhpcy5nZXRFbmRQb2ludFdpdGhLZXkoJ0dBVEVXQVknKVxuICAgIHJldHVybiBgJHtQUk9UT0NPTH0ke0JBU0VfVVJMfWBcbiAgfVxuXG4gIGNvbnN0IGJhc2VVcmwgPSBvcHRpb25zPy5iYXNlVXJsID8/IGdldFVybEZyb21DbG91ZCgpXG5cbiAgcmV0dXJuIGNyZWF0ZUFpKHsgcmVxLCBiYXNlVXJsLCBoYW5kbGVSZXFJbnN0YW5jZTogKHsgcmVxIH0pID0+IHJlcSB9KVxufVxuXG5jb25zdCBjb21wb25lbnQ6IElDbG91ZGJhc2VDb21wb25lbnQgPSB7XG4gIG5hbWU6IENPTVBPTkVOVF9OQU1FLFxuICBlbnRpdHk6IHsgYWkgfSxcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJBaShhcHA6IElDbG91ZGJhc2UpIHtcbiAgdHJ5IHtcbiAgICBhcHAucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cbn1cblxuZXhwb3J0IHsgQUksIEJvdCwgY3JlYXRlQWksIHJlc3RNb2RlbHMgYXMgbW9kZWxzLCByZWdpc3RlckFpLCB0eXBlcywgdXRpbHMgfVxuIl19
|
|
180
|
+
__exportStar(require("./type"), exports);
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsMkJBQXlCO0FBMkloQixtRkEzSUEsT0FBRSxPQTJJQTtBQTFJWCw2QkFBMkI7QUEwSWQsb0ZBMUlKLFNBQUcsT0EwSUk7QUF6SWhCLCtDQUFrQztBQUNsQyw2Q0FBZ0M7QUF3SThCLHNCQUFLO0FBdEluRSxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUE7QUFFbkIsSUFBQSxNQUFNLEdBQW9CLE1BQU0sT0FBMUIsRUFBSyxVQUFVLFVBQUssTUFBTSxFQUFsQyxVQUF5QixDQUFGLENBQVc7QUFvSUUsNEJBQU07QUE1SGhELElBQU0sMENBQTBDLEdBQUcsVUFBQyxFQUdrQztRQUZwRixjQUFjLG9CQUFBLEVBQ2QsR0FBRyxTQUFBO0lBRUgsSUFBTSxLQUFLLEdBQXFCLFVBQU8sT0FBMkM7Ozs7O29CQUNoRixJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7d0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtxQkFDL0M7b0JBRU8sS0FBSyxHQUFtQyxPQUFPLE1BQTFDLEVBQUUsS0FBaUMsT0FBTyxRQUE1QixFQUFaLE9BQU8sbUJBQUcsRUFBRSxLQUFBLEVBQUssV0FBVyxVQUFLLE9BQU8sRUFBakQsb0JBQXVDLENBQUYsQ0FBWTt5QkFFbkQsQ0FBQSxLQUFLLElBQUksSUFBSSxDQUFBLEVBQWIsY0FBYTtvQkFDZixXQUFXLEdBQUcsS0FBSyxDQUFBOzt3QkFFSixXQUFNLGNBQWMsRUFBRSxFQUFBOztvQkFBckMsV0FBVyxHQUFHLENBQUMsU0FBc0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQTs7d0JBR3BELFdBQU8s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ZXF1ZXN0SW50ZXJmYWNlIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB0eXBlIHsgSUNsb3VkYmFzZSB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IEFJIH0gZnJvbSAnLi9BSSdcbmltcG9ydCB7IEJvdCB9IGZyb20gJy4vYm90J1xuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscydcblxuY29uc3QgQ09NUE9ORU5UX05BTUUgPSAnYWknXG5cbmNvbnN0IHsgTU9ERUxTLCAuLi5yZXN0TW9kZWxzIH0gPSBtb2RlbHNcblxuaW50ZXJmYWNlIElIYW5kbGVSZXF1ZXN0SW5zdGFuY2Uge1xuICByZXE6IFNES1JlcXVlc3RJbnRlcmZhY2Vcbn1cblxudHlwZSBIYW5kbGVSZXF1ZXN0SW5zdGFuY2VGdW5jID0gKG9wdGlvbnM6IElIYW5kbGVSZXF1ZXN0SW5zdGFuY2UpID0+IFNES1JlcXVlc3RJbnRlcmZhY2VcblxuY29uc3QgY3JlYXRlUmVxdWVzdEluc3RhbmNlV2l0aEFjY2Vzc1Rva2VuSGVhZGVyID0gKHtcbiAgZ2V0QWNjZXNzVG9rZW4sXG4gIHJlcSxcbn06IElIYW5kbGVSZXF1ZXN0SW5zdGFuY2UgJiB7IGdldEFjY2Vzc1Rva2VuOiAoKSA9PiBQcm9taXNlPHsgYWNjZXNzVG9rZW46IHN0cmluZyB9PiB9KSA9PiB7XG4gIGNvbnN0IGZldGNoOiB0eXBlb2YgcmVxLmZldGNoID0gYXN5bmMgKG9wdGlvbnM6IElGZXRjaE9wdGlvbnMgJiB7IHRva2VuPzogc3RyaW5nIH0pID0+IHtcbiAgICBpZiAodHlwZW9mIHJlcS5mZXRjaCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXEuZmV0Y2ggaXMgbm90IGEgZnVuY3Rpb24nKVxuICAgIH1cblxuICAgIGNvbnN0IHsgdG9rZW4sIGhlYWRlcnMgPSB7fSwgLi4ucmVzdE9wdGlvbnMgfSA9IG9wdGlvbnNcbiAgICBsZXQgYWNjZXNzVG9rZW46IHN0cmluZ1xuICAgIGlmICh0b2tlbiAhPSBudWxsKSB7XG4gICAgICBhY2Nlc3NUb2tlbiA9IHRva2VuXG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY2Vzc1Rva2VuID0gKGF3YWl0IGdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc1Rva2VuXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcS5mZXRjaCh7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHthY2Nlc3NUb2tlbn1gLFxuICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIC4uLnJlc3RPcHRpb25zLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRvd25sb2FkOiByZXEuZG93bmxvYWQsXG4gICAgcG9zdDogcmVxLnBvc3QsXG4gICAgdXBsb2FkOiByZXEudXBsb2FkLFxuICAgIGZldGNoLFxuICB9XG59XG5cbmludGVyZmFjZSBBSUluaXRPcHRpb24ge1xuICBiYXNlVXJsPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBJQ3JlYXRlQWkge1xuICByZXE6IFNES1JlcXVlc3RJbnRlcmZhY2VcbiAgYmFzZVVybD86IHN0cmluZ1xuICBlbnY/OiBzdHJpbmdcbiAgZ2V0QWNjZXNzVG9rZW4/OiAoKSA9PiBQcm9taXNlPHsgYWNjZXNzVG9rZW46IHN0cmluZyB9PlxuICBoYW5kbGVSZXFJbnN0YW5jZT86IEhhbmRsZVJlcXVlc3RJbnN0YW5jZUZ1bmNcbn1cblxuLyoqXG4gKiDmnIDnroDlnLDliJvlu7rkuIDkuKrmjqXkupHlvIDlj5HnvZHlhbPmnI3liqHnmoQgYEFJYCDlrp7kvovvvIzor7fmsYLml7bkvJroh6rliqjluKbkuIrpibTmnYPor7fmsYLlpLTjgIJcbiAqIOWPqumcgOimgeS8oOWFpe+8mlxuICpcbiAqIC0gYGdldEFjY2Vzc1Rva2VuYDog6I635Y+WIGFjY2Vzc1Rva2VuIOeahOWHveaVsFxuICogLSBgcmVxYDog6K+35rGC5Ye95pWw77yM5LiA6Iis5LuOIGFkYXB0ZXIg5LiK5ou/XG4gKiAtIGBlbnZgOiDkupHlvIDlj5Hnjq/looMgSURcbiAqXG4gKiDlhbbku5blj4LmlbDlj6/mjInpnIDkvKDlhaXopobnm5blh73mlbDpgLvovpHjgIJcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQWkoeyBlbnYsIGJhc2VVcmwsIHJlcSwgZ2V0QWNjZXNzVG9rZW4sIGhhbmRsZVJlcUluc3RhbmNlIH06IElDcmVhdGVBaSkge1xuICBjb25zdCBnZXRCYXNlVXJsID0gKCkgPT4ge1xuICAgIGlmIChiYXNlVXJsICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBiYXNlVXJsXG4gICAgfVxuICAgIGlmIChlbnYgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdgZW52YCBpcyByZXF1aXJlZCB3aGVuIGBiYXNlVXJsYCBpcyBub3QgcHJvdmlkZWQhJylcbiAgICB9XG4gICAgcmV0dXJuIGBodHRwczovLyR7ZW52fS5hcGkudGNsb3VkYmFzZWdhdGV3YXkuY29tL3YxYFxuICB9XG5cbiAgY29uc3QgZ2V0UmVxID0gKCkgPT4ge1xuICAgIGlmIChoYW5kbGVSZXFJbnN0YW5jZSA9PSBudWxsKSB7XG4gICAgICBpZiAoZ2V0QWNjZXNzVG9rZW4gPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2BnZXRBY2Nlc3NUb2tlbmAgaXMgcmVxdWlyZWQgd2hlbiBgaGFuZGxlUmVxSW5zdGFuY2VgIGlzIG5vdCBwcm92aWRlZCEnKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGNyZWF0ZVJlcXVlc3RJbnN0YW5jZVdpdGhBY2Nlc3NUb2tlbkhlYWRlcih7IHJlcSwgZ2V0QWNjZXNzVG9rZW4gfSlcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZVJlcUluc3RhbmNlKHsgcmVxIH0pXG4gIH1cblxuICByZXR1cm4gbmV3IEFJKGdldFJlcSgpLCBnZXRCYXNlVXJsKCkpXG59XG5cbi8qKlxuICog5Yib5bu6IGBBSWAg5a6e5L6L44CCXG4gKiDor6Xlh73mlbDmjILovb3lnKgganMgc2RrIOeahCBDbG91ZGJhc2Ug5a6e5L6L5LiK44CCXG4gKiDor6Xlh73mlbDosIPnlKjkuobmnKzmqKHlnZfmmrTpnLLnmoQgYGNyZWF0ZUFpYCDlh73mlbDvvIzkvYbosIPnlKjml7bpgJrov4fkvKDlhaXlj4LmlbDlgZrkuobpgLvovpHopobnm5bvvJpcbiAqXG4gKiAtIOS8oOWFpeS7jiBDbG91ZGJhc2Ug5a6e5L6L5LiK55qE5Lit5b+D55qEIGByZXFgXG4gKiAtIOS8oOWFpeS7jiBDbG91ZGJhc2Ug5a6e5L6L5LiK5ou/5Yiw55qEIGBiYXNlVXJsYFxuICogLSDkvKDlhaXkuIDkuKrkuI3lpITnkIYgYHJlcWAg55qEIGBoYW5kbGVSZXFJbnN0YW5jZWDvvIznlLHkuo4gYHJlcWAg5piv5LuOIENsb3VkYmFzZSDlrp7kvovkuIrmi7/liLDnmoTvvIzov5nkuKrkuK3lv4PnmoQgYHJlcWAg5bey57uP5Y+v55So5LqGXG4gKiAtIOS4jeeUqOS8oOWFpSBgZW52YCDkuobvvIzlm6DkuLrlt7Lnu4/kvKDkuoYgYGJhc2VVcmxgXG4gKiAtIOS4jeeUqOS8oOWFpSBgZ2V0QWNjZXNzVG9rZW5gIOS6hu+8jOWboOS4uuS8oOS6hiBgaGFuZGxlUmVxSW5zdGFuY2VgXG4gKi9cbmZ1bmN0aW9uIGFpKFxuICB0aGlzOiBJQ2xvdWRiYXNlICYgeyBnZXRFbmRQb2ludFdpdGhLZXk6IChrZXk6ICdHQVRFV0FZJykgPT4geyBCQVNFX1VSTDogc3RyaW5nOyBQUk9UT0NPTDogc3RyaW5nIH0gfSxcbiAgb3B0aW9ucz86IEFJSW5pdE9wdGlvbixcbikge1xuICBjb25zdCByZXEgPSB0aGlzLnJlcXVlc3RcblxuICBpZiAocmVxLmZldGNoID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nsb3VkYmFzZS5yZXF1ZXN0LmZldGNoKCkgdW5pbXBsZW1lbnRlZCEnKVxuICB9XG5cbiAgY29uc3QgZ2V0VXJsRnJvbUNsb3VkID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgQkFTRV9VUkwsIFBST1RPQ09MIH0gPSB0aGlzLmdldEVuZFBvaW50V2l0aEtleSgnR0FURVdBWScpXG4gICAgcmV0dXJuIGAke1BST1RPQ09MfSR7QkFTRV9VUkx9YFxuICB9XG5cbiAgY29uc3QgYmFzZVVybCA9IG9wdGlvbnM/LmJhc2VVcmwgPz8gZ2V0VXJsRnJvbUNsb3VkKClcblxuICByZXR1cm4gY3JlYXRlQWkoeyByZXEsIGJhc2VVcmwsIGhhbmRsZVJlcUluc3RhbmNlOiAoeyByZXEgfSkgPT4gcmVxIH0pXG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIGVudGl0eTogeyBhaSB9LFxufVxuXG5mdW5jdGlvbiByZWdpc3RlckFpKGFwcDogSUNsb3VkYmFzZSkge1xuICB0cnkge1xuICAgIGFwcC5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oZSlcbiAgfVxufVxuXG5leHBvcnQgeyBBSSwgQm90LCBjcmVhdGVBaSwgcmVzdE1vZGVscyBhcyBtb2RlbHMsIHJlZ2lzdGVyQWksIHV0aWxzIH1cbmV4cG9ydCAqIGZyb20gJy4vdHlwZSdcbiJdfQ==
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import type { ChatModel, StreamTextResult, ModelReq } from '../../type';
|
|
4
|
-
export declare class ArkModel implements ChatModel {
|
|
1
|
+
import type { ModelReq, BaseChatModelInput, SimpleChatModel, DoGenerateOutput, DoStreamOutput } from '../../type';
|
|
2
|
+
export declare class ArkSimpleModel implements SimpleChatModel {
|
|
5
3
|
private req;
|
|
6
4
|
baseUrl: string;
|
|
7
5
|
subUrl: string;
|
|
8
6
|
constructor(req: ModelReq, baseUrl: string, subUrl?: string);
|
|
9
7
|
private get url();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
rawResponse: ArkGenerateTextOutput;
|
|
13
|
-
}>;
|
|
14
|
-
streamText(data: ArkInputData): Promise<ArkModelStreamResult>;
|
|
8
|
+
doGenerate(data: BaseChatModelInput): Promise<DoGenerateOutput>;
|
|
9
|
+
doStream(data: BaseChatModelInput): Promise<DoStreamOutput>;
|
|
15
10
|
}
|
|
16
|
-
declare class ArkModelStreamResult implements StreamTextResult {
|
|
17
|
-
private _eventSourceStream;
|
|
18
|
-
constructor(_stream: ReadableStream<Uint8Array>);
|
|
19
|
-
private get teeedStream();
|
|
20
|
-
get eventSourceStream(): import("../../type").AsyncIterableReadableStream<ParsedEvent>;
|
|
21
|
-
get dataStream(): import("../../type").AsyncIterableReadableStream<ArkStreamTextOutput>;
|
|
22
|
-
get textStream(): import("../../type").AsyncIterableReadableStream<string>;
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
@@ -47,10 +47,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.
|
|
50
|
+
exports.ArkSimpleModel = void 0;
|
|
51
51
|
var utils_1 = require("../../utils");
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
function processInput(input) {
|
|
53
|
+
var messages = input.messages, model = input.model, temperature = input.temperature, tools = input.tools, top_p = input.top_p;
|
|
54
|
+
return __assign(__assign({}, input), { messages: messages, model: model, tools: tools === null || tools === void 0 ? void 0 : tools.map(function (tool) { return (__assign(__assign({}, tool), { function: __assign(__assign({}, tool.function), { parameters: JSON.parse(tool.function.parameters) }) })); }), top_p: top_p, temperature: temperature });
|
|
55
|
+
}
|
|
56
|
+
var ArkSimpleModel = (function () {
|
|
57
|
+
function ArkSimpleModel(req, baseUrl, subUrl) {
|
|
54
58
|
this.req = req;
|
|
55
59
|
this.baseUrl = baseUrl;
|
|
56
60
|
this.subUrl = 'ark/api/v3/chat/completions';
|
|
@@ -58,108 +62,67 @@ var ArkModel = (function () {
|
|
|
58
62
|
this.subUrl = subUrl;
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
|
-
Object.defineProperty(
|
|
65
|
+
Object.defineProperty(ArkSimpleModel.prototype, "url", {
|
|
62
66
|
get: function () {
|
|
63
67
|
return "".concat(this.baseUrl, "/").concat(this.subUrl);
|
|
64
68
|
},
|
|
65
69
|
enumerable: false,
|
|
66
70
|
configurable: true
|
|
67
71
|
});
|
|
68
|
-
|
|
69
|
-
var _a, _b, _c, _d;
|
|
72
|
+
ArkSimpleModel.prototype.doGenerate = function (data) {
|
|
70
73
|
return __awaiter(this, void 0, void 0, function () {
|
|
71
74
|
var res;
|
|
72
|
-
return __generator(this, function (
|
|
73
|
-
switch (
|
|
75
|
+
return __generator(this, function (_a) {
|
|
76
|
+
switch (_a.label) {
|
|
74
77
|
case 0: return [4, this.req({
|
|
75
78
|
url: this.url,
|
|
76
|
-
data: __assign(__assign({}, data), { stream: false }),
|
|
79
|
+
data: __assign(__assign({}, processInput(data)), { stream: false }),
|
|
77
80
|
stream: false,
|
|
78
81
|
})];
|
|
79
82
|
case 1:
|
|
80
|
-
res = (
|
|
81
|
-
return [2, {
|
|
82
|
-
text: (_d = (_c = (_b = (_a = res === null || res === void 0 ? void 0 : res.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content) !== null && _d !== void 0 ? _d : '',
|
|
83
|
-
rawResponse: res,
|
|
84
|
-
}];
|
|
83
|
+
res = (_a.sent());
|
|
84
|
+
return [2, __assign(__assign({}, res), { rawResponse: res })];
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
ArkSimpleModel.prototype.doStream = function (data) {
|
|
90
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
91
|
-
var stream;
|
|
91
|
+
var isToolCall, _stream, stream, arkStream, streamWithRaw;
|
|
92
92
|
return __generator(this, function (_a) {
|
|
93
93
|
switch (_a.label) {
|
|
94
|
-
case 0:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
case 0:
|
|
95
|
+
isToolCall = null;
|
|
96
|
+
return [4, this.req({
|
|
97
|
+
url: this.url,
|
|
98
|
+
data: __assign(__assign({}, processInput(data)), { stream: true }),
|
|
99
|
+
stream: true,
|
|
100
|
+
})];
|
|
99
101
|
case 1:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
_stream = _a.sent();
|
|
103
|
+
stream = (0, utils_1.toPolyfillReadable)(_stream);
|
|
104
|
+
arkStream = (0, utils_1.intoStandardStream)(stream);
|
|
105
|
+
streamWithRaw = arkStream.pipeThrough(new utils_1.TransformStream({
|
|
106
|
+
transform: function (chunk, controller) {
|
|
107
|
+
var newChoices = chunk.choices.map(function (choice) {
|
|
108
|
+
var message = choice.delta;
|
|
109
|
+
if (isToolCall == null)
|
|
110
|
+
isToolCall = (0, utils_1.isToolCallAssistantMessage)(message);
|
|
111
|
+
if (isToolCall) {
|
|
112
|
+
return __assign(__assign({}, choice), { finish_reason: 'tool_calls', delta: message });
|
|
113
|
+
}
|
|
114
|
+
return choice;
|
|
115
|
+
});
|
|
116
|
+
var newChunk = __assign(__assign({}, chunk), { choices: newChoices });
|
|
117
|
+
controller.enqueue(__assign(__assign({}, newChunk), { rawResponse: chunk }));
|
|
118
|
+
},
|
|
119
|
+
}));
|
|
120
|
+
return [2, (0, utils_1.createAsyncIterable)(streamWithRaw)];
|
|
102
121
|
}
|
|
103
122
|
});
|
|
104
123
|
});
|
|
105
124
|
};
|
|
106
|
-
return
|
|
107
|
-
}());
|
|
108
|
-
exports.ArkModel = ArkModel;
|
|
109
|
-
var ArkModelStreamResult = (function () {
|
|
110
|
-
function ArkModelStreamResult(_stream) {
|
|
111
|
-
var stream = (0, utils_1.toPolyfillReadable)(_stream);
|
|
112
|
-
this._eventSourceStream = stream
|
|
113
|
-
.pipeThrough(new utils_1.TextDecoderStream())
|
|
114
|
-
.pipeThrough((0, utils_1.createEventSourceParserTransformStream)());
|
|
115
|
-
}
|
|
116
|
-
Object.defineProperty(ArkModelStreamResult.prototype, "teeedStream", {
|
|
117
|
-
get: function () {
|
|
118
|
-
var _a = this._eventSourceStream.tee(), s1 = _a[0], s2 = _a[1];
|
|
119
|
-
this._eventSourceStream = s2;
|
|
120
|
-
return s1;
|
|
121
|
-
},
|
|
122
|
-
enumerable: false,
|
|
123
|
-
configurable: true
|
|
124
|
-
});
|
|
125
|
-
Object.defineProperty(ArkModelStreamResult.prototype, "eventSourceStream", {
|
|
126
|
-
get: function () {
|
|
127
|
-
return (0, utils_1.createAsyncIterable)(this.teeedStream);
|
|
128
|
-
},
|
|
129
|
-
enumerable: false,
|
|
130
|
-
configurable: true
|
|
131
|
-
});
|
|
132
|
-
Object.defineProperty(ArkModelStreamResult.prototype, "dataStream", {
|
|
133
|
-
get: function () {
|
|
134
|
-
return (0, utils_1.createAsyncIterable)(this.eventSourceStream.pipeThrough(new utils_1.TransformStream({
|
|
135
|
-
transform: function (chunk, controller) {
|
|
136
|
-
try {
|
|
137
|
-
var data = JSON.parse(chunk.data);
|
|
138
|
-
controller.enqueue(data);
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
if (chunk.data !== '[DONE]') {
|
|
142
|
-
console.warn('Error when transforming event source data to json', e);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
})));
|
|
147
|
-
},
|
|
148
|
-
enumerable: false,
|
|
149
|
-
configurable: true
|
|
150
|
-
});
|
|
151
|
-
Object.defineProperty(ArkModelStreamResult.prototype, "textStream", {
|
|
152
|
-
get: function () {
|
|
153
|
-
return (0, utils_1.createAsyncIterable)(this.dataStream.pipeThrough(new utils_1.TransformStream({
|
|
154
|
-
transform: function (chunk, controller) {
|
|
155
|
-
var _a, _b, _c, _d;
|
|
156
|
-
controller.enqueue((_d = (_c = (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content) !== null && _d !== void 0 ? _d : '');
|
|
157
|
-
},
|
|
158
|
-
})));
|
|
159
|
-
},
|
|
160
|
-
enumerable: false,
|
|
161
|
-
configurable: true
|
|
162
|
-
});
|
|
163
|
-
return ArkModelStreamResult;
|
|
125
|
+
return ArkSimpleModel;
|
|
164
126
|
}());
|
|
165
|
-
|
|
127
|
+
exports.ArkSimpleModel = ArkSimpleModel;
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWxzL0Fyay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQU1vQjtBQVdwQixTQUFTLFlBQVksQ0FBQyxLQUF5QjtJQUNyQyxJQUFBLFFBQVEsR0FBdUMsS0FBSyxTQUE1QyxFQUFFLEtBQUssR0FBZ0MsS0FBSyxNQUFyQyxFQUFFLFdBQVcsR0FBbUIsS0FBSyxZQUF4QixFQUFFLEtBQUssR0FBWSxLQUFLLE1BQWpCLEVBQUUsS0FBSyxHQUFLLEtBQUssTUFBVixDQUFVO0lBRTVELDZCQUNLLEtBQUssS0FDUixRQUFRLFVBQUEsRUFDUixLQUFLLE9BQUEsRUFDTCxLQUFLLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEdBQUcsQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLHVCQUNyQixJQUFJLEtBQ1AsUUFBUSx3QkFBTyxJQUFJLENBQUMsUUFBUSxLQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQzlFLEVBSHdCLENBR3hCLENBQUMsRUFDSCxLQUFLLE9BQUEsRUFDTCxXQUFXLGFBQUEsSUFDWjtBQUNILENBQUM7QUFFRDtJQUVFLHdCQUFvQixHQUFhLEVBQVMsT0FBZSxFQUFFLE1BQWU7UUFBdEQsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFEbEQsV0FBTSxHQUFHLDZCQUE2QixDQUFBO1FBRTNDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtTQUNyQjtJQUNILENBQUM7SUFFRCxzQkFBWSwrQkFBRzthQUFmO1lBQ0UsT0FBTyxVQUFHLElBQUksQ0FBQyxPQUFPLGNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFBO1FBQ3pDLENBQUM7OztPQUFBO0lBRVksbUNBQVUsR0FBdkIsVUFBd0IsSUFBd0I7Ozs7OzRCQUNqQyxXQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7NEJBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRzs0QkFDYixJQUFJLHdCQUNDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FDckIsTUFBTSxFQUFFLEtBQUssR0FDZDs0QkFDRCxNQUFNLEVBQUUsS0FBSzt5QkFDZCxDQUFDLEVBQUE7O3dCQVBJLEdBQUcsR0FBRyxDQUFDLFNBT1gsQ0FBMEI7d0JBQzVCLGlDQUFZLEdBQUcsS0FBRSxXQUFXLEVBQUUsR0FBRyxLQUFFOzs7O0tBQ3BDO0lBRVksaUNBQVEsR0FBckIsVUFBc0IsSUFBd0I7Ozs7Ozt3QkFDeEMsVUFBVSxHQUFtQixJQUFJLENBQUE7d0JBQ3JCLFdBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztnQ0FDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dDQUNiLElBQUksd0JBQ0MsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUNyQixNQUFNLEVBQUUsSUFBSSxHQUNiO2dDQUNELE1BQU0sRUFBRSxJQUFJOzZCQUNiLENBQUMsRUFBQTs7d0JBUEksT0FBTyxHQUFHLFNBT2Q7d0JBQ0ksTUFBTSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsT0FBTyxDQUFtQixDQUFBO3dCQUV0RCxTQUFTLEdBQUcsSUFBQSwwQkFBa0IsRUFBc0IsTUFBTSxDQUFDLENBQUE7d0JBQzNELGFBQWEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQWUsQ0FBdUU7NEJBQ3BJLFNBQVMsWUFBQyxLQUFLLEVBQUUsVUFBVTtnQ0FDekIsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29DQUMxQyxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO29DQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJO3dDQUFFLFVBQVUsR0FBRyxJQUFBLGtDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFBO29DQUN4RSxJQUFJLFVBQVUsRUFBRTt3Q0FDZCw2QkFDSyxNQUFNLEtBQ1QsYUFBYSxFQUFFLFlBQXFCLEVBQ3BDLEtBQUssRUFBRSxPQUFPLElBQ2Y7cUNBQ0Y7b0NBQ0QsT0FBTyxNQUFNLENBQUE7Z0NBQ2YsQ0FBQyxDQUFDLENBQUE7Z0NBQ0YsSUFBTSxRQUFRLHlCQUFRLEtBQUssS0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFFLENBQUE7Z0NBQ2xELFVBQVUsQ0FBQyxPQUFPLHVCQUFNLFFBQVEsS0FBRSxXQUFXLEVBQUUsS0FBSyxJQUFHLENBQUE7NEJBQ3pELENBQUM7eUJBQ0YsQ0FBQyxDQUFFLENBQUE7d0JBRUosV0FBTyxJQUFBLDJCQUFtQixFQUFDLGFBQWEsQ0FBQyxFQUFBOzs7O0tBQzFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBMURELElBMERDO0FBMURZLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQXN5bmNJdGVyYWJsZSxcbiAgVHJhbnNmb3JtU3RyZWFtLFxuICB0b1BvbHlmaWxsUmVhZGFibGUsXG4gIGludG9TdGFuZGFyZFN0cmVhbSxcbiAgaXNUb29sQ2FsbEFzc2lzdGFudE1lc3NhZ2UsXG59IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBBcmtHZW5lcmF0ZVRleHRPdXRwdXQsIEFya0lucHV0RGF0YSwgQXJrU3RyZWFtVGV4dE91dHB1dCB9IGZyb20gJy4vdHlwZSdcbmltcG9ydCB0eXBlIHtcbiAgTW9kZWxSZXEsXG4gIEJhc2VDaGF0TW9kZWxJbnB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBEb0dlbmVyYXRlT3V0cHV0LFxuICBEb1N0cmVhbU91dHB1dCxcbiAgQmFzZURvU3RyZWFtT3V0cHV0Q2h1bmssXG59IGZyb20gJy4uLy4uL3R5cGUnXG5cbmZ1bmN0aW9uIHByb2Nlc3NJbnB1dChpbnB1dDogQmFzZUNoYXRNb2RlbElucHV0KTogQXJrSW5wdXREYXRhIHtcbiAgY29uc3QgeyBtZXNzYWdlcywgbW9kZWwsIHRlbXBlcmF0dXJlLCB0b29scywgdG9wX3AgfSA9IGlucHV0XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBtZXNzYWdlcyxcbiAgICBtb2RlbCxcbiAgICB0b29sczogdG9vbHM/Lm1hcCh0b29sID0+ICh7XG4gICAgICAuLi50b29sLFxuICAgICAgZnVuY3Rpb246IHsgLi4udG9vbC5mdW5jdGlvbiwgcGFyYW1ldGVyczogSlNPTi5wYXJzZSh0b29sLmZ1bmN0aW9uLnBhcmFtZXRlcnMpIH0sXG4gICAgfSkpLFxuICAgIHRvcF9wLFxuICAgIHRlbXBlcmF0dXJlLFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBcmtTaW1wbGVNb2RlbCBpbXBsZW1lbnRzIFNpbXBsZUNoYXRNb2RlbCB7XG4gIHB1YmxpYyBzdWJVcmwgPSAnYXJrL2FwaS92My9jaGF0L2NvbXBsZXRpb25zJ1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogTW9kZWxSZXEsIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcsIHN1YlVybD86IHN0cmluZykge1xuICAgIGlmIChzdWJVcmwgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJVcmwgPSBzdWJVcmxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmFzZVVybH0vJHt0aGlzLnN1YlVybH1gXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9HZW5lcmF0ZShkYXRhOiBCYXNlQ2hhdE1vZGVsSW5wdXQpOiBQcm9taXNlPERvR2VuZXJhdGVPdXRwdXQ+IHtcbiAgICBjb25zdCByZXMgPSAoYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0cmVhbTogZmFsc2UsXG4gICAgfSkpIGFzIEFya0dlbmVyYXRlVGV4dE91dHB1dFxuICAgIHJldHVybiB7IC4uLnJlcywgcmF3UmVzcG9uc2U6IHJlcyB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG9TdHJlYW0oZGF0YTogQmFzZUNoYXRNb2RlbElucHV0KTogUHJvbWlzZTxEb1N0cmVhbU91dHB1dD4ge1xuICAgIGxldCBpc1Rvb2xDYWxsOiBudWxsIHwgYm9vbGVhbiA9IG51bGxcbiAgICBjb25zdCBfc3RyZWFtID0gYXdhaXQgdGhpcy5yZXEoe1xuICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgLi4ucHJvY2Vzc0lucHV0KGRhdGEpLFxuICAgICAgICBzdHJlYW06IHRydWUsXG4gICAgICB9LFxuICAgICAgc3RyZWFtOiB0cnVlLFxuICAgIH0pXG4gICAgY29uc3Qgc3RyZWFtID0gdG9Qb2x5ZmlsbFJlYWRhYmxlKF9zdHJlYW0pIGFzIHR5cGVvZiBfc3RyZWFtXG5cbiAgICBjb25zdCBhcmtTdHJlYW0gPSBpbnRvU3RhbmRhcmRTdHJlYW08QXJrU3RyZWFtVGV4dE91dHB1dD4oc3RyZWFtKVxuICAgIGNvbnN0IHN0cmVhbVdpdGhSYXcgPSBhcmtTdHJlYW0ucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbTxBcmtTdHJlYW1UZXh0T3V0cHV0LCBCYXNlRG9TdHJlYW1PdXRwdXRDaHVuayAmIHsgcmF3UmVzcG9uc2U/OiBhbnkgfT4oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjaHVuay5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNob2ljZS5kZWx0YVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsID09IG51bGwpIGlzVG9vbENhbGwgPSBpc1Rvb2xDYWxsQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKVxuICAgICAgICAgIGlmIChpc1Rvb2xDYWxsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jaG9pY2UsXG4gICAgICAgICAgICAgIGZpbmlzaF9yZWFzb246ICd0b29sX2NhbGxzJyBhcyBjb25zdCxcbiAgICAgICAgICAgICAgZGVsdGE6IG1lc3NhZ2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjaG9pY2VcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgbmV3Q2h1bmsgPSB7IC4uLmNodW5rLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH1cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHsgLi4ubmV3Q2h1bmssIHJhd1Jlc3BvbnNlOiBjaHVuayB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICByZXR1cm4gY3JlYXRlQXN5bmNJdGVyYWJsZShzdHJlYW1XaXRoUmF3KVxuICB9XG59XG4iXX0=
|