@musistudio/claude-code-router 1.0.20 → 1.0.21
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/README.md +6 -2
- package/README_zh.md +6 -2
- package/dist/cli.js +696 -673
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -1517,19 +1517,19 @@ var require_process_warning = __commonJS({
|
|
|
1517
1517
|
if (typeof unlimited !== "boolean") throw new Error("Warning opts.unlimited must be a boolean");
|
|
1518
1518
|
code = code.toUpperCase();
|
|
1519
1519
|
let warningContainer = {
|
|
1520
|
-
[name]: function(a,
|
|
1520
|
+
[name]: function(a, b2, c) {
|
|
1521
1521
|
if (warning.emitted === true && warning.unlimited !== true) {
|
|
1522
1522
|
return;
|
|
1523
1523
|
}
|
|
1524
1524
|
warning.emitted = true;
|
|
1525
|
-
process.emitWarning(warning.format(a,
|
|
1525
|
+
process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
|
|
1526
1526
|
}
|
|
1527
1527
|
};
|
|
1528
1528
|
if (unlimited) {
|
|
1529
1529
|
warningContainer = {
|
|
1530
|
-
[name]: function(a,
|
|
1530
|
+
[name]: function(a, b2, c) {
|
|
1531
1531
|
warning.emitted = true;
|
|
1532
|
-
process.emitWarning(warning.format(a,
|
|
1532
|
+
process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
|
|
1533
1533
|
}
|
|
1534
1534
|
};
|
|
1535
1535
|
}
|
|
@@ -1538,12 +1538,12 @@ var require_process_warning = __commonJS({
|
|
|
1538
1538
|
warning.message = message;
|
|
1539
1539
|
warning.unlimited = unlimited;
|
|
1540
1540
|
warning.code = code;
|
|
1541
|
-
warning.format = function(a,
|
|
1541
|
+
warning.format = function(a, b2, c) {
|
|
1542
1542
|
let formatted;
|
|
1543
|
-
if (a &&
|
|
1544
|
-
formatted = format(message, a,
|
|
1545
|
-
} else if (a &&
|
|
1546
|
-
formatted = format(message, a,
|
|
1543
|
+
if (a && b2 && c) {
|
|
1544
|
+
formatted = format(message, a, b2, c);
|
|
1545
|
+
} else if (a && b2) {
|
|
1546
|
+
formatted = format(message, a, b2);
|
|
1547
1547
|
} else if (a) {
|
|
1548
1548
|
formatted = format(message, a);
|
|
1549
1549
|
} else {
|
|
@@ -7299,8 +7299,8 @@ var require_multistream = __commonJS({
|
|
|
7299
7299
|
};
|
|
7300
7300
|
}
|
|
7301
7301
|
}
|
|
7302
|
-
function compareByLevel(a,
|
|
7303
|
-
return a.level -
|
|
7302
|
+
function compareByLevel(a, b2) {
|
|
7303
|
+
return a.level - b2.level;
|
|
7304
7304
|
}
|
|
7305
7305
|
function initLoopVar(length, dedupe) {
|
|
7306
7306
|
return dedupe ? length - 1 : 0;
|
|
@@ -9138,7 +9138,7 @@ var require_reply = __commonJS({
|
|
|
9138
9138
|
handled--;
|
|
9139
9139
|
const result = reply[kReplyTrailers][trailerName](reply, payload, cb);
|
|
9140
9140
|
if (typeof result === "object" && typeof result.then === "function") {
|
|
9141
|
-
result.then((
|
|
9141
|
+
result.then((v) => cb(null, v), cb);
|
|
9142
9142
|
}
|
|
9143
9143
|
}
|
|
9144
9144
|
if (skipped) res.end(null, null, null);
|
|
@@ -9200,8 +9200,8 @@ var require_reply = __commonJS({
|
|
|
9200
9200
|
responseTime
|
|
9201
9201
|
}, "request completed");
|
|
9202
9202
|
}
|
|
9203
|
-
function buildReply(
|
|
9204
|
-
const props =
|
|
9203
|
+
function buildReply(R) {
|
|
9204
|
+
const props = R.props.slice();
|
|
9205
9205
|
function _Reply(res, request, log2) {
|
|
9206
9206
|
this.raw = res;
|
|
9207
9207
|
this[kReplyIsError] = false;
|
|
@@ -9220,9 +9220,9 @@ var require_reply = __commonJS({
|
|
|
9220
9220
|
this[prop.key] = prop.value;
|
|
9221
9221
|
}
|
|
9222
9222
|
}
|
|
9223
|
-
Object.setPrototypeOf(_Reply.prototype,
|
|
9224
|
-
Object.setPrototypeOf(_Reply,
|
|
9225
|
-
_Reply.parent =
|
|
9223
|
+
Object.setPrototypeOf(_Reply.prototype, R.prototype);
|
|
9224
|
+
Object.setPrototypeOf(_Reply, R);
|
|
9225
|
+
_Reply.parent = R;
|
|
9226
9226
|
_Reply.props = props;
|
|
9227
9227
|
return _Reply;
|
|
9228
9228
|
}
|
|
@@ -10300,14 +10300,14 @@ var require_request = __commonJS({
|
|
|
10300
10300
|
}
|
|
10301
10301
|
return proxyAddr.compile(tp);
|
|
10302
10302
|
}
|
|
10303
|
-
function buildRequest(
|
|
10303
|
+
function buildRequest(R, trustProxy) {
|
|
10304
10304
|
if (trustProxy) {
|
|
10305
|
-
return buildRequestWithTrustProxy(
|
|
10305
|
+
return buildRequestWithTrustProxy(R, trustProxy);
|
|
10306
10306
|
}
|
|
10307
|
-
return buildRegularRequest(
|
|
10307
|
+
return buildRegularRequest(R);
|
|
10308
10308
|
}
|
|
10309
|
-
function buildRegularRequest(
|
|
10310
|
-
const props =
|
|
10309
|
+
function buildRegularRequest(R) {
|
|
10310
|
+
const props = R.props.slice();
|
|
10311
10311
|
function _Request(id2, params, req, query, log2, context) {
|
|
10312
10312
|
this.id = id2;
|
|
10313
10313
|
this[kRouteContext] = context;
|
|
@@ -10322,18 +10322,18 @@ var require_request = __commonJS({
|
|
|
10322
10322
|
this[prop.key] = prop.value;
|
|
10323
10323
|
}
|
|
10324
10324
|
}
|
|
10325
|
-
Object.setPrototypeOf(_Request.prototype,
|
|
10326
|
-
Object.setPrototypeOf(_Request,
|
|
10325
|
+
Object.setPrototypeOf(_Request.prototype, R.prototype);
|
|
10326
|
+
Object.setPrototypeOf(_Request, R);
|
|
10327
10327
|
_Request.props = props;
|
|
10328
|
-
_Request.parent =
|
|
10328
|
+
_Request.parent = R;
|
|
10329
10329
|
return _Request;
|
|
10330
10330
|
}
|
|
10331
10331
|
function getLastEntryInMultiHeaderValue(headerValue) {
|
|
10332
10332
|
const lastIndex = headerValue.lastIndexOf(",");
|
|
10333
10333
|
return lastIndex === -1 ? headerValue.trim() : headerValue.slice(lastIndex + 1).trim();
|
|
10334
10334
|
}
|
|
10335
|
-
function buildRequestWithTrustProxy(
|
|
10336
|
-
const _Request = buildRegularRequest(
|
|
10335
|
+
function buildRequestWithTrustProxy(R, trustProxy) {
|
|
10336
|
+
const _Request = buildRegularRequest(R);
|
|
10337
10337
|
const proxyFn = getTrustProxyFn(trustProxy);
|
|
10338
10338
|
_Request[kHasBeenDecorated] = true;
|
|
10339
10339
|
Object.defineProperties(_Request.prototype, {
|
|
@@ -12189,22 +12189,22 @@ var require_code = __commonJS({
|
|
|
12189
12189
|
i++;
|
|
12190
12190
|
}
|
|
12191
12191
|
}
|
|
12192
|
-
function mergeExprItems(a,
|
|
12193
|
-
if (
|
|
12192
|
+
function mergeExprItems(a, b2) {
|
|
12193
|
+
if (b2 === '""')
|
|
12194
12194
|
return a;
|
|
12195
12195
|
if (a === '""')
|
|
12196
|
-
return
|
|
12196
|
+
return b2;
|
|
12197
12197
|
if (typeof a == "string") {
|
|
12198
|
-
if (
|
|
12198
|
+
if (b2 instanceof Name || a[a.length - 1] !== '"')
|
|
12199
12199
|
return;
|
|
12200
|
-
if (typeof
|
|
12201
|
-
return `${a.slice(0, -1)}${
|
|
12202
|
-
if (
|
|
12203
|
-
return a.slice(0, -1) +
|
|
12200
|
+
if (typeof b2 != "string")
|
|
12201
|
+
return `${a.slice(0, -1)}${b2}"`;
|
|
12202
|
+
if (b2[0] === '"')
|
|
12203
|
+
return a.slice(0, -1) + b2.slice(1);
|
|
12204
12204
|
return;
|
|
12205
12205
|
}
|
|
12206
|
-
if (typeof
|
|
12207
|
-
return `"${a}${
|
|
12206
|
+
if (typeof b2 == "string" && b2[0] === '"' && !(a instanceof Name))
|
|
12207
|
+
return `"${a}${b2.slice(1)}`;
|
|
12208
12208
|
return;
|
|
12209
12209
|
}
|
|
12210
12210
|
function strConcat(c1, c2) {
|
|
@@ -14097,33 +14097,33 @@ var require_subschema = __commonJS({
|
|
|
14097
14097
|
var require_fast_deep_equal = __commonJS({
|
|
14098
14098
|
"node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) {
|
|
14099
14099
|
"use strict";
|
|
14100
|
-
module2.exports = function equal(a,
|
|
14101
|
-
if (a ===
|
|
14102
|
-
if (a &&
|
|
14103
|
-
if (a.constructor !==
|
|
14100
|
+
module2.exports = function equal(a, b2) {
|
|
14101
|
+
if (a === b2) return true;
|
|
14102
|
+
if (a && b2 && typeof a == "object" && typeof b2 == "object") {
|
|
14103
|
+
if (a.constructor !== b2.constructor) return false;
|
|
14104
14104
|
var length, i, keys;
|
|
14105
14105
|
if (Array.isArray(a)) {
|
|
14106
14106
|
length = a.length;
|
|
14107
|
-
if (length !=
|
|
14107
|
+
if (length != b2.length) return false;
|
|
14108
14108
|
for (i = length; i-- !== 0; )
|
|
14109
|
-
if (!equal(a[i],
|
|
14109
|
+
if (!equal(a[i], b2[i])) return false;
|
|
14110
14110
|
return true;
|
|
14111
14111
|
}
|
|
14112
|
-
if (a.constructor === RegExp) return a.source ===
|
|
14113
|
-
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() ===
|
|
14114
|
-
if (a.toString !== Object.prototype.toString) return a.toString() ===
|
|
14112
|
+
if (a.constructor === RegExp) return a.source === b2.source && a.flags === b2.flags;
|
|
14113
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b2.valueOf();
|
|
14114
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b2.toString();
|
|
14115
14115
|
keys = Object.keys(a);
|
|
14116
14116
|
length = keys.length;
|
|
14117
|
-
if (length !== Object.keys(
|
|
14117
|
+
if (length !== Object.keys(b2).length) return false;
|
|
14118
14118
|
for (i = length; i-- !== 0; )
|
|
14119
|
-
if (!Object.prototype.hasOwnProperty.call(
|
|
14119
|
+
if (!Object.prototype.hasOwnProperty.call(b2, keys[i])) return false;
|
|
14120
14120
|
for (i = length; i-- !== 0; ) {
|
|
14121
14121
|
var key = keys[i];
|
|
14122
|
-
if (!equal(a[key],
|
|
14122
|
+
if (!equal(a[key], b2[key])) return false;
|
|
14123
14123
|
}
|
|
14124
14124
|
return true;
|
|
14125
14125
|
}
|
|
14126
|
-
return a !== a &&
|
|
14126
|
+
return a !== a && b2 !== b2;
|
|
14127
14127
|
};
|
|
14128
14128
|
}
|
|
14129
14129
|
});
|
|
@@ -15991,17 +15991,17 @@ var require_core = __commonJS({
|
|
|
15991
15991
|
return this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : void 0;
|
|
15992
15992
|
}
|
|
15993
15993
|
validate(schemaKeyRef, data) {
|
|
15994
|
-
let
|
|
15994
|
+
let v;
|
|
15995
15995
|
if (typeof schemaKeyRef == "string") {
|
|
15996
|
-
|
|
15997
|
-
if (!
|
|
15996
|
+
v = this.getSchema(schemaKeyRef);
|
|
15997
|
+
if (!v)
|
|
15998
15998
|
throw new Error(`no schema with key or ref "${schemaKeyRef}"`);
|
|
15999
15999
|
} else {
|
|
16000
|
-
|
|
16000
|
+
v = this.compile(schemaKeyRef);
|
|
16001
16001
|
}
|
|
16002
|
-
const valid =
|
|
16003
|
-
if (!("$async" in
|
|
16004
|
-
this.errors =
|
|
16002
|
+
const valid = v(data);
|
|
16003
|
+
if (!("$async" in v))
|
|
16004
|
+
this.errors = v.errors;
|
|
16005
16005
|
return valid;
|
|
16006
16006
|
}
|
|
16007
16007
|
compile(schema, _meta) {
|
|
@@ -16495,8 +16495,8 @@ var require_ref = __commonJS({
|
|
|
16495
16495
|
return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async);
|
|
16496
16496
|
}
|
|
16497
16497
|
function callValidate(sch) {
|
|
16498
|
-
const
|
|
16499
|
-
callRef(cxt,
|
|
16498
|
+
const v = getValidate(cxt, sch);
|
|
16499
|
+
callRef(cxt, v, sch, sch.$async);
|
|
16500
16500
|
}
|
|
16501
16501
|
function inlineRefSchema(sch) {
|
|
16502
16502
|
const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch });
|
|
@@ -16518,7 +16518,7 @@ var require_ref = __commonJS({
|
|
|
16518
16518
|
return sch.validate ? gen.scopeValue("validate", { ref: sch.validate }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`;
|
|
16519
16519
|
}
|
|
16520
16520
|
exports2.getValidate = getValidate;
|
|
16521
|
-
function callRef(cxt,
|
|
16521
|
+
function callRef(cxt, v, sch, $async) {
|
|
16522
16522
|
const { gen, it } = cxt;
|
|
16523
16523
|
const { allErrors, schemaEnv: env, opts } = it;
|
|
16524
16524
|
const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;
|
|
@@ -16531,8 +16531,8 @@ var require_ref = __commonJS({
|
|
|
16531
16531
|
throw new Error("async schema referenced by sync schema");
|
|
16532
16532
|
const valid = gen.let("valid");
|
|
16533
16533
|
gen.try(() => {
|
|
16534
|
-
gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt,
|
|
16535
|
-
addEvaluatedFrom(
|
|
16534
|
+
gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);
|
|
16535
|
+
addEvaluatedFrom(v);
|
|
16536
16536
|
if (!allErrors)
|
|
16537
16537
|
gen.assign(valid, true);
|
|
16538
16538
|
}, (e) => {
|
|
@@ -16544,7 +16544,7 @@ var require_ref = __commonJS({
|
|
|
16544
16544
|
cxt.ok(valid);
|
|
16545
16545
|
}
|
|
16546
16546
|
function callSyncRef() {
|
|
16547
|
-
cxt.result((0, code_1.callValidateCode)(cxt,
|
|
16547
|
+
cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));
|
|
16548
16548
|
}
|
|
16549
16549
|
function addErrorsFrom(source) {
|
|
16550
16550
|
const errs = (0, codegen_1._)`${source}.errors`;
|
|
@@ -17034,7 +17034,7 @@ var require_enum = __commonJS({
|
|
|
17034
17034
|
cxt.pass(valid);
|
|
17035
17035
|
function loopEnum() {
|
|
17036
17036
|
gen.assign(valid, false);
|
|
17037
|
-
gen.forOf("v", schemaCode, (
|
|
17037
|
+
gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));
|
|
17038
17038
|
}
|
|
17039
17039
|
function equalCode(vSchema, i) {
|
|
17040
17040
|
const sch = schema[i];
|
|
@@ -18420,7 +18420,7 @@ var require_ajv = __commonJS({
|
|
|
18420
18420
|
var Ajv = class extends core_1.default {
|
|
18421
18421
|
_addVocabularies() {
|
|
18422
18422
|
super._addVocabularies();
|
|
18423
|
-
draft7_1.default.forEach((
|
|
18423
|
+
draft7_1.default.forEach((v) => this.addVocabulary(v));
|
|
18424
18424
|
if (this.opts.discriminator)
|
|
18425
18425
|
this.addKeyword(discriminator_1.default);
|
|
18426
18426
|
}
|
|
@@ -20043,8 +20043,8 @@ var require_resolvers = __commonJS({
|
|
|
20043
20043
|
mergedSchema[keyword] = Math.max(...values);
|
|
20044
20044
|
}
|
|
20045
20045
|
function commonMultiple(keyword, values, mergedSchema) {
|
|
20046
|
-
const gcd = (a,
|
|
20047
|
-
const lcm = (a,
|
|
20046
|
+
const gcd = (a, b2) => !b2 ? a : gcd(b2, a % b2);
|
|
20047
|
+
const lcm = (a, b2) => a * b2 / gcd(a, b2);
|
|
20048
20048
|
let scale = 1;
|
|
20049
20049
|
for (const value of values) {
|
|
20050
20050
|
while (value * scale % 1 !== 0) {
|
|
@@ -21449,9 +21449,9 @@ var require_ref2 = __commonJS({
|
|
|
21449
21449
|
}
|
|
21450
21450
|
function callValidate(schema) {
|
|
21451
21451
|
const sch = compile_1.compileSchema.call(it.self, new compile_1.SchemaEnv({ schema, root, schemaPath: `/definitions/${ref}` }));
|
|
21452
|
-
const
|
|
21452
|
+
const v = (0, ref_1.getValidate)(cxt, sch);
|
|
21453
21453
|
const errsCount = gen.const("_errs", names_1.default.errors);
|
|
21454
|
-
(0, ref_1.callRef)(cxt,
|
|
21454
|
+
(0, ref_1.callRef)(cxt, v, sch, sch.$async);
|
|
21455
21455
|
gen.assign(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
|
|
21456
21456
|
}
|
|
21457
21457
|
function inlineRefSchema(schema) {
|
|
@@ -21681,7 +21681,7 @@ var require_enum2 = __commonJS({
|
|
|
21681
21681
|
}
|
|
21682
21682
|
cxt.pass(valid);
|
|
21683
21683
|
function loopEnum() {
|
|
21684
|
-
gen.forOf("v", schemaValue, (
|
|
21684
|
+
gen.forOf("v", schemaValue, (v) => gen.if((0, codegen_1._)`${valid} = ${data} === ${v}`, () => gen.break()));
|
|
21685
21685
|
}
|
|
21686
21686
|
}
|
|
21687
21687
|
};
|
|
@@ -23173,10 +23173,10 @@ var require_standalone3 = __commonJS({
|
|
|
23173
23173
|
const { _n } = ajv.scope.opts;
|
|
23174
23174
|
return typeof refsOrFunc == "function" ? funcExportCode(refsOrFunc.source) : refsOrFunc !== void 0 ? multiExportsCode(refsOrFunc, getValidate) : multiExportsCode(ajv.schemas, (sch) => sch.meta ? void 0 : ajv.compile(sch.schema));
|
|
23175
23175
|
function getValidate(id2) {
|
|
23176
|
-
const
|
|
23177
|
-
if (!
|
|
23176
|
+
const v = ajv.getSchema(id2);
|
|
23177
|
+
if (!v)
|
|
23178
23178
|
throw new Error(`moduleCode: no schema with id ${id2}`);
|
|
23179
|
-
return
|
|
23179
|
+
return v;
|
|
23180
23180
|
}
|
|
23181
23181
|
function funcExportCode(source) {
|
|
23182
23182
|
const usedValues = {};
|
|
@@ -23192,11 +23192,11 @@ var require_standalone3 = __commonJS({
|
|
|
23192
23192
|
const usedValues = {};
|
|
23193
23193
|
let code = (0, code_1._)`"use strict";`;
|
|
23194
23194
|
for (const name in schemas) {
|
|
23195
|
-
const
|
|
23196
|
-
if (
|
|
23197
|
-
const vCode = validateCode(usedValues,
|
|
23195
|
+
const v = getValidateFunc(schemas[name]);
|
|
23196
|
+
if (v) {
|
|
23197
|
+
const vCode = validateCode(usedValues, v.source);
|
|
23198
23198
|
const exportSyntax = ajv.opts.code.esm ? (0, code_1._)`export const ${(0, code_1.getEsmExportName)(name)}` : (0, code_1._)`exports${(0, code_1.getProperty)(name)}`;
|
|
23199
|
-
code = (0, code_1._)`${code}${_n}${exportSyntax} = ${(_a =
|
|
23199
|
+
code = (0, code_1._)`${code}${_n}${exportSyntax} = ${(_a = v.source) === null || _a === void 0 ? void 0 : _a.validateName};${_n}${vCode}`;
|
|
23200
23200
|
}
|
|
23201
23201
|
}
|
|
23202
23202
|
return `${code}`;
|
|
@@ -23214,8 +23214,8 @@ var require_standalone3 = __commonJS({
|
|
|
23214
23214
|
var _a;
|
|
23215
23215
|
const vRef = (_a = n.value) === null || _a === void 0 ? void 0 : _a.ref;
|
|
23216
23216
|
if (n.prefix === "validate" && typeof vRef == "function") {
|
|
23217
|
-
const
|
|
23218
|
-
return validateCode(usedValues,
|
|
23217
|
+
const v = vRef;
|
|
23218
|
+
return validateCode(usedValues, v.source);
|
|
23219
23219
|
} else if ((n.prefix === "root" || n.prefix === "wrapper") && typeof vRef == "object") {
|
|
23220
23220
|
const { validate, validateName } = vRef;
|
|
23221
23221
|
if (!validateName)
|
|
@@ -23509,7 +23509,7 @@ var require_re = __commonJS({
|
|
|
23509
23509
|
var src = exports2.src = [];
|
|
23510
23510
|
var safeSrc = exports2.safeSrc = [];
|
|
23511
23511
|
var t = exports2.t = {};
|
|
23512
|
-
var
|
|
23512
|
+
var R = 0;
|
|
23513
23513
|
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
|
|
23514
23514
|
var safeRegexReplacements = [
|
|
23515
23515
|
["\\s", 1],
|
|
@@ -23524,7 +23524,7 @@ var require_re = __commonJS({
|
|
|
23524
23524
|
};
|
|
23525
23525
|
var createToken = (name, value, isGlobal) => {
|
|
23526
23526
|
const safe = makeSafeRegex(value);
|
|
23527
|
-
const index =
|
|
23527
|
+
const index = R++;
|
|
23528
23528
|
debug(name, index, value);
|
|
23529
23529
|
t[name] = index;
|
|
23530
23530
|
src[index] = value;
|
|
@@ -23605,16 +23605,16 @@ var require_identifiers = __commonJS({
|
|
|
23605
23605
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/identifiers.js"(exports2, module2) {
|
|
23606
23606
|
"use strict";
|
|
23607
23607
|
var numeric = /^[0-9]+$/;
|
|
23608
|
-
var compareIdentifiers = (a,
|
|
23608
|
+
var compareIdentifiers = (a, b2) => {
|
|
23609
23609
|
const anum = numeric.test(a);
|
|
23610
|
-
const bnum = numeric.test(
|
|
23610
|
+
const bnum = numeric.test(b2);
|
|
23611
23611
|
if (anum && bnum) {
|
|
23612
23612
|
a = +a;
|
|
23613
|
-
|
|
23613
|
+
b2 = +b2;
|
|
23614
23614
|
}
|
|
23615
|
-
return a ===
|
|
23615
|
+
return a === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b2 ? -1 : 1;
|
|
23616
23616
|
};
|
|
23617
|
-
var rcompareIdentifiers = (a,
|
|
23617
|
+
var rcompareIdentifiers = (a, b2) => compareIdentifiers(b2, a);
|
|
23618
23618
|
module2.exports = {
|
|
23619
23619
|
compareIdentifiers,
|
|
23620
23620
|
rcompareIdentifiers
|
|
@@ -23728,18 +23728,18 @@ var require_semver = __commonJS({
|
|
|
23728
23728
|
let i = 0;
|
|
23729
23729
|
do {
|
|
23730
23730
|
const a = this.prerelease[i];
|
|
23731
|
-
const
|
|
23732
|
-
debug("prerelease compare", i, a,
|
|
23733
|
-
if (a === void 0 &&
|
|
23731
|
+
const b2 = other.prerelease[i];
|
|
23732
|
+
debug("prerelease compare", i, a, b2);
|
|
23733
|
+
if (a === void 0 && b2 === void 0) {
|
|
23734
23734
|
return 0;
|
|
23735
|
-
} else if (
|
|
23735
|
+
} else if (b2 === void 0) {
|
|
23736
23736
|
return 1;
|
|
23737
23737
|
} else if (a === void 0) {
|
|
23738
23738
|
return -1;
|
|
23739
|
-
} else if (a ===
|
|
23739
|
+
} else if (a === b2) {
|
|
23740
23740
|
continue;
|
|
23741
23741
|
} else {
|
|
23742
|
-
return compareIdentifiers(a,
|
|
23742
|
+
return compareIdentifiers(a, b2);
|
|
23743
23743
|
}
|
|
23744
23744
|
} while (++i);
|
|
23745
23745
|
}
|
|
@@ -23750,18 +23750,18 @@ var require_semver = __commonJS({
|
|
|
23750
23750
|
let i = 0;
|
|
23751
23751
|
do {
|
|
23752
23752
|
const a = this.build[i];
|
|
23753
|
-
const
|
|
23754
|
-
debug("build compare", i, a,
|
|
23755
|
-
if (a === void 0 &&
|
|
23753
|
+
const b2 = other.build[i];
|
|
23754
|
+
debug("build compare", i, a, b2);
|
|
23755
|
+
if (a === void 0 && b2 === void 0) {
|
|
23756
23756
|
return 0;
|
|
23757
|
-
} else if (
|
|
23757
|
+
} else if (b2 === void 0) {
|
|
23758
23758
|
return 1;
|
|
23759
23759
|
} else if (a === void 0) {
|
|
23760
23760
|
return -1;
|
|
23761
|
-
} else if (a ===
|
|
23761
|
+
} else if (a === b2) {
|
|
23762
23762
|
continue;
|
|
23763
23763
|
} else {
|
|
23764
|
-
return compareIdentifiers(a,
|
|
23764
|
+
return compareIdentifiers(a, b2);
|
|
23765
23765
|
}
|
|
23766
23766
|
} while (++i);
|
|
23767
23767
|
}
|
|
@@ -23911,8 +23911,8 @@ var require_valid = __commonJS({
|
|
|
23911
23911
|
"use strict";
|
|
23912
23912
|
var parse = require_parse3();
|
|
23913
23913
|
var valid = (version2, options) => {
|
|
23914
|
-
const
|
|
23915
|
-
return
|
|
23914
|
+
const v = parse(version2, options);
|
|
23915
|
+
return v ? v.version : null;
|
|
23916
23916
|
};
|
|
23917
23917
|
module2.exports = valid;
|
|
23918
23918
|
}
|
|
@@ -24047,7 +24047,7 @@ var require_compare = __commonJS({
|
|
|
24047
24047
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare.js"(exports2, module2) {
|
|
24048
24048
|
"use strict";
|
|
24049
24049
|
var SemVer = require_semver();
|
|
24050
|
-
var compare = (a,
|
|
24050
|
+
var compare = (a, b2, loose) => new SemVer(a, loose).compare(new SemVer(b2, loose));
|
|
24051
24051
|
module2.exports = compare;
|
|
24052
24052
|
}
|
|
24053
24053
|
});
|
|
@@ -24057,7 +24057,7 @@ var require_rcompare = __commonJS({
|
|
|
24057
24057
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rcompare.js"(exports2, module2) {
|
|
24058
24058
|
"use strict";
|
|
24059
24059
|
var compare = require_compare();
|
|
24060
|
-
var rcompare = (a,
|
|
24060
|
+
var rcompare = (a, b2, loose) => compare(b2, a, loose);
|
|
24061
24061
|
module2.exports = rcompare;
|
|
24062
24062
|
}
|
|
24063
24063
|
});
|
|
@@ -24067,7 +24067,7 @@ var require_compare_loose = __commonJS({
|
|
|
24067
24067
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-loose.js"(exports2, module2) {
|
|
24068
24068
|
"use strict";
|
|
24069
24069
|
var compare = require_compare();
|
|
24070
|
-
var compareLoose = (a,
|
|
24070
|
+
var compareLoose = (a, b2) => compare(a, b2, true);
|
|
24071
24071
|
module2.exports = compareLoose;
|
|
24072
24072
|
}
|
|
24073
24073
|
});
|
|
@@ -24077,9 +24077,9 @@ var require_compare_build = __commonJS({
|
|
|
24077
24077
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-build.js"(exports2, module2) {
|
|
24078
24078
|
"use strict";
|
|
24079
24079
|
var SemVer = require_semver();
|
|
24080
|
-
var compareBuild = (a,
|
|
24080
|
+
var compareBuild = (a, b2, loose) => {
|
|
24081
24081
|
const versionA = new SemVer(a, loose);
|
|
24082
|
-
const versionB = new SemVer(
|
|
24082
|
+
const versionB = new SemVer(b2, loose);
|
|
24083
24083
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
24084
24084
|
};
|
|
24085
24085
|
module2.exports = compareBuild;
|
|
@@ -24091,7 +24091,7 @@ var require_sort = __commonJS({
|
|
|
24091
24091
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/sort.js"(exports2, module2) {
|
|
24092
24092
|
"use strict";
|
|
24093
24093
|
var compareBuild = require_compare_build();
|
|
24094
|
-
var sort = (list, loose) => list.sort((a,
|
|
24094
|
+
var sort = (list, loose) => list.sort((a, b2) => compareBuild(a, b2, loose));
|
|
24095
24095
|
module2.exports = sort;
|
|
24096
24096
|
}
|
|
24097
24097
|
});
|
|
@@ -24101,7 +24101,7 @@ var require_rsort = __commonJS({
|
|
|
24101
24101
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rsort.js"(exports2, module2) {
|
|
24102
24102
|
"use strict";
|
|
24103
24103
|
var compareBuild = require_compare_build();
|
|
24104
|
-
var rsort = (list, loose) => list.sort((a,
|
|
24104
|
+
var rsort = (list, loose) => list.sort((a, b2) => compareBuild(b2, a, loose));
|
|
24105
24105
|
module2.exports = rsort;
|
|
24106
24106
|
}
|
|
24107
24107
|
});
|
|
@@ -24111,7 +24111,7 @@ var require_gt = __commonJS({
|
|
|
24111
24111
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gt.js"(exports2, module2) {
|
|
24112
24112
|
"use strict";
|
|
24113
24113
|
var compare = require_compare();
|
|
24114
|
-
var gt = (a,
|
|
24114
|
+
var gt = (a, b2, loose) => compare(a, b2, loose) > 0;
|
|
24115
24115
|
module2.exports = gt;
|
|
24116
24116
|
}
|
|
24117
24117
|
});
|
|
@@ -24121,7 +24121,7 @@ var require_lt = __commonJS({
|
|
|
24121
24121
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lt.js"(exports2, module2) {
|
|
24122
24122
|
"use strict";
|
|
24123
24123
|
var compare = require_compare();
|
|
24124
|
-
var lt = (a,
|
|
24124
|
+
var lt = (a, b2, loose) => compare(a, b2, loose) < 0;
|
|
24125
24125
|
module2.exports = lt;
|
|
24126
24126
|
}
|
|
24127
24127
|
});
|
|
@@ -24131,7 +24131,7 @@ var require_eq = __commonJS({
|
|
|
24131
24131
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/eq.js"(exports2, module2) {
|
|
24132
24132
|
"use strict";
|
|
24133
24133
|
var compare = require_compare();
|
|
24134
|
-
var eq = (a,
|
|
24134
|
+
var eq = (a, b2, loose) => compare(a, b2, loose) === 0;
|
|
24135
24135
|
module2.exports = eq;
|
|
24136
24136
|
}
|
|
24137
24137
|
});
|
|
@@ -24141,7 +24141,7 @@ var require_neq = __commonJS({
|
|
|
24141
24141
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/neq.js"(exports2, module2) {
|
|
24142
24142
|
"use strict";
|
|
24143
24143
|
var compare = require_compare();
|
|
24144
|
-
var neq = (a,
|
|
24144
|
+
var neq = (a, b2, loose) => compare(a, b2, loose) !== 0;
|
|
24145
24145
|
module2.exports = neq;
|
|
24146
24146
|
}
|
|
24147
24147
|
});
|
|
@@ -24151,7 +24151,7 @@ var require_gte = __commonJS({
|
|
|
24151
24151
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gte.js"(exports2, module2) {
|
|
24152
24152
|
"use strict";
|
|
24153
24153
|
var compare = require_compare();
|
|
24154
|
-
var gte = (a,
|
|
24154
|
+
var gte = (a, b2, loose) => compare(a, b2, loose) >= 0;
|
|
24155
24155
|
module2.exports = gte;
|
|
24156
24156
|
}
|
|
24157
24157
|
});
|
|
@@ -24161,7 +24161,7 @@ var require_lte = __commonJS({
|
|
|
24161
24161
|
"node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lte.js"(exports2, module2) {
|
|
24162
24162
|
"use strict";
|
|
24163
24163
|
var compare = require_compare();
|
|
24164
|
-
var lte = (a,
|
|
24164
|
+
var lte = (a, b2, loose) => compare(a, b2, loose) <= 0;
|
|
24165
24165
|
module2.exports = lte;
|
|
24166
24166
|
}
|
|
24167
24167
|
});
|
|
@@ -24176,38 +24176,38 @@ var require_cmp = __commonJS({
|
|
|
24176
24176
|
var gte = require_gte();
|
|
24177
24177
|
var lt = require_lt();
|
|
24178
24178
|
var lte = require_lte();
|
|
24179
|
-
var cmp = (a, op,
|
|
24179
|
+
var cmp = (a, op, b2, loose) => {
|
|
24180
24180
|
switch (op) {
|
|
24181
24181
|
case "===":
|
|
24182
24182
|
if (typeof a === "object") {
|
|
24183
24183
|
a = a.version;
|
|
24184
24184
|
}
|
|
24185
|
-
if (typeof
|
|
24186
|
-
|
|
24185
|
+
if (typeof b2 === "object") {
|
|
24186
|
+
b2 = b2.version;
|
|
24187
24187
|
}
|
|
24188
|
-
return a ===
|
|
24188
|
+
return a === b2;
|
|
24189
24189
|
case "!==":
|
|
24190
24190
|
if (typeof a === "object") {
|
|
24191
24191
|
a = a.version;
|
|
24192
24192
|
}
|
|
24193
|
-
if (typeof
|
|
24194
|
-
|
|
24193
|
+
if (typeof b2 === "object") {
|
|
24194
|
+
b2 = b2.version;
|
|
24195
24195
|
}
|
|
24196
|
-
return a !==
|
|
24196
|
+
return a !== b2;
|
|
24197
24197
|
case "":
|
|
24198
24198
|
case "=":
|
|
24199
24199
|
case "==":
|
|
24200
|
-
return eq(a,
|
|
24200
|
+
return eq(a, b2, loose);
|
|
24201
24201
|
case "!=":
|
|
24202
|
-
return neq(a,
|
|
24202
|
+
return neq(a, b2, loose);
|
|
24203
24203
|
case ">":
|
|
24204
|
-
return gt(a,
|
|
24204
|
+
return gt(a, b2, loose);
|
|
24205
24205
|
case ">=":
|
|
24206
|
-
return gte(a,
|
|
24206
|
+
return gte(a, b2, loose);
|
|
24207
24207
|
case "<":
|
|
24208
|
-
return lt(a,
|
|
24208
|
+
return lt(a, b2, loose);
|
|
24209
24209
|
case "<=":
|
|
24210
|
-
return lte(a,
|
|
24210
|
+
return lte(a, b2, loose);
|
|
24211
24211
|
default:
|
|
24212
24212
|
throw new TypeError(`Invalid operator: ${op}`);
|
|
24213
24213
|
}
|
|
@@ -24831,10 +24831,10 @@ var require_max_satisfying = __commonJS({
|
|
|
24831
24831
|
} catch (er) {
|
|
24832
24832
|
return null;
|
|
24833
24833
|
}
|
|
24834
|
-
versions.forEach((
|
|
24835
|
-
if (rangeObj.test(
|
|
24836
|
-
if (!max || maxSV.compare(
|
|
24837
|
-
max =
|
|
24834
|
+
versions.forEach((v) => {
|
|
24835
|
+
if (rangeObj.test(v)) {
|
|
24836
|
+
if (!max || maxSV.compare(v) === -1) {
|
|
24837
|
+
max = v;
|
|
24838
24838
|
maxSV = new SemVer(max, options);
|
|
24839
24839
|
}
|
|
24840
24840
|
}
|
|
@@ -24860,10 +24860,10 @@ var require_min_satisfying = __commonJS({
|
|
|
24860
24860
|
} catch (er) {
|
|
24861
24861
|
return null;
|
|
24862
24862
|
}
|
|
24863
|
-
versions.forEach((
|
|
24864
|
-
if (rangeObj.test(
|
|
24865
|
-
if (!min || minSV.compare(
|
|
24866
|
-
min =
|
|
24863
|
+
versions.forEach((v) => {
|
|
24864
|
+
if (rangeObj.test(v)) {
|
|
24865
|
+
if (!min || minSV.compare(v) === 1) {
|
|
24866
|
+
min = v;
|
|
24867
24867
|
minSV = new SemVer(min, options);
|
|
24868
24868
|
}
|
|
24869
24869
|
}
|
|
@@ -25062,8 +25062,8 @@ var require_simplify = __commonJS({
|
|
|
25062
25062
|
const set = [];
|
|
25063
25063
|
let first = null;
|
|
25064
25064
|
let prev = null;
|
|
25065
|
-
const
|
|
25066
|
-
for (const version2 of
|
|
25065
|
+
const v = versions.sort((a, b2) => compare(a, b2, options));
|
|
25066
|
+
for (const version2 of v) {
|
|
25067
25067
|
const included = satisfies(version2, range, options);
|
|
25068
25068
|
if (included) {
|
|
25069
25069
|
prev = version2;
|
|
@@ -25085,11 +25085,11 @@ var require_simplify = __commonJS({
|
|
|
25085
25085
|
for (const [min, max] of set) {
|
|
25086
25086
|
if (min === max) {
|
|
25087
25087
|
ranges.push(min);
|
|
25088
|
-
} else if (!max && min ===
|
|
25088
|
+
} else if (!max && min === v[0]) {
|
|
25089
25089
|
ranges.push("*");
|
|
25090
25090
|
} else if (!max) {
|
|
25091
25091
|
ranges.push(`>=${min}`);
|
|
25092
|
-
} else if (min ===
|
|
25092
|
+
} else if (min === v[0]) {
|
|
25093
25093
|
ranges.push(`<=${max}`);
|
|
25094
25094
|
} else {
|
|
25095
25095
|
ranges.push(`${min} - ${max}`);
|
|
@@ -25246,19 +25246,19 @@ var require_subset = __commonJS({
|
|
|
25246
25246
|
}
|
|
25247
25247
|
return true;
|
|
25248
25248
|
};
|
|
25249
|
-
var higherGT = (a,
|
|
25249
|
+
var higherGT = (a, b2, options) => {
|
|
25250
25250
|
if (!a) {
|
|
25251
|
-
return
|
|
25251
|
+
return b2;
|
|
25252
25252
|
}
|
|
25253
|
-
const comp = compare(a.semver,
|
|
25254
|
-
return comp > 0 ? a : comp < 0 ?
|
|
25253
|
+
const comp = compare(a.semver, b2.semver, options);
|
|
25254
|
+
return comp > 0 ? a : comp < 0 ? b2 : b2.operator === ">" && a.operator === ">=" ? b2 : a;
|
|
25255
25255
|
};
|
|
25256
|
-
var lowerLT = (a,
|
|
25256
|
+
var lowerLT = (a, b2, options) => {
|
|
25257
25257
|
if (!a) {
|
|
25258
|
-
return
|
|
25258
|
+
return b2;
|
|
25259
25259
|
}
|
|
25260
|
-
const comp = compare(a.semver,
|
|
25261
|
-
return comp < 0 ? a : comp > 0 ?
|
|
25260
|
+
const comp = compare(a.semver, b2.semver, options);
|
|
25261
|
+
return comp < 0 ? a : comp > 0 ? b2 : b2.operator === "<" && a.operator === "<=" ? b2 : a;
|
|
25262
25262
|
};
|
|
25263
25263
|
module2.exports = subset;
|
|
25264
25264
|
}
|
|
@@ -26456,10 +26456,10 @@ var require_util2 = __commonJS({
|
|
|
26456
26456
|
if (k2 === void 0) k2 = k;
|
|
26457
26457
|
o[k2] = m[k];
|
|
26458
26458
|
});
|
|
26459
|
-
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o,
|
|
26460
|
-
Object.defineProperty(o, "default", { enumerable: true, value:
|
|
26461
|
-
} : function(o,
|
|
26462
|
-
o["default"] =
|
|
26459
|
+
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
|
|
26460
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26461
|
+
} : function(o, v) {
|
|
26462
|
+
o["default"] = v;
|
|
26463
26463
|
});
|
|
26464
26464
|
var __importStar = exports2 && exports2.__importStar || function(mod) {
|
|
26465
26465
|
if (mod && mod.__esModule) return mod;
|
|
@@ -26477,11 +26477,11 @@ var require_util2 = __commonJS({
|
|
|
26477
26477
|
var CTRL = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";
|
|
26478
26478
|
exports2.strToChars = (str) => {
|
|
26479
26479
|
const charsRegex = /(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;
|
|
26480
|
-
return str.replace(charsRegex, (s,
|
|
26480
|
+
return str.replace(charsRegex, (s, b2, lbs, a16, b16, dctrl, eslsh) => {
|
|
26481
26481
|
if (lbs) {
|
|
26482
26482
|
return s;
|
|
26483
26483
|
}
|
|
26484
|
-
let code =
|
|
26484
|
+
let code = b2 ? 8 : a16 ? parseInt(a16, 16) : b16 ? parseInt(b16, 16) : dctrl ? CTRL.indexOf(dctrl) : {
|
|
26485
26485
|
0: 0,
|
|
26486
26486
|
t: 9,
|
|
26487
26487
|
n: 10,
|
|
@@ -26527,10 +26527,10 @@ var require_tokenizer = __commonJS({
|
|
|
26527
26527
|
if (k2 === void 0) k2 = k;
|
|
26528
26528
|
o[k2] = m[k];
|
|
26529
26529
|
});
|
|
26530
|
-
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o,
|
|
26531
|
-
Object.defineProperty(o, "default", { enumerable: true, value:
|
|
26532
|
-
} : function(o,
|
|
26533
|
-
o["default"] =
|
|
26530
|
+
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
|
|
26531
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26532
|
+
} : function(o, v) {
|
|
26533
|
+
o["default"] = v;
|
|
26534
26534
|
});
|
|
26535
26535
|
var __importStar = exports2 && exports2.__importStar || function(mod) {
|
|
26536
26536
|
if (mod && mod.__esModule) return mod;
|
|
@@ -26828,10 +26828,10 @@ var require_sets_lookup = __commonJS({
|
|
|
26828
26828
|
if (k2 === void 0) k2 = k;
|
|
26829
26829
|
o[k2] = m[k];
|
|
26830
26830
|
});
|
|
26831
|
-
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o,
|
|
26832
|
-
Object.defineProperty(o, "default", { enumerable: true, value:
|
|
26833
|
-
} : function(o,
|
|
26834
|
-
o["default"] =
|
|
26831
|
+
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
|
|
26832
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26833
|
+
} : function(o, v) {
|
|
26834
|
+
o["default"] = v;
|
|
26835
26835
|
});
|
|
26836
26836
|
var __importStar = exports2 && exports2.__importStar || function(mod) {
|
|
26837
26837
|
if (mod && mod.__esModule) return mod;
|
|
@@ -26883,10 +26883,10 @@ var require_write_set_tokens = __commonJS({
|
|
|
26883
26883
|
if (k2 === void 0) k2 = k;
|
|
26884
26884
|
o[k2] = m[k];
|
|
26885
26885
|
});
|
|
26886
|
-
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o,
|
|
26887
|
-
Object.defineProperty(o, "default", { enumerable: true, value:
|
|
26888
|
-
} : function(o,
|
|
26889
|
-
o["default"] =
|
|
26886
|
+
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
|
|
26887
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26888
|
+
} : function(o, v) {
|
|
26889
|
+
o["default"] = v;
|
|
26890
26890
|
});
|
|
26891
26891
|
var __importStar = exports2 && exports2.__importStar || function(mod) {
|
|
26892
26892
|
if (mod && mod.__esModule) return mod;
|
|
@@ -27330,7 +27330,7 @@ var require_handler_storage = __commonJS({
|
|
|
27330
27330
|
throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");
|
|
27331
27331
|
}
|
|
27332
27332
|
this.handlers.push(handlerObject);
|
|
27333
|
-
this.handlers.sort((a,
|
|
27333
|
+
this.handlers.sort((a, b2) => Object.keys(a.constraints).length - Object.keys(b2.constraints).length);
|
|
27334
27334
|
if (!isMergedTree) {
|
|
27335
27335
|
this._compileGetHandlerMatchingConstraints(constrainer, constraints);
|
|
27336
27336
|
}
|
|
@@ -30410,10 +30410,10 @@ var require_dist4 = __commonJS({
|
|
|
30410
30410
|
var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
|
|
30411
30411
|
var __toString = Object.prototype.toString;
|
|
30412
30412
|
var NullObject = /* @__PURE__ */ (() => {
|
|
30413
|
-
const
|
|
30413
|
+
const C2 = function() {
|
|
30414
30414
|
};
|
|
30415
|
-
|
|
30416
|
-
return
|
|
30415
|
+
C2.prototype = /* @__PURE__ */ Object.create(null);
|
|
30416
|
+
return C2;
|
|
30417
30417
|
})();
|
|
30418
30418
|
function parse(str, options) {
|
|
30419
30419
|
const obj = new NullObject();
|
|
@@ -30571,19 +30571,19 @@ var require_process_warning2 = __commonJS({
|
|
|
30571
30571
|
if (typeof unlimited !== "boolean") throw new Error("Warning opts.unlimited must be a boolean");
|
|
30572
30572
|
code = code.toUpperCase();
|
|
30573
30573
|
let warningContainer = {
|
|
30574
|
-
[name]: function(a,
|
|
30574
|
+
[name]: function(a, b2, c) {
|
|
30575
30575
|
if (warning.emitted === true && warning.unlimited !== true) {
|
|
30576
30576
|
return;
|
|
30577
30577
|
}
|
|
30578
30578
|
warning.emitted = true;
|
|
30579
|
-
process.emitWarning(warning.format(a,
|
|
30579
|
+
process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
|
|
30580
30580
|
}
|
|
30581
30581
|
};
|
|
30582
30582
|
if (unlimited) {
|
|
30583
30583
|
warningContainer = {
|
|
30584
|
-
[name]: function(a,
|
|
30584
|
+
[name]: function(a, b2, c) {
|
|
30585
30585
|
warning.emitted = true;
|
|
30586
|
-
process.emitWarning(warning.format(a,
|
|
30586
|
+
process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
|
|
30587
30587
|
}
|
|
30588
30588
|
};
|
|
30589
30589
|
}
|
|
@@ -30592,12 +30592,12 @@ var require_process_warning2 = __commonJS({
|
|
|
30592
30592
|
warning.message = message;
|
|
30593
30593
|
warning.unlimited = unlimited;
|
|
30594
30594
|
warning.code = code;
|
|
30595
|
-
warning.format = function(a,
|
|
30595
|
+
warning.format = function(a, b2, c) {
|
|
30596
30596
|
let formatted;
|
|
30597
|
-
if (a &&
|
|
30598
|
-
formatted = format(message, a,
|
|
30599
|
-
} else if (a &&
|
|
30600
|
-
formatted = format(message, a,
|
|
30597
|
+
if (a && b2 && c) {
|
|
30598
|
+
formatted = format(message, a, b2, c);
|
|
30599
|
+
} else if (a && b2) {
|
|
30600
|
+
formatted = format(message, a, b2);
|
|
30601
30601
|
} else if (a) {
|
|
30602
30602
|
formatted = format(message, a);
|
|
30603
30603
|
} else {
|
|
@@ -32538,7 +32538,7 @@ var require_fastify = __commonJS({
|
|
|
32538
32538
|
listen,
|
|
32539
32539
|
server,
|
|
32540
32540
|
addresses: function() {
|
|
32541
|
-
const binded = this[kServerBindings].map((
|
|
32541
|
+
const binded = this[kServerBindings].map((b2) => b2.address());
|
|
32542
32542
|
binded.push(this.server.address());
|
|
32543
32543
|
return binded.filter((adr) => adr);
|
|
32544
32544
|
},
|
|
@@ -34619,7 +34619,7 @@ var require_util3 = __commonJS({
|
|
|
34619
34619
|
var { InvalidArgumentError, ConnectTimeoutError } = require_errors5();
|
|
34620
34620
|
var { headerNameLowerCasedRecord } = require_constants3();
|
|
34621
34621
|
var { tree } = require_tree();
|
|
34622
|
-
var [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((
|
|
34622
|
+
var [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
|
|
34623
34623
|
var BodyAsyncIterable = class {
|
|
34624
34624
|
constructor(body) {
|
|
34625
34625
|
this[kBody] = body;
|
|
@@ -35763,14 +35763,14 @@ var require_wrap_handler = __commonJS({
|
|
|
35763
35763
|
onRequestUpgrade(controller, statusCode, headers, socket) {
|
|
35764
35764
|
const rawHeaders = [];
|
|
35765
35765
|
for (const [key, val] of Object.entries(headers)) {
|
|
35766
|
-
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((
|
|
35766
|
+
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
|
|
35767
35767
|
}
|
|
35768
35768
|
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
|
|
35769
35769
|
}
|
|
35770
35770
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
35771
35771
|
const rawHeaders = [];
|
|
35772
35772
|
for (const [key, val] of Object.entries(headers)) {
|
|
35773
|
-
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((
|
|
35773
|
+
rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
|
|
35774
35774
|
}
|
|
35775
35775
|
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
|
|
35776
35776
|
controller.pause();
|
|
@@ -35784,7 +35784,7 @@ var require_wrap_handler = __commonJS({
|
|
|
35784
35784
|
onResponseEnd(controller, trailers) {
|
|
35785
35785
|
const rawTrailers = [];
|
|
35786
35786
|
for (const [key, val] of Object.entries(trailers)) {
|
|
35787
|
-
rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map((
|
|
35787
|
+
rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
|
|
35788
35788
|
}
|
|
35789
35789
|
this.#handler.onComplete?.(rawTrailers);
|
|
35790
35790
|
}
|
|
@@ -38882,15 +38882,15 @@ var require_formdata = __commonJS({
|
|
|
38882
38882
|
}
|
|
38883
38883
|
}
|
|
38884
38884
|
[nodeUtil.inspect.custom](depth, options) {
|
|
38885
|
-
const state = this.#state.reduce((a,
|
|
38886
|
-
if (a[
|
|
38887
|
-
if (Array.isArray(a[
|
|
38888
|
-
a[
|
|
38885
|
+
const state = this.#state.reduce((a, b2) => {
|
|
38886
|
+
if (a[b2.name]) {
|
|
38887
|
+
if (Array.isArray(a[b2.name])) {
|
|
38888
|
+
a[b2.name].push(b2.value);
|
|
38889
38889
|
} else {
|
|
38890
|
-
a[
|
|
38890
|
+
a[b2.name] = [a[b2.name], b2.value];
|
|
38891
38891
|
}
|
|
38892
38892
|
} else {
|
|
38893
|
-
a[
|
|
38893
|
+
a[b2.name] = b2.value;
|
|
38894
38894
|
}
|
|
38895
38895
|
return a;
|
|
38896
38896
|
}, { __proto__: null });
|
|
@@ -42132,11 +42132,11 @@ var require_balanced_pool = __commonJS({
|
|
|
42132
42132
|
var kWeight = Symbol("kWeight");
|
|
42133
42133
|
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
|
|
42134
42134
|
var kErrorPenalty = Symbol("kErrorPenalty");
|
|
42135
|
-
function getGreatestCommonDivisor(a,
|
|
42136
|
-
if (a === 0) return
|
|
42137
|
-
while (
|
|
42138
|
-
const t =
|
|
42139
|
-
|
|
42135
|
+
function getGreatestCommonDivisor(a, b2) {
|
|
42136
|
+
if (a === 0) return b2;
|
|
42137
|
+
while (b2 !== 0) {
|
|
42138
|
+
const t = b2;
|
|
42139
|
+
b2 = a % b2;
|
|
42140
42140
|
a = t;
|
|
42141
42141
|
}
|
|
42142
42142
|
return a;
|
|
@@ -42217,7 +42217,7 @@ var require_balanced_pool = __commonJS({
|
|
|
42217
42217
|
if (!dispatcher) {
|
|
42218
42218
|
return;
|
|
42219
42219
|
}
|
|
42220
|
-
const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a,
|
|
42220
|
+
const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b2) => a && b2, true);
|
|
42221
42221
|
if (allClientsBusy) {
|
|
42222
42222
|
return;
|
|
42223
42223
|
}
|
|
@@ -44490,8 +44490,8 @@ var require_mock_utils = __commonJS({
|
|
|
44490
44490
|
}
|
|
44491
44491
|
if (value.includes(",")) {
|
|
44492
44492
|
const values = value.split(",");
|
|
44493
|
-
for (const
|
|
44494
|
-
normalizedQp.append(key,
|
|
44493
|
+
for (const v of values) {
|
|
44494
|
+
normalizedQp.append(key, v);
|
|
44495
44495
|
}
|
|
44496
44496
|
continue;
|
|
44497
44497
|
}
|
|
@@ -47932,8 +47932,8 @@ var require_headers = __commonJS({
|
|
|
47932
47932
|
}
|
|
47933
47933
|
return headersList.sortedMap = headers;
|
|
47934
47934
|
}
|
|
47935
|
-
function compareHeaderName(a,
|
|
47936
|
-
return a[0] <
|
|
47935
|
+
function compareHeaderName(a, b2) {
|
|
47936
|
+
return a[0] < b2[0] ? -1 : 1;
|
|
47937
47937
|
}
|
|
47938
47938
|
var HeadersList = class _HeadersList {
|
|
47939
47939
|
/** @type {[string, string][]|null} */
|
|
@@ -54958,7 +54958,7 @@ var initConfig = async () => {
|
|
|
54958
54958
|
return config;
|
|
54959
54959
|
};
|
|
54960
54960
|
|
|
54961
|
-
// node_modules/.pnpm/@musistudio+llms@1.0.
|
|
54961
|
+
// node_modules/.pnpm/@musistudio+llms@1.0.8_ws@8.18.3_zod@3.25.67/node_modules/@musistudio/llms/dist/esm/server.mjs
|
|
54962
54962
|
var import_fastify = __toESM(require_fastify(), 1);
|
|
54963
54963
|
var import_cors = __toESM(require_cors(), 1);
|
|
54964
54964
|
var import_fs = require("fs");
|
|
@@ -54969,11 +54969,11 @@ var import_undici = __toESM(require_undici(), 1);
|
|
|
54969
54969
|
var import_crypto = require("crypto");
|
|
54970
54970
|
var import_crypto2 = require("crypto");
|
|
54971
54971
|
var import_node_module = __toESM(require("node:module"), 1);
|
|
54972
|
-
var
|
|
54972
|
+
var Z = ((s) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(s, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : s)(function(s) {
|
|
54973
54973
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
54974
54974
|
throw Error('Dynamic require of "' + s + '" is not supported');
|
|
54975
54975
|
});
|
|
54976
|
-
var
|
|
54976
|
+
var $ = class {
|
|
54977
54977
|
config = {};
|
|
54978
54978
|
options;
|
|
54979
54979
|
constructor(e = { jsonPath: "./config.json" }) {
|
|
@@ -55037,85 +55037,85 @@ var I = class {
|
|
|
55037
55037
|
return this.options.initialConfig && e.push("Initial Config"), this.options.useJsonFile && this.options.jsonPath && e.push(`JSON: ${this.options.jsonPath}`), this.options.useEnvFile && e.push(`ENV: ${this.options.envPath}`), this.options.useEnvironmentVariables && e.push("Environment Variables"), `Config sources: ${e.join(", ")}`;
|
|
55038
55038
|
}
|
|
55039
55039
|
};
|
|
55040
|
-
function
|
|
55040
|
+
function C(...s) {
|
|
55041
55041
|
if (console.log(...s), !(process.env.LOG === "true")) return;
|
|
55042
|
-
let n = `[${(/* @__PURE__ */ new Date()).toISOString()}] ${Array.isArray(s) ? s.map((
|
|
55043
|
-
`,
|
|
55044
|
-
import_node_fs.default.appendFileSync(
|
|
55042
|
+
let n = `[${(/* @__PURE__ */ new Date()).toISOString()}] ${Array.isArray(s) ? s.map((o) => typeof o == "object" ? JSON.stringify(o) : String(o)).join(" ") : ""}
|
|
55043
|
+
`, r = process.env.LOG_FILE || "app.log";
|
|
55044
|
+
import_node_fs.default.appendFileSync(r, n, "utf8");
|
|
55045
55045
|
}
|
|
55046
|
-
function
|
|
55047
|
-
let
|
|
55048
|
-
return
|
|
55046
|
+
function L(s, e = 500, t = "internal_error", n = "api_error") {
|
|
55047
|
+
let r = new Error(s);
|
|
55048
|
+
return r.statusCode = e, r.code = t, r.type = n, r;
|
|
55049
55049
|
}
|
|
55050
|
-
async function
|
|
55050
|
+
async function le(s, e, t) {
|
|
55051
55051
|
e.log.error(s);
|
|
55052
|
-
let n = s.statusCode || 500,
|
|
55053
|
-
return t.code(n).send(
|
|
55052
|
+
let n = s.statusCode || 500, r = { error: { message: s.message || "Internal Server Error", type: s.type || "api_error", code: s.code || "internal_error" } };
|
|
55053
|
+
return t.code(n).send(r);
|
|
55054
55054
|
}
|
|
55055
|
-
function
|
|
55055
|
+
function de(s, e, t) {
|
|
55056
55056
|
let n = new Headers({ "Content-Type": "application/json" });
|
|
55057
|
-
t.headers && Object.entries(t.headers).forEach(([
|
|
55058
|
-
n.set(
|
|
55057
|
+
t.headers && Object.entries(t.headers).forEach(([d, c]) => {
|
|
55058
|
+
n.set(d, c);
|
|
55059
55059
|
});
|
|
55060
|
-
let
|
|
55060
|
+
let r, o = AbortSignal.timeout(t.TIMEOUT ?? 60 * 1e3 * 60);
|
|
55061
55061
|
if (t.signal) {
|
|
55062
|
-
let
|
|
55063
|
-
t.signal.addEventListener("abort",
|
|
55064
|
-
} else
|
|
55065
|
-
let
|
|
55066
|
-
return t.httpsProxy && (
|
|
55062
|
+
let d = new AbortController(), c = () => d.abort();
|
|
55063
|
+
t.signal.addEventListener("abort", c), o.addEventListener("abort", c), r = d.signal;
|
|
55064
|
+
} else r = o;
|
|
55065
|
+
let l = { method: "POST", headers: n, body: JSON.stringify(e), signal: r };
|
|
55066
|
+
return t.httpsProxy && (l.dispatcher = new import_undici.ProxyAgent(new URL(t.httpsProxy).toString())), C("final request:", typeof s == "string" ? s : s.toString(), t.httpsProxy, l), fetch(typeof s == "string" ? s : s.toString(), l);
|
|
55067
55067
|
}
|
|
55068
|
-
var
|
|
55068
|
+
var fe = async (s) => {
|
|
55069
55069
|
s.get("/", async (t, n) => ({ message: "LLMs API", version: "1.0.0" })), s.get("/health", async (t, n) => ({ status: "ok", timestamp: (/* @__PURE__ */ new Date()).toISOString() }));
|
|
55070
55070
|
let e = s._server.transformerService.getTransformersWithEndpoint();
|
|
55071
|
-
for (let { name: t, transformer: n } of e) n.endPoint && s.post(n.endPoint, async (
|
|
55072
|
-
let
|
|
55073
|
-
if (!
|
|
55074
|
-
let a =
|
|
55071
|
+
for (let { name: t, transformer: n } of e) n.endPoint && s.post(n.endPoint, async (r, o) => {
|
|
55072
|
+
let l = r.body, d = r.provider, c = s._server.providerService.getProvider(d);
|
|
55073
|
+
if (!c) throw L(`Provider '${d}' not found`, 404, "provider_not_found");
|
|
55074
|
+
let a = l, u = {};
|
|
55075
55075
|
if (typeof n.transformRequestOut == "function") {
|
|
55076
|
-
let i = await n.transformRequestOut(
|
|
55077
|
-
i.body ? (a = i.body,
|
|
55076
|
+
let i = await n.transformRequestOut(l);
|
|
55077
|
+
i.body ? (a = i.body, u = i.config || {}) : a = i;
|
|
55078
55078
|
}
|
|
55079
|
-
if (
|
|
55079
|
+
if (C("use transformers:", c.transformer?.use), c.transformer?.use?.length) for (let i of c.transformer.use) {
|
|
55080
55080
|
if (!i || typeof i.transformRequestIn != "function") continue;
|
|
55081
|
-
let
|
|
55082
|
-
|
|
55083
|
-
}
|
|
55084
|
-
if (
|
|
55085
|
-
let
|
|
55086
|
-
if (!
|
|
55087
|
-
let i = await
|
|
55088
|
-
throw
|
|
55089
|
-
}
|
|
55090
|
-
let
|
|
55091
|
-
if (
|
|
55092
|
-
if (
|
|
55093
|
-
return n.transformResponseIn && (
|
|
55081
|
+
let v = await i.transformRequestIn(a, c);
|
|
55082
|
+
v.body ? (a = v.body, u = { ...u, ...v.config }) : a = v;
|
|
55083
|
+
}
|
|
55084
|
+
if (c.transformer?.[r.body.model]?.use?.length) for (let i of c.transformer[r.body.model].use) !i || typeof i.transformRequestIn != "function" || (a = await i.transformRequestIn(a, c));
|
|
55085
|
+
let y = u.url || new URL(c.baseUrl), k = await de(y, a, { httpsProxy: s._server.configService.getHttpsProxy(), ...u, headers: { Authorization: `Bearer ${c.apiKey}`, ...u?.headers || {} } });
|
|
55086
|
+
if (!k.ok) {
|
|
55087
|
+
let i = await k.text();
|
|
55088
|
+
throw C(`Error response from ${y}: ${i}`), L(`Error from provider: ${i}`, k.status, "provider_response_error");
|
|
55089
|
+
}
|
|
55090
|
+
let g = k;
|
|
55091
|
+
if (c.transformer?.use?.length) for (let i of c.transformer.use) !i || typeof i.transformResponseOut != "function" || (g = await i.transformResponseOut(g));
|
|
55092
|
+
if (c.transformer?.[r.body.model]?.use?.length) for (let i of c.transformer[r.body.model].use) !i || typeof i.transformResponseOut != "function" || (g = await i.transformResponseOut(g));
|
|
55093
|
+
return n.transformResponseIn && (g = await n.transformResponseIn(g)), g.ok || o.code(g.status), l?.stream === true ? (o.header("Content-Type", "text/event-stream"), o.header("Cache-Control", "no-cache"), o.header("Connection", "keep-alive"), o.send(g.body)) : g.json();
|
|
55094
55094
|
});
|
|
55095
55095
|
s.post("/providers", { schema: { body: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, type: { type: "string", enum: ["openai", "anthropic"] }, baseUrl: { type: "string" }, apiKey: { type: "string" }, models: { type: "array", items: { type: "string" } } }, required: ["id", "name", "type", "baseUrl", "apiKey", "models"] } } }, async (t, n) => {
|
|
55096
|
-
let { name:
|
|
55097
|
-
if (!
|
|
55098
|
-
if (!
|
|
55099
|
-
if (!
|
|
55100
|
-
if (!
|
|
55101
|
-
if (s._server.providerService.getProvider(id)) throw
|
|
55096
|
+
let { name: r, type: o, baseUrl: l, apiKey: d, models: c } = t.body;
|
|
55097
|
+
if (!r?.trim()) throw L("Provider name is required", 400, "invalid_request");
|
|
55098
|
+
if (!l || !ke(l)) throw L("Valid base URL is required", 400, "invalid_request");
|
|
55099
|
+
if (!d?.trim()) throw L("API key is required", 400, "invalid_request");
|
|
55100
|
+
if (!c || !Array.isArray(c) || c.length === 0) throw L("At least one model is required", 400, "invalid_request");
|
|
55101
|
+
if (s._server.providerService.getProvider(id)) throw L(`Provider with ID '${id}' already exists`, 400, "provider_exists");
|
|
55102
55102
|
return s._server.providerService.registerProvider(t.body);
|
|
55103
55103
|
}), s.get("/providers", async (t, n) => s._server.providerService.getProviders()), s.get("/providers/:id", { schema: { params: { type: "object", properties: { id: { type: "string" } }, required: ["id"] } } }, async (t, n) => {
|
|
55104
|
-
let
|
|
55105
|
-
return
|
|
55104
|
+
let r = s._server.providerService.getProvider(t.params.id);
|
|
55105
|
+
return r || n.code(404).send({ error: "Provider not found" });
|
|
55106
55106
|
}), s.put("/providers/:id", { schema: { params: { type: "object", properties: { id: { type: "string" } }, required: ["id"] }, body: { type: "object", properties: { name: { type: "string" }, type: { type: "string", enum: ["openai", "anthropic"] }, baseUrl: { type: "string" }, apiKey: { type: "string" }, models: { type: "array", items: { type: "string" } }, enabled: { type: "boolean" } } } } }, async (t, n) => {
|
|
55107
|
-
let
|
|
55108
|
-
return
|
|
55107
|
+
let r = s._server.providerService.updateProvider(t.params.id, t.body);
|
|
55108
|
+
return r || n.code(404).send({ error: "Provider not found" });
|
|
55109
55109
|
}), s.delete("/providers/:id", { schema: { params: { type: "object", properties: { id: { type: "string" } }, required: ["id"] } } }, async (t, n) => s._server.providerService.deleteProvider(t.params.id) ? { message: "Provider deleted successfully" } : n.code(404).send({ error: "Provider not found" })), s.patch("/providers/:id/toggle", { schema: { params: { type: "object", properties: { id: { type: "string" } }, required: ["id"] }, body: { type: "object", properties: { enabled: { type: "boolean" } }, required: ["enabled"] } } }, async (t, n) => s._server.providerService.toggleProvider(t.params.id, t.body.enabled) ? { message: `Provider ${t.body.enabled ? "enabled" : "disabled"} successfully` } : n.code(404).send({ error: "Provider not found" }));
|
|
55110
55110
|
};
|
|
55111
|
-
function
|
|
55111
|
+
function ke(s) {
|
|
55112
55112
|
try {
|
|
55113
55113
|
return new URL(s), true;
|
|
55114
55114
|
} catch {
|
|
55115
55115
|
return false;
|
|
55116
55116
|
}
|
|
55117
55117
|
}
|
|
55118
|
-
var
|
|
55118
|
+
var q = class {
|
|
55119
55119
|
constructor(e) {
|
|
55120
55120
|
this.providerService = e;
|
|
55121
55121
|
}
|
|
@@ -55172,31 +55172,31 @@ var F = class {
|
|
|
55172
55172
|
try {
|
|
55173
55173
|
if (!t.name || !t.api_base_url || !t.api_key) return;
|
|
55174
55174
|
let n = {};
|
|
55175
|
-
t.transformer && Object.keys(t.transformer).forEach((
|
|
55176
|
-
|
|
55177
|
-
if (Array.isArray(
|
|
55178
|
-
let
|
|
55179
|
-
if (
|
|
55180
|
-
}
|
|
55181
|
-
if (typeof
|
|
55182
|
-
}).filter((
|
|
55183
|
-
if (Array.isArray(
|
|
55184
|
-
let
|
|
55185
|
-
if (
|
|
55186
|
-
}
|
|
55187
|
-
if (typeof
|
|
55188
|
-
}).filter((
|
|
55189
|
-
}), this.registerProvider({ name: t.name, baseUrl: t.api_base_url, apiKey: t.api_key, models: t.models || [], transformer: t.transformer ? n : void 0 }),
|
|
55175
|
+
t.transformer && Object.keys(t.transformer).forEach((r) => {
|
|
55176
|
+
r === "use" ? Array.isArray(t.transformer.use) && (n.use = t.transformer.use.map((o) => {
|
|
55177
|
+
if (Array.isArray(o) && typeof o[0] == "string") {
|
|
55178
|
+
let l = this.transformerService.getTransformer(o[0]);
|
|
55179
|
+
if (l) return new l(o[1]);
|
|
55180
|
+
}
|
|
55181
|
+
if (typeof o == "string") return this.transformerService.getTransformer(o);
|
|
55182
|
+
}).filter((o) => typeof o < "u")) : Array.isArray(t.transformer[r]?.use) && (n[r] = { use: t.transformer[r].use.map((o) => {
|
|
55183
|
+
if (Array.isArray(o) && typeof o[0] == "string") {
|
|
55184
|
+
let l = this.transformerService.getTransformer(o[0]);
|
|
55185
|
+
if (l) return new l(o[1]);
|
|
55186
|
+
}
|
|
55187
|
+
if (typeof o == "string") return this.transformerService.getTransformer(o);
|
|
55188
|
+
}).filter((o) => typeof o < "u") });
|
|
55189
|
+
}), this.registerProvider({ name: t.name, baseUrl: t.api_base_url, apiKey: t.api_key, models: t.models || [], transformer: t.transformer ? n : void 0 }), C(`${t.name} provider registered`);
|
|
55190
55190
|
} catch (n) {
|
|
55191
|
-
|
|
55191
|
+
C(`${t.name} provider registered error: ${n}`);
|
|
55192
55192
|
}
|
|
55193
55193
|
});
|
|
55194
55194
|
}
|
|
55195
55195
|
registerProvider(e) {
|
|
55196
55196
|
let t = { ...e };
|
|
55197
55197
|
return this.providers.set(t.name, t), e.models.forEach((n) => {
|
|
55198
|
-
let
|
|
55199
|
-
this.modelRoutes.set(
|
|
55198
|
+
let r = `${t.name},${n}`, o = { provider: t.name, model: n, fullModel: r };
|
|
55199
|
+
this.modelRoutes.set(r, o), this.modelRoutes.has(n) || this.modelRoutes.set(n, o);
|
|
55200
55200
|
}), t;
|
|
55201
55201
|
}
|
|
55202
55202
|
getProviders() {
|
|
@@ -55208,20 +55208,20 @@ var F = class {
|
|
|
55208
55208
|
updateProvider(e, t) {
|
|
55209
55209
|
let n = this.providers.get(e);
|
|
55210
55210
|
if (!n) return null;
|
|
55211
|
-
let
|
|
55212
|
-
return this.providers.set(e,
|
|
55213
|
-
let
|
|
55214
|
-
this.modelRoutes.delete(
|
|
55215
|
-
}), t.models.forEach((
|
|
55216
|
-
let
|
|
55217
|
-
this.modelRoutes.set(
|
|
55218
|
-
})),
|
|
55211
|
+
let r = { ...n, ...t, updatedAt: /* @__PURE__ */ new Date() };
|
|
55212
|
+
return this.providers.set(e, r), t.models && (n.models.forEach((o) => {
|
|
55213
|
+
let l = `${n.id},${o}`;
|
|
55214
|
+
this.modelRoutes.delete(l), this.modelRoutes.delete(o);
|
|
55215
|
+
}), t.models.forEach((o) => {
|
|
55216
|
+
let l = `${n.name},${o}`, d = { provider: n.name, model: o, fullModel: l };
|
|
55217
|
+
this.modelRoutes.set(l, d), this.modelRoutes.has(o) || this.modelRoutes.set(o, d);
|
|
55218
|
+
})), r;
|
|
55219
55219
|
}
|
|
55220
55220
|
deleteProvider(e) {
|
|
55221
55221
|
let t = this.providers.get(e);
|
|
55222
55222
|
return t ? (t.models.forEach((n) => {
|
|
55223
|
-
let
|
|
55224
|
-
this.modelRoutes.delete(
|
|
55223
|
+
let r = `${t.name},${n}`;
|
|
55224
|
+
this.modelRoutes.delete(r), this.modelRoutes.delete(n);
|
|
55225
55225
|
}), this.providers.delete(e), true) : false;
|
|
55226
55226
|
}
|
|
55227
55227
|
toggleProvider(e, t) {
|
|
@@ -55247,8 +55247,8 @@ var F = class {
|
|
|
55247
55247
|
parseTransformerConfig(e) {
|
|
55248
55248
|
return e ? Array.isArray(e) ? e.reduce((t, n) => {
|
|
55249
55249
|
if (Array.isArray(n)) {
|
|
55250
|
-
let [
|
|
55251
|
-
t[
|
|
55250
|
+
let [r, o = {}] = n;
|
|
55251
|
+
t[r] = o;
|
|
55252
55252
|
} else t[n] = {};
|
|
55253
55253
|
return t;
|
|
55254
55254
|
}, {}) : e : {};
|
|
@@ -55262,38 +55262,38 @@ var F = class {
|
|
|
55262
55262
|
}), { object: "list", data: e };
|
|
55263
55263
|
}
|
|
55264
55264
|
};
|
|
55265
|
-
var
|
|
55265
|
+
var U = class {
|
|
55266
55266
|
name = "Anthropic";
|
|
55267
55267
|
endPoint = "/v1/messages";
|
|
55268
55268
|
transformRequestOut(e) {
|
|
55269
|
-
|
|
55269
|
+
C("Anthropic Request:", JSON.stringify(e, null, 2));
|
|
55270
55270
|
let t = [];
|
|
55271
55271
|
if (e.system) {
|
|
55272
55272
|
if (typeof e.system == "string") t.push({ role: "system", content: e.system });
|
|
55273
55273
|
else if (Array.isArray(e.system)) {
|
|
55274
|
-
let
|
|
55275
|
-
t.push({ role: "system", content:
|
|
55276
|
-
}
|
|
55277
|
-
}
|
|
55278
|
-
return JSON.parse(JSON.stringify(e.messages || []))?.forEach((
|
|
55279
|
-
if (
|
|
55280
|
-
let
|
|
55281
|
-
if (typeof
|
|
55282
|
-
else if (Array.isArray(
|
|
55283
|
-
if (
|
|
55284
|
-
let
|
|
55285
|
-
|
|
55286
|
-
let
|
|
55287
|
-
t.push(
|
|
55274
|
+
let o = e.system.filter((l) => l.type === "text" && l.text).map((l) => ({ type: "text", text: l.text, cache_control: l.cache_control }));
|
|
55275
|
+
t.push({ role: "system", content: o });
|
|
55276
|
+
}
|
|
55277
|
+
}
|
|
55278
|
+
return JSON.parse(JSON.stringify(e.messages || []))?.forEach((o, l) => {
|
|
55279
|
+
if (o.role === "user" || o.role === "assistant") {
|
|
55280
|
+
let d = { role: o.role, content: null };
|
|
55281
|
+
if (typeof o.content == "string") t.push({ role: o.role, content: o.content });
|
|
55282
|
+
else if (Array.isArray(o.content)) {
|
|
55283
|
+
if (o.role === "user") {
|
|
55284
|
+
let c = o.content.filter((u) => u.type === "tool_result" && u.tool_use_id);
|
|
55285
|
+
c.length && c.forEach((u, y) => {
|
|
55286
|
+
let k = { role: "tool", content: typeof u.content == "string" ? u.content : JSON.stringify(u.content), tool_call_id: u.tool_use_id, cache_control: u.cache_control };
|
|
55287
|
+
t.push(k);
|
|
55288
55288
|
});
|
|
55289
|
-
let a =
|
|
55289
|
+
let a = o.content.filter((u) => u.type === "text" && u.text);
|
|
55290
55290
|
a.length && t.push({ role: "user", content: a });
|
|
55291
|
-
} else if (
|
|
55292
|
-
let
|
|
55293
|
-
a.length && (
|
|
55291
|
+
} else if (o.role === "assistant") {
|
|
55292
|
+
let c = { role: "assistant", content: null }, a = o.content.filter((y) => y.type === "text" && y.text);
|
|
55293
|
+
a.length && (c.content = a.map((y) => y.text).join(`
|
|
55294
55294
|
`));
|
|
55295
|
-
let
|
|
55296
|
-
|
|
55295
|
+
let u = o.content.filter((y) => y.type === "tool_use" && y.id);
|
|
55296
|
+
u.length && (c.tool_calls = u.map((y) => ({ id: y.id, type: "function", function: { name: y.name, arguments: JSON.stringify(y.input || {}) } }))), t.push(c);
|
|
55297
55297
|
}
|
|
55298
55298
|
return;
|
|
55299
55299
|
}
|
|
@@ -55306,8 +55306,8 @@ var q = class {
|
|
|
55306
55306
|
let n = await this.convertOpenAIStreamToAnthropic(e.body);
|
|
55307
55307
|
return new Response(n, { headers: { "Content-Type": "text/event-stream", "Cache-Control": "no-cache", Connection: "keep-alive" } });
|
|
55308
55308
|
} else {
|
|
55309
|
-
let n = await e.json(),
|
|
55310
|
-
return new Response(JSON.stringify(
|
|
55309
|
+
let n = await e.json(), r = this.convertOpenAIResponseToAnthropic(n);
|
|
55310
|
+
return new Response(JSON.stringify(r), { headers: { "Content-Type": "application/json" } });
|
|
55311
55311
|
}
|
|
55312
55312
|
}
|
|
55313
55313
|
convertAnthropicToolsToUnified(e) {
|
|
@@ -55315,288 +55315,297 @@ var q = class {
|
|
|
55315
55315
|
}
|
|
55316
55316
|
async convertOpenAIStreamToAnthropic(e) {
|
|
55317
55317
|
return new ReadableStream({ async start(n) {
|
|
55318
|
-
let
|
|
55318
|
+
let r = new TextEncoder(), o = `msg_${Date.now()}`, l = "unknown", d = false, c = false, a = false, u = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), k = 0, g = 0, f = 0, i = false, v = false, h = 0, p = (x) => {
|
|
55319
55319
|
if (!i) try {
|
|
55320
|
-
n.enqueue(
|
|
55321
|
-
let
|
|
55322
|
-
|
|
55323
|
-
} catch (
|
|
55324
|
-
if (
|
|
55325
|
-
else throw
|
|
55326
|
-
}
|
|
55327
|
-
},
|
|
55320
|
+
n.enqueue(x);
|
|
55321
|
+
let R = new TextDecoder().decode(x);
|
|
55322
|
+
C("send data:", R.trim());
|
|
55323
|
+
} catch (R) {
|
|
55324
|
+
if (R instanceof TypeError && R.message.includes("Controller is already closed")) i = true;
|
|
55325
|
+
else throw C(`send data error: ${R.message}`), R;
|
|
55326
|
+
}
|
|
55327
|
+
}, m = () => {
|
|
55328
55328
|
if (!i) try {
|
|
55329
55329
|
n.close(), i = true;
|
|
55330
|
-
} catch (
|
|
55331
|
-
if (
|
|
55332
|
-
else throw
|
|
55330
|
+
} catch (x) {
|
|
55331
|
+
if (x instanceof TypeError && x.message.includes("Controller is already closed")) i = true;
|
|
55332
|
+
else throw x;
|
|
55333
55333
|
}
|
|
55334
|
-
},
|
|
55334
|
+
}, T = null;
|
|
55335
55335
|
try {
|
|
55336
|
-
|
|
55337
|
-
let
|
|
55336
|
+
T = e.getReader();
|
|
55337
|
+
let x = new TextDecoder(), R = "";
|
|
55338
55338
|
for (; !i; ) {
|
|
55339
|
-
let { done:
|
|
55340
|
-
if (
|
|
55341
|
-
|
|
55342
|
-
let
|
|
55339
|
+
let { done: X, value: me } = await T.read();
|
|
55340
|
+
if (X) break;
|
|
55341
|
+
R += x.decode(me, { stream: true });
|
|
55342
|
+
let se = R.split(`
|
|
55343
55343
|
`);
|
|
55344
|
-
|
|
55345
|
-
for (let
|
|
55344
|
+
R = se.pop() || "";
|
|
55345
|
+
for (let ie of se) {
|
|
55346
55346
|
if (i || a) break;
|
|
55347
|
-
if (!
|
|
55348
|
-
let
|
|
55349
|
-
if (
|
|
55350
|
-
let O = JSON.parse(
|
|
55351
|
-
if (
|
|
55352
|
-
let
|
|
55353
|
-
|
|
55354
|
-
data: ${JSON.stringify(
|
|
55347
|
+
if (!ie.startsWith("data: ")) continue;
|
|
55348
|
+
let Q = ie.slice(6);
|
|
55349
|
+
if (Q !== "[DONE]") try {
|
|
55350
|
+
let O = JSON.parse(Q);
|
|
55351
|
+
if (k++, C("Original Response:", JSON.stringify(O, null, 2)), O.error) {
|
|
55352
|
+
let _ = { type: "error", message: { type: "api_error", message: JSON.stringify(O.error) } };
|
|
55353
|
+
p(r.encode(`event: error
|
|
55354
|
+
data: ${JSON.stringify(_)}
|
|
55355
55355
|
|
|
55356
55356
|
`));
|
|
55357
55357
|
continue;
|
|
55358
55358
|
}
|
|
55359
|
-
if (
|
|
55360
|
-
|
|
55361
|
-
let
|
|
55362
|
-
|
|
55363
|
-
data: ${JSON.stringify(
|
|
55359
|
+
if (l = O.model || l, !d && !i && !a) {
|
|
55360
|
+
d = true;
|
|
55361
|
+
let _ = { type: "message_start", message: { id: o, type: "message", role: "assistant", content: [], model: l, stop_reason: null, stop_sequence: null, usage: { input_tokens: 1, output_tokens: 1 } } };
|
|
55362
|
+
p(r.encode(`event: message_start
|
|
55363
|
+
data: ${JSON.stringify(_)}
|
|
55364
55364
|
|
|
55365
55365
|
`));
|
|
55366
55366
|
}
|
|
55367
55367
|
let w = O.choices?.[0];
|
|
55368
55368
|
if (!w) continue;
|
|
55369
55369
|
if (w?.delta?.thinking && !i && !a) {
|
|
55370
|
-
if (!
|
|
55371
|
-
let
|
|
55372
|
-
|
|
55373
|
-
data: ${JSON.stringify(
|
|
55370
|
+
if (!v) {
|
|
55371
|
+
let _ = { type: "content_block_start", index: h, content_block: { type: "thinking", thinking: "" } };
|
|
55372
|
+
p(r.encode(`event: content_block_start
|
|
55373
|
+
data: ${JSON.stringify(_)}
|
|
55374
55374
|
|
|
55375
|
-
`)),
|
|
55375
|
+
`)), v = true;
|
|
55376
55376
|
}
|
|
55377
55377
|
if (w.delta.thinking.signature) {
|
|
55378
|
-
let
|
|
55379
|
-
|
|
55380
|
-
data: ${JSON.stringify(
|
|
55378
|
+
let _ = { type: "content_block_delta", index: h, delta: { type: "signature_delta", signature: w.delta.thinking.signature } };
|
|
55379
|
+
p(r.encode(`event: content_block_delta
|
|
55380
|
+
data: ${JSON.stringify(_)}
|
|
55381
55381
|
|
|
55382
55382
|
`));
|
|
55383
|
-
let
|
|
55384
|
-
|
|
55385
|
-
data: ${JSON.stringify(
|
|
55383
|
+
let S = { type: "content_block_stop", index: h };
|
|
55384
|
+
p(r.encode(`event: content_block_stop
|
|
55385
|
+
data: ${JSON.stringify(S)}
|
|
55386
55386
|
|
|
55387
55387
|
`)), h++;
|
|
55388
55388
|
} else if (w.delta.thinking.content) {
|
|
55389
|
-
let
|
|
55390
|
-
|
|
55391
|
-
data: ${JSON.stringify(
|
|
55389
|
+
let _ = { type: "content_block_delta", index: h, delta: { type: "thinking_delta", thinking: w.delta.thinking.content || "" } };
|
|
55390
|
+
p(r.encode(`event: content_block_delta
|
|
55391
|
+
data: ${JSON.stringify(_)}
|
|
55392
55392
|
|
|
55393
55393
|
`));
|
|
55394
55394
|
}
|
|
55395
55395
|
}
|
|
55396
55396
|
if (w?.delta?.content && !i && !a) {
|
|
55397
|
-
if (
|
|
55398
|
-
|
|
55399
|
-
let
|
|
55400
|
-
|
|
55401
|
-
data: ${JSON.stringify(
|
|
55397
|
+
if (g++, !c && !a) {
|
|
55398
|
+
c = true;
|
|
55399
|
+
let _ = { type: "content_block_start", index: h, content_block: { type: "text", text: "" } };
|
|
55400
|
+
p(r.encode(`event: content_block_start
|
|
55401
|
+
data: ${JSON.stringify(_)}
|
|
55402
55402
|
|
|
55403
55403
|
`));
|
|
55404
55404
|
}
|
|
55405
55405
|
if (!i && !a) {
|
|
55406
|
-
let
|
|
55407
|
-
|
|
55408
|
-
data: ${JSON.stringify(
|
|
55406
|
+
let _ = { type: "content_block_delta", index: h, delta: { type: "text_delta", text: w.delta.content } };
|
|
55407
|
+
p(r.encode(`event: content_block_delta
|
|
55408
|
+
data: ${JSON.stringify(_)}
|
|
55409
55409
|
|
|
55410
55410
|
`));
|
|
55411
55411
|
}
|
|
55412
55412
|
}
|
|
55413
55413
|
if (w?.delta?.tool_calls && !i && !a) {
|
|
55414
|
-
|
|
55415
|
-
let
|
|
55416
|
-
for (let
|
|
55414
|
+
f++;
|
|
55415
|
+
let _ = /* @__PURE__ */ new Set();
|
|
55416
|
+
for (let S of w.delta.tool_calls) {
|
|
55417
55417
|
if (i) break;
|
|
55418
|
-
let
|
|
55419
|
-
if (
|
|
55420
|
-
if (
|
|
55421
|
-
let E =
|
|
55418
|
+
let P = S.index ?? 0;
|
|
55419
|
+
if (_.has(P)) continue;
|
|
55420
|
+
if (_.add(P), !y.has(P)) {
|
|
55421
|
+
let E = c ? y.size + 1 : y.size;
|
|
55422
55422
|
if (E !== 0) {
|
|
55423
|
-
|
|
55424
|
-
let
|
|
55425
|
-
|
|
55426
|
-
data: ${JSON.stringify(
|
|
55423
|
+
C("content_block_stop2");
|
|
55424
|
+
let he = { type: "content_block_stop", index: h };
|
|
55425
|
+
p(r.encode(`event: content_block_stop
|
|
55426
|
+
data: ${JSON.stringify(he)}
|
|
55427
55427
|
|
|
55428
55428
|
`)), h++;
|
|
55429
55429
|
}
|
|
55430
|
-
|
|
55431
|
-
let
|
|
55432
|
-
|
|
55433
|
-
data: ${JSON.stringify(
|
|
55430
|
+
y.set(P, E);
|
|
55431
|
+
let M = S.id || `call_${Date.now()}_${P}`, A = S.function?.name || `tool_${P}`, N = { type: "content_block_start", index: h, content_block: { type: "tool_use", id: M, name: A, input: {} } };
|
|
55432
|
+
p(r.encode(`event: content_block_start
|
|
55433
|
+
data: ${JSON.stringify(N)}
|
|
55434
55434
|
|
|
55435
55435
|
`));
|
|
55436
|
-
let
|
|
55437
|
-
|
|
55438
|
-
} else if (
|
|
55439
|
-
let E =
|
|
55440
|
-
E.id.startsWith("call_") && E.name.startsWith("tool_") && (E.id =
|
|
55436
|
+
let H = { id: M, name: A, arguments: "", contentBlockIndex: E };
|
|
55437
|
+
u.set(P, H);
|
|
55438
|
+
} else if (S.id && S.function?.name) {
|
|
55439
|
+
let E = u.get(P);
|
|
55440
|
+
E.id.startsWith("call_") && E.name.startsWith("tool_") && (E.id = S.id, E.name = S.function.name);
|
|
55441
55441
|
}
|
|
55442
|
-
if (
|
|
55443
|
-
if (
|
|
55444
|
-
let
|
|
55445
|
-
if (
|
|
55446
|
-
|
|
55442
|
+
if (S.function?.arguments && !i && !a) {
|
|
55443
|
+
if (y.get(P) === void 0) continue;
|
|
55444
|
+
let M = u.get(P);
|
|
55445
|
+
if (M) {
|
|
55446
|
+
M.arguments += S.function.arguments;
|
|
55447
55447
|
try {
|
|
55448
|
-
let A = null,
|
|
55449
|
-
if (
|
|
55450
|
-
A = JSON.parse(
|
|
55451
|
-
} catch (
|
|
55452
|
-
|
|
55448
|
+
let A = null, N = M.arguments.trim();
|
|
55449
|
+
if (N.startsWith("{") && N.endsWith("}")) try {
|
|
55450
|
+
A = JSON.parse(N);
|
|
55451
|
+
} catch (H) {
|
|
55452
|
+
C("Tool call index:", P, "error", H.message);
|
|
55453
55453
|
}
|
|
55454
55454
|
} catch (A) {
|
|
55455
|
-
|
|
55455
|
+
C("Tool call index:", P, "error", A.message);
|
|
55456
55456
|
}
|
|
55457
55457
|
}
|
|
55458
55458
|
try {
|
|
55459
|
-
let A = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json:
|
|
55460
|
-
|
|
55459
|
+
let A = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: S.function.arguments } };
|
|
55460
|
+
p(r.encode(`event: content_block_delta
|
|
55461
55461
|
data: ${JSON.stringify(A)}
|
|
55462
55462
|
|
|
55463
55463
|
`));
|
|
55464
55464
|
} catch {
|
|
55465
55465
|
try {
|
|
55466
|
-
let
|
|
55467
|
-
|
|
55468
|
-
data: ${JSON.stringify(
|
|
55466
|
+
let N = S.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g, "").replace(/\\/g, "\\\\").replace(/"/g, '\\"'), H = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: N } };
|
|
55467
|
+
p(r.encode(`event: content_block_delta
|
|
55468
|
+
data: ${JSON.stringify(H)}
|
|
55469
55469
|
|
|
55470
55470
|
`));
|
|
55471
|
-
} catch (
|
|
55472
|
-
console.error(
|
|
55471
|
+
} catch (N) {
|
|
55472
|
+
console.error(N);
|
|
55473
55473
|
}
|
|
55474
55474
|
}
|
|
55475
55475
|
}
|
|
55476
55476
|
}
|
|
55477
55477
|
}
|
|
55478
55478
|
if (w?.finish_reason && !i && !a) {
|
|
55479
|
-
if (a = true,
|
|
55480
|
-
|
|
55481
|
-
let
|
|
55482
|
-
|
|
55483
|
-
data: ${JSON.stringify(
|
|
55479
|
+
if (a = true, g === 0 && f === 0 && console.error("Warning: No content in the stream response!"), (c || f > 0) && !i) {
|
|
55480
|
+
C("content_block_stop hasTextContentStarted");
|
|
55481
|
+
let _ = { type: "content_block_stop", index: h };
|
|
55482
|
+
p(r.encode(`event: content_block_stop
|
|
55483
|
+
data: ${JSON.stringify(_)}
|
|
55484
55484
|
|
|
55485
55485
|
`));
|
|
55486
55486
|
}
|
|
55487
55487
|
if (!i) {
|
|
55488
|
-
let
|
|
55489
|
-
|
|
55490
|
-
data: ${JSON.stringify(
|
|
55488
|
+
let P = { type: "message_delta", delta: { stop_reason: { stop: "end_turn", length: "max_tokens", tool_calls: "tool_use", content_filter: "stop_sequence" }[w.finish_reason] || "end_turn", stop_sequence: null }, usage: { input_tokens: O.usage?.prompt_tokens || 0, output_tokens: O.usage?.completion_tokens || 0 } };
|
|
55489
|
+
p(r.encode(`event: message_delta
|
|
55490
|
+
data: ${JSON.stringify(P)}
|
|
55491
55491
|
|
|
55492
55492
|
`));
|
|
55493
55493
|
}
|
|
55494
55494
|
if (!i) {
|
|
55495
|
-
let
|
|
55496
|
-
|
|
55497
|
-
data: ${JSON.stringify(
|
|
55495
|
+
let _ = { type: "message_stop" };
|
|
55496
|
+
p(r.encode(`event: message_stop
|
|
55497
|
+
data: ${JSON.stringify(_)}
|
|
55498
55498
|
|
|
55499
55499
|
`));
|
|
55500
55500
|
}
|
|
55501
55501
|
break;
|
|
55502
55502
|
}
|
|
55503
55503
|
} catch (O) {
|
|
55504
|
-
|
|
55504
|
+
C(`parseError: ${O.name} message: ${O.message} stack: ${O.stack} data: ${Q}`);
|
|
55505
55505
|
}
|
|
55506
55506
|
}
|
|
55507
55507
|
}
|
|
55508
|
-
|
|
55509
|
-
} catch (
|
|
55508
|
+
m();
|
|
55509
|
+
} catch (x) {
|
|
55510
55510
|
if (!i) try {
|
|
55511
|
-
n.error(
|
|
55512
|
-
} catch (
|
|
55513
|
-
console.error(
|
|
55511
|
+
n.error(x);
|
|
55512
|
+
} catch (R) {
|
|
55513
|
+
console.error(R);
|
|
55514
55514
|
}
|
|
55515
55515
|
} finally {
|
|
55516
|
-
if (
|
|
55517
|
-
|
|
55518
|
-
} catch (
|
|
55519
|
-
console.error(
|
|
55516
|
+
if (T) try {
|
|
55517
|
+
T.releaseLock();
|
|
55518
|
+
} catch (x) {
|
|
55519
|
+
console.error(x);
|
|
55520
55520
|
}
|
|
55521
55521
|
}
|
|
55522
55522
|
}, cancel(n) {
|
|
55523
|
-
|
|
55523
|
+
C("cancle stream:", n);
|
|
55524
55524
|
} });
|
|
55525
55525
|
}
|
|
55526
55526
|
convertOpenAIResponseToAnthropic(e) {
|
|
55527
|
-
|
|
55527
|
+
C("Original OpenAI response:", JSON.stringify(e, null, 2));
|
|
55528
55528
|
let t = e.choices[0];
|
|
55529
55529
|
if (!t) throw new Error("No choices found in OpenAI response");
|
|
55530
55530
|
let n = [];
|
|
55531
|
-
t.message.content && n.push({ type: "text", text: t.message.content }), t.message.tool_calls && t.message.tool_calls.length > 0 && t.message.tool_calls.forEach((
|
|
55532
|
-
let
|
|
55531
|
+
t.message.content && n.push({ type: "text", text: t.message.content }), t.message.tool_calls && t.message.tool_calls.length > 0 && t.message.tool_calls.forEach((o, l) => {
|
|
55532
|
+
let d = {};
|
|
55533
55533
|
try {
|
|
55534
|
-
let
|
|
55535
|
-
typeof
|
|
55534
|
+
let c = o.function.arguments || "{}";
|
|
55535
|
+
typeof c == "object" ? d = c : typeof c == "string" && (d = JSON.parse(c));
|
|
55536
55536
|
} catch {
|
|
55537
|
-
|
|
55537
|
+
d = { text: o.function.arguments || "" };
|
|
55538
55538
|
}
|
|
55539
|
-
n.push({ type: "tool_use", id:
|
|
55539
|
+
n.push({ type: "tool_use", id: o.id, name: o.function.name, input: d });
|
|
55540
55540
|
});
|
|
55541
|
-
let
|
|
55542
|
-
return
|
|
55541
|
+
let r = { id: e.id, type: "message", role: "assistant", model: e.model, content: n, stop_reason: t.finish_reason === "stop" ? "end_turn" : t.finish_reason === "length" ? "max_tokens" : t.finish_reason === "tool_calls" ? "tool_use" : t.finish_reason === "content_filter" ? "stop_sequence" : "end_turn", stop_sequence: null, usage: { input_tokens: e.usage?.prompt_tokens || 0, output_tokens: e.usage?.completion_tokens || 0 } };
|
|
55542
|
+
return C("Conversion complete, final Anthropic response:", JSON.stringify(r, null, 2)), r;
|
|
55543
55543
|
}
|
|
55544
55544
|
};
|
|
55545
|
-
|
|
55545
|
+
function ee(s) {
|
|
55546
|
+
if (!(!s || typeof s != "object")) {
|
|
55547
|
+
if (Array.isArray(s)) {
|
|
55548
|
+
s.forEach(ee);
|
|
55549
|
+
return;
|
|
55550
|
+
}
|
|
55551
|
+
delete s.$schema, delete s.additionalProperties, s.type === "string" && s.format && !["enum", "date-time"].includes(s.format) && delete s.format, Object.keys(s).forEach((e) => {
|
|
55552
|
+
ee(s[e]);
|
|
55553
|
+
});
|
|
55554
|
+
}
|
|
55555
|
+
}
|
|
55556
|
+
var J = class {
|
|
55546
55557
|
name = "gemini";
|
|
55547
55558
|
endPoint = "/v1beta/models/:modelAndAction";
|
|
55548
55559
|
transformRequestIn(e, t) {
|
|
55549
55560
|
return { body: { contents: e.messages.map((n) => {
|
|
55550
|
-
let
|
|
55551
|
-
n.role === "assistant" ?
|
|
55552
|
-
let
|
|
55553
|
-
return typeof n.content == "string" ?
|
|
55554
|
-
if (
|
|
55555
|
-
})), Array.isArray(n.tool_calls) &&
|
|
55556
|
-
}), tools: [{ functionDeclarations: e.tools?.map((n) => (
|
|
55557
|
-
delete n.function.parameters.properties[o].$schema, delete n.function.parameters.properties[o].additionalProperties, n.function.parameters.properties[o].items && typeof n.function.parameters.properties[o].items == "object" && (delete n.function.parameters.properties[o].items.$schema, delete n.function.parameters.properties[o].items.additionalProperties), n.function.parameters.properties[o].type === "string" && (["enum", "date-time"].includes(n.function.parameters.properties[o].format) || delete n.function.parameters.properties[o].format);
|
|
55558
|
-
}), { name: n.function.name, description: n.function.description, parameters: n.function.parameters })) || [] }] }, config: { url: new URL(`./${e.model}:${e.stream ? "streamGenerateContent?alt=sse" : "generateContent"}`, t.baseUrl), headers: { "x-goog-api-key": t.apiKey, Authorization: void 0 } } };
|
|
55561
|
+
let r;
|
|
55562
|
+
n.role === "assistant" ? r = "model" : (["user", "system", "tool"].includes(n.role), r = "user");
|
|
55563
|
+
let o = [];
|
|
55564
|
+
return typeof n.content == "string" ? o.push({ text: n.content }) : Array.isArray(n.content) && o.push(...n.content.map((l) => {
|
|
55565
|
+
if (l.type === "text") return { text: l.text || "" };
|
|
55566
|
+
})), Array.isArray(n.tool_calls) && o.push(...n.tool_calls.map((l) => ({ functionCall: { id: l.id || `tool_${Math.random().toString(36).substring(2, 15)}`, name: l.function.name, args: JSON.parse(l.function.arguments || "{}") } }))), { role: r, parts: o };
|
|
55567
|
+
}), tools: [{ functionDeclarations: e.tools?.map((n) => (n.function.parameters && ee(n.function.parameters), { name: n.function.name, description: n.function.description, parameters: n.function.parameters })) || [] }] }, config: { url: new URL(`./${e.model}:${e.stream ? "streamGenerateContent?alt=sse" : "generateContent"}`, t.baseUrl), headers: { "x-goog-api-key": t.apiKey, Authorization: void 0 } } };
|
|
55559
55568
|
}
|
|
55560
55569
|
transformRequestOut(e) {
|
|
55561
|
-
let t = e.contents, n = e.tools,
|
|
55562
|
-
return Array.isArray(t) && t.forEach((
|
|
55563
|
-
typeof
|
|
55564
|
-
}), Array.isArray(n) && (a.tools = [], n.forEach((
|
|
55565
|
-
Array.isArray(
|
|
55566
|
-
a.tools.push({ type: "function", function: { name:
|
|
55570
|
+
let t = e.contents, n = e.tools, r = e.model, o = e.max_tokens, l = e.temperature, d = e.stream, c = e.tool_choice, a = { messages: [], model: r, max_tokens: o, temperature: l, stream: d, tool_choice: c };
|
|
55571
|
+
return Array.isArray(t) && t.forEach((u) => {
|
|
55572
|
+
typeof u == "string" ? a.messages.push({ role: "user", content: u }) : typeof u.text == "string" ? a.messages.push({ role: "user", content: u.text || null }) : u.role === "user" ? a.messages.push({ role: "user", content: u?.parts?.map((y) => ({ type: "text", text: y.text || "" })) || [] }) : u.role === "model" && a.messages.push({ role: "assistant", content: u?.parts?.map((y) => ({ type: "text", text: y.text || "" })) || [] });
|
|
55573
|
+
}), Array.isArray(n) && (a.tools = [], n.forEach((u) => {
|
|
55574
|
+
Array.isArray(u.functionDeclarations) && u.functionDeclarations.forEach((y) => {
|
|
55575
|
+
a.tools.push({ type: "function", function: { name: y.name, description: y.description, parameters: y.parameters } });
|
|
55567
55576
|
});
|
|
55568
55577
|
})), a;
|
|
55569
55578
|
}
|
|
55570
55579
|
async transformResponseOut(e) {
|
|
55571
55580
|
if (e.headers.get("Content-Type")?.includes("application/json")) {
|
|
55572
|
-
let t = await e.json(), n = t.candidates[0].content.parts.filter((
|
|
55581
|
+
let t = await e.json(), n = t.candidates[0].content.parts.filter((o) => o.functionCall).map((o) => ({ id: o.functionCall?.id || `tool_${Math.random().toString(36).substring(2, 15)}`, type: "function", function: { name: o.functionCall?.name, arguments: JSON.stringify(o.functionCall?.args || {}) } })), r = { id: t.responseId, choices: [{ finish_reason: t.candidates[0].finishReason?.toLowerCase() || null, index: 0, message: { content: t.candidates[0].content.parts.filter((o) => o.text).map((o) => o.text).join(`
|
|
55573
55582
|
`), role: "assistant", tool_calls: n.length > 0 ? n : void 0 } }], created: parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3 + "", 10), model: t.modelVersion, object: "chat.completion", usage: { completion_tokens: t.usageMetadata.candidatesTokenCount, prompt_tokens: t.usageMetadata.promptTokenCount, total_tokens: t.usageMetadata.totalTokenCount } };
|
|
55574
|
-
return new Response(JSON.stringify(
|
|
55583
|
+
return new Response(JSON.stringify(r), { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55575
55584
|
} else if (e.headers.get("Content-Type")?.includes("stream")) {
|
|
55576
55585
|
if (!e.body) return e;
|
|
55577
|
-
let t = new TextDecoder(), n = new TextEncoder(),
|
|
55578
|
-
let
|
|
55586
|
+
let t = new TextDecoder(), n = new TextEncoder(), r = new ReadableStream({ async start(o) {
|
|
55587
|
+
let l = e.body.getReader();
|
|
55579
55588
|
try {
|
|
55580
55589
|
for (; ; ) {
|
|
55581
|
-
let { done:
|
|
55582
|
-
if (
|
|
55583
|
-
let a = t.decode(
|
|
55590
|
+
let { done: d, value: c } = await l.read();
|
|
55591
|
+
if (d) break;
|
|
55592
|
+
let a = t.decode(c, { stream: true });
|
|
55584
55593
|
if (a.startsWith("data: ")) a = a.slice(6).trim();
|
|
55585
55594
|
else break;
|
|
55586
|
-
|
|
55587
|
-
let
|
|
55588
|
-
`), tool_calls:
|
|
55589
|
-
|
|
55595
|
+
C("gemini chunk:", a), a = JSON.parse(a);
|
|
55596
|
+
let u = a.candidates[0].content.parts.filter((k) => k.functionCall).map((k) => ({ id: k.functionCall?.id || `tool_${Math.random().toString(36).substring(2, 15)}`, type: "function", function: { name: k.functionCall?.name, arguments: JSON.stringify(k.functionCall?.args || {}) } })), y = { choices: [{ delta: { role: "assistant", content: a.candidates[0].content.parts.filter((k) => k.text).map((k) => k.text).join(`
|
|
55597
|
+
`), tool_calls: u.length > 0 ? u : void 0 }, finish_reason: a.candidates[0].finishReason?.toLowerCase() || null, index: a.candidates[0].index || u.length > 0 ? 1 : 0, logprobs: null }], created: parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3 + "", 10), id: a.responseId || "", model: a.modelVersion || "", object: "chat.completion.chunk", system_fingerprint: "fp_a49d71b8a1" };
|
|
55598
|
+
C("gemini response:", JSON.stringify(y, null, 2)), o.enqueue(n.encode(`data: ${JSON.stringify(y)}
|
|
55590
55599
|
|
|
55591
55600
|
`));
|
|
55592
55601
|
}
|
|
55593
|
-
} catch (
|
|
55594
|
-
|
|
55602
|
+
} catch (d) {
|
|
55603
|
+
o.error(d);
|
|
55595
55604
|
} finally {
|
|
55596
|
-
|
|
55605
|
+
o.close();
|
|
55597
55606
|
}
|
|
55598
55607
|
} });
|
|
55599
|
-
return new Response(
|
|
55608
|
+
return new Response(r, { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55600
55609
|
}
|
|
55601
55610
|
return e;
|
|
55602
55611
|
}
|
|
@@ -55612,66 +55621,66 @@ var j = class {
|
|
|
55612
55621
|
return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55613
55622
|
} else if (e.headers.get("Content-Type")?.includes("stream")) {
|
|
55614
55623
|
if (!e.body) return e;
|
|
55615
|
-
let t = new TextDecoder(), n = new TextEncoder(),
|
|
55616
|
-
let
|
|
55624
|
+
let t = new TextDecoder(), n = new TextEncoder(), r = "", o = false, l = new ReadableStream({ async start(d) {
|
|
55625
|
+
let c = e.body.getReader();
|
|
55617
55626
|
try {
|
|
55618
55627
|
for (; ; ) {
|
|
55619
|
-
let { done: a, value:
|
|
55628
|
+
let { done: a, value: u } = await c.read();
|
|
55620
55629
|
if (a) break;
|
|
55621
|
-
let
|
|
55630
|
+
let k = t.decode(u, { stream: true }).split(`
|
|
55622
55631
|
`);
|
|
55623
|
-
for (let
|
|
55624
|
-
let
|
|
55625
|
-
if (
|
|
55626
|
-
|
|
55627
|
-
let i = { ...
|
|
55632
|
+
for (let g of k) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
|
|
55633
|
+
let f = JSON.parse(g.slice(6));
|
|
55634
|
+
if (f.choices?.[0]?.delta?.reasoning_content) {
|
|
55635
|
+
r += f.choices[0].delta.reasoning_content;
|
|
55636
|
+
let i = { ...f, choices: [{ ...f.choices[0], delta: { ...f.choices[0].delta, thinking: { content: f.choices[0].delta.reasoning_content } } }] };
|
|
55628
55637
|
delete i.choices[0].delta.reasoning_content;
|
|
55629
|
-
let
|
|
55638
|
+
let v = `data: ${JSON.stringify(i)}
|
|
55630
55639
|
|
|
55631
55640
|
`;
|
|
55632
|
-
|
|
55641
|
+
d.enqueue(n.encode(v));
|
|
55633
55642
|
continue;
|
|
55634
55643
|
}
|
|
55635
|
-
if (
|
|
55636
|
-
|
|
55637
|
-
let i = Date.now().toString(),
|
|
55638
|
-
delete
|
|
55639
|
-
let h = `data: ${JSON.stringify(
|
|
55644
|
+
if (f.choices?.[0]?.delta?.content && r && !o) {
|
|
55645
|
+
o = true;
|
|
55646
|
+
let i = Date.now().toString(), v = { ...f, choices: [{ ...f.choices[0], delta: { ...f.choices[0].delta, content: null, thinking: { content: r, signature: i } } }] };
|
|
55647
|
+
delete v.choices[0].delta.reasoning_content;
|
|
55648
|
+
let h = `data: ${JSON.stringify(v)}
|
|
55640
55649
|
|
|
55641
55650
|
`;
|
|
55642
|
-
|
|
55651
|
+
d.enqueue(n.encode(h));
|
|
55643
55652
|
}
|
|
55644
|
-
if (
|
|
55645
|
-
|
|
55646
|
-
let i = `data: ${JSON.stringify(
|
|
55653
|
+
if (f.choices[0]?.delta?.reasoning_content && delete f.choices[0].delta.reasoning_content, f.choices?.[0]?.delta && Object.keys(f.choices[0].delta).length > 0) {
|
|
55654
|
+
o && f.choices[0].index++;
|
|
55655
|
+
let i = `data: ${JSON.stringify(f)}
|
|
55647
55656
|
|
|
55648
55657
|
`;
|
|
55649
|
-
|
|
55658
|
+
d.enqueue(n.encode(i));
|
|
55650
55659
|
}
|
|
55651
55660
|
} catch {
|
|
55652
|
-
|
|
55661
|
+
d.enqueue(n.encode(g + `
|
|
55653
55662
|
`));
|
|
55654
55663
|
}
|
|
55655
|
-
else
|
|
55664
|
+
else d.enqueue(n.encode(g + `
|
|
55656
55665
|
`));
|
|
55657
55666
|
}
|
|
55658
55667
|
} catch (a) {
|
|
55659
|
-
|
|
55668
|
+
d.error(a);
|
|
55660
55669
|
} finally {
|
|
55661
55670
|
try {
|
|
55662
|
-
|
|
55671
|
+
c.releaseLock();
|
|
55663
55672
|
} catch (a) {
|
|
55664
55673
|
console.error("Error releasing reader lock:", a);
|
|
55665
55674
|
}
|
|
55666
|
-
|
|
55675
|
+
d.close();
|
|
55667
55676
|
}
|
|
55668
55677
|
} });
|
|
55669
|
-
return new Response(
|
|
55678
|
+
return new Response(l, { status: e.status, statusText: e.statusText, headers: { "Content-Type": e.headers.get("Content-Type") || "text/plain", "Cache-Control": "no-cache", Connection: "keep-alive" } });
|
|
55670
55679
|
}
|
|
55671
55680
|
return e;
|
|
55672
55681
|
}
|
|
55673
55682
|
};
|
|
55674
|
-
var
|
|
55683
|
+
var D = class {
|
|
55675
55684
|
name = "tooluse";
|
|
55676
55685
|
transformRequestIn(e) {
|
|
55677
55686
|
return e.messages.push({ role: "system", content: "<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>" }), e.tools?.length && (e.tool_choice = "required", e.tools.unshift({ type: "function", function: { name: "ExitTool", description: `Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
|
|
@@ -55684,71 +55693,95 @@ Examples:
|
|
|
55684
55693
|
if (e.headers.get("Content-Type")?.includes("application/json")) {
|
|
55685
55694
|
let t = await e.json();
|
|
55686
55695
|
if (t?.choices[0]?.message.tool_calls?.length && t?.choices[0]?.message.tool_calls[0]?.function?.name === "ExitTool") {
|
|
55687
|
-
let n = t?.choices[0]?.message.tool_calls[0],
|
|
55688
|
-
t.choices[0].message.content =
|
|
55696
|
+
let n = t?.choices[0]?.message.tool_calls[0], r = JSON.parse(n.function.arguments || "{}");
|
|
55697
|
+
t.choices[0].message.content = r.response || "", delete t.choices[0].message.tool_calls;
|
|
55689
55698
|
}
|
|
55690
55699
|
return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55691
55700
|
} else if (e.headers.get("Content-Type")?.includes("stream")) {
|
|
55692
55701
|
if (!e.body) return e;
|
|
55693
|
-
let t = new TextDecoder(), n = new TextEncoder(),
|
|
55694
|
-
let
|
|
55702
|
+
let t = new TextDecoder(), n = new TextEncoder(), r = -1, o = "", l = new ReadableStream({ async start(d) {
|
|
55703
|
+
let c = e.body.getReader();
|
|
55695
55704
|
try {
|
|
55696
55705
|
for (; ; ) {
|
|
55697
|
-
let { done: a, value:
|
|
55706
|
+
let { done: a, value: u } = await c.read();
|
|
55698
55707
|
if (a) break;
|
|
55699
|
-
let
|
|
55708
|
+
let k = t.decode(u, { stream: true }).split(`
|
|
55700
55709
|
`);
|
|
55701
|
-
for (let
|
|
55702
|
-
let
|
|
55703
|
-
if (
|
|
55704
|
-
let i =
|
|
55710
|
+
for (let g of k) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
|
|
55711
|
+
let f = JSON.parse(g.slice(6));
|
|
55712
|
+
if (f.choices[0]?.delta?.tool_calls?.length) {
|
|
55713
|
+
let i = f.choices[0].delta.tool_calls[0];
|
|
55705
55714
|
if (i.function?.name === "ExitTool") {
|
|
55706
|
-
|
|
55715
|
+
r = i.index;
|
|
55707
55716
|
continue;
|
|
55708
|
-
} else if (
|
|
55709
|
-
|
|
55717
|
+
} else if (r > -1 && i.index === r && i.function.arguments) {
|
|
55718
|
+
o += i.function.arguments;
|
|
55710
55719
|
try {
|
|
55711
|
-
let
|
|
55712
|
-
|
|
55713
|
-
let h = `data: ${JSON.stringify(
|
|
55720
|
+
let v = JSON.parse(o);
|
|
55721
|
+
f.choices = [{ delta: { role: "assistant", content: v.response || "" } }];
|
|
55722
|
+
let h = `data: ${JSON.stringify(f)}
|
|
55714
55723
|
|
|
55715
55724
|
`;
|
|
55716
|
-
|
|
55725
|
+
d.enqueue(n.encode(h));
|
|
55717
55726
|
} catch {
|
|
55718
55727
|
}
|
|
55719
55728
|
continue;
|
|
55720
55729
|
}
|
|
55721
55730
|
}
|
|
55722
|
-
if (
|
|
55723
|
-
let i = `data: ${JSON.stringify(
|
|
55731
|
+
if (f.choices?.[0]?.delta && Object.keys(f.choices[0].delta).length > 0) {
|
|
55732
|
+
let i = `data: ${JSON.stringify(f)}
|
|
55724
55733
|
|
|
55725
55734
|
`;
|
|
55726
|
-
|
|
55735
|
+
d.enqueue(n.encode(i));
|
|
55727
55736
|
}
|
|
55728
55737
|
} catch {
|
|
55729
|
-
|
|
55738
|
+
d.enqueue(n.encode(g + `
|
|
55730
55739
|
`));
|
|
55731
55740
|
}
|
|
55732
|
-
else
|
|
55741
|
+
else d.enqueue(n.encode(g + `
|
|
55733
55742
|
`));
|
|
55734
55743
|
}
|
|
55735
55744
|
} catch (a) {
|
|
55736
|
-
|
|
55745
|
+
d.error(a);
|
|
55737
55746
|
} finally {
|
|
55738
55747
|
try {
|
|
55739
|
-
|
|
55748
|
+
c.releaseLock();
|
|
55740
55749
|
} catch (a) {
|
|
55741
55750
|
console.error("Error releasing reader lock:", a);
|
|
55742
55751
|
}
|
|
55743
|
-
|
|
55752
|
+
d.close();
|
|
55744
55753
|
}
|
|
55745
55754
|
} });
|
|
55746
|
-
return new Response(
|
|
55755
|
+
return new Response(l, { status: e.status, statusText: e.statusText, headers: { "Content-Type": e.headers.get("Content-Type") || "text/plain", "Cache-Control": "no-cache", Connection: "keep-alive" } });
|
|
55747
55756
|
}
|
|
55748
55757
|
return e;
|
|
55749
55758
|
}
|
|
55750
55759
|
};
|
|
55751
|
-
var
|
|
55760
|
+
var b = [];
|
|
55761
|
+
for (let s = 0; s < 256; ++s) b.push((s + 256).toString(16).slice(1));
|
|
55762
|
+
function ue(s, e = 0) {
|
|
55763
|
+
return (b[s[e + 0]] + b[s[e + 1]] + b[s[e + 2]] + b[s[e + 3]] + "-" + b[s[e + 4]] + b[s[e + 5]] + "-" + b[s[e + 6]] + b[s[e + 7]] + "-" + b[s[e + 8]] + b[s[e + 9]] + "-" + b[s[e + 10]] + b[s[e + 11]] + b[s[e + 12]] + b[s[e + 13]] + b[s[e + 14]] + b[s[e + 15]]).toLowerCase();
|
|
55764
|
+
}
|
|
55765
|
+
var z = new Uint8Array(256);
|
|
55766
|
+
var B = z.length;
|
|
55767
|
+
function te() {
|
|
55768
|
+
return B > z.length - 16 && ((0, import_crypto.randomFillSync)(z), B = 0), z.slice(B, B += 16);
|
|
55769
|
+
}
|
|
55770
|
+
var ne = { randomUUID: import_crypto2.randomUUID };
|
|
55771
|
+
function Re(s, e, t) {
|
|
55772
|
+
if (ne.randomUUID && !e && !s) return ne.randomUUID();
|
|
55773
|
+
s = s || {};
|
|
55774
|
+
let n = s.random ?? s.rng?.() ?? te();
|
|
55775
|
+
if (n.length < 16) throw new Error("Random bytes length must be >= 16");
|
|
55776
|
+
if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, e) {
|
|
55777
|
+
if (t = t || 0, t < 0 || t + 16 > e.length) throw new RangeError(`UUID byte range ${t}:${t + 15} is out of buffer bounds`);
|
|
55778
|
+
for (let r = 0; r < 16; ++r) e[t + r] = n[r];
|
|
55779
|
+
return e;
|
|
55780
|
+
}
|
|
55781
|
+
return ue(n);
|
|
55782
|
+
}
|
|
55783
|
+
var I = Re;
|
|
55784
|
+
var V = class {
|
|
55752
55785
|
name = "openrouter";
|
|
55753
55786
|
transformRequestIn(e) {
|
|
55754
55787
|
return e.model.includes("claude") || e.messages.forEach((t) => {
|
|
@@ -55763,105 +55796,109 @@ var D = class {
|
|
|
55763
55796
|
return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55764
55797
|
} else if (e.headers.get("Content-Type")?.includes("stream")) {
|
|
55765
55798
|
if (!e.body) return e;
|
|
55766
|
-
let t = new TextDecoder(), n = new TextEncoder(),
|
|
55767
|
-
let
|
|
55768
|
-
let
|
|
55799
|
+
let t = new TextDecoder(), n = new TextEncoder(), r = false, o = "", l = false, d = false, c = "", a = new ReadableStream({ async start(u) {
|
|
55800
|
+
let y = e.body.getReader(), k = (f, i, v) => {
|
|
55801
|
+
let h = f.split(`
|
|
55769
55802
|
`);
|
|
55770
|
-
for (let
|
|
55803
|
+
for (let p of h) p.trim() && i.enqueue(v.encode(p + `
|
|
55771
55804
|
`));
|
|
55772
|
-
},
|
|
55773
|
-
let { controller:
|
|
55774
|
-
if (
|
|
55775
|
-
let
|
|
55805
|
+
}, g = (f, i) => {
|
|
55806
|
+
let { controller: v, encoder: h } = i;
|
|
55807
|
+
if (f.startsWith("data: ") && f.trim() !== "data: [DONE]") {
|
|
55808
|
+
let p = f.slice(6);
|
|
55776
55809
|
try {
|
|
55777
|
-
let
|
|
55778
|
-
if (
|
|
55779
|
-
|
|
55780
|
-
|
|
55781
|
-
|
|
55782
|
-
let
|
|
55810
|
+
let m = JSON.parse(p);
|
|
55811
|
+
if (m.usage && (C("usage", m.usage, d), m.choices[0].finish_reason = d ? "tool_calls" : "stop"), m.choices?.[0]?.finish_reason === "error" && v.enqueue(h.encode(`data: ${JSON.stringify({ error: m.choices?.[0].error })}
|
|
55812
|
+
|
|
55813
|
+
`)), m.choices?.[0]?.delta?.content && !i.hasTextContent() && i.setHasTextContent(true), m.choices?.[0]?.delta?.reasoning) {
|
|
55814
|
+
i.appendReasoningContent(m.choices[0].delta.reasoning);
|
|
55815
|
+
let x = { ...m, choices: [{ ...m.choices?.[0], delta: { ...m.choices[0].delta, thinking: { content: m.choices[0].delta.reasoning } } }] };
|
|
55816
|
+
x.choices?.[0]?.delta && delete x.choices[0].delta.reasoning;
|
|
55817
|
+
let R = `data: ${JSON.stringify(x)}
|
|
55783
55818
|
|
|
55784
55819
|
`;
|
|
55785
|
-
|
|
55820
|
+
v.enqueue(h.encode(R));
|
|
55786
55821
|
return;
|
|
55787
55822
|
}
|
|
55788
|
-
if (
|
|
55789
|
-
|
|
55790
|
-
let
|
|
55791
|
-
|
|
55792
|
-
let
|
|
55823
|
+
if (m.choices?.[0]?.delta?.content && i.reasoningContent() && !i.isReasoningComplete()) {
|
|
55824
|
+
i.setReasoningComplete(true);
|
|
55825
|
+
let x = Date.now().toString(), R = { ...m, choices: [{ ...m.choices?.[0], delta: { ...m.choices[0].delta, content: null, thinking: { content: i.reasoningContent(), signature: x } } }] };
|
|
55826
|
+
R.choices?.[0]?.delta && delete R.choices[0].delta.reasoning;
|
|
55827
|
+
let X = `data: ${JSON.stringify(R)}
|
|
55793
55828
|
|
|
55794
55829
|
`;
|
|
55795
|
-
|
|
55830
|
+
v.enqueue(h.encode(X));
|
|
55796
55831
|
}
|
|
55797
|
-
|
|
55798
|
-
|
|
55832
|
+
m.choices?.[0]?.delta?.reasoning && delete m.choices[0].delta.reasoning, m.choices?.[0]?.delta?.tool_calls?.length && !Number.isNaN(parseInt(m.choices?.[0]?.delta?.tool_calls[0].id, 10)) && m.choices?.[0]?.delta?.tool_calls.forEach((x) => {
|
|
55833
|
+
x.id = `call_${I()}`;
|
|
55834
|
+
}), m.choices?.[0]?.delta?.tool_calls?.length && !d && (C("hasToolCall", true), d = true), m.choices?.[0]?.delta?.tool_calls?.length && i.hasTextContent() && (typeof m.choices[0].index == "number" ? m.choices[0].index += 1 : m.choices[0].index = 1);
|
|
55835
|
+
let T = `data: ${JSON.stringify(m)}
|
|
55799
55836
|
|
|
55800
55837
|
`;
|
|
55801
|
-
|
|
55838
|
+
v.enqueue(h.encode(T));
|
|
55802
55839
|
} catch {
|
|
55803
|
-
|
|
55840
|
+
v.enqueue(h.encode(f + `
|
|
55804
55841
|
`));
|
|
55805
55842
|
}
|
|
55806
|
-
} else
|
|
55843
|
+
} else v.enqueue(h.encode(f + `
|
|
55807
55844
|
`));
|
|
55808
55845
|
};
|
|
55809
55846
|
try {
|
|
55810
55847
|
for (; ; ) {
|
|
55811
|
-
let { done:
|
|
55812
|
-
if (
|
|
55813
|
-
|
|
55848
|
+
let { done: f, value: i } = await y.read();
|
|
55849
|
+
if (f) {
|
|
55850
|
+
c.trim() && k(c, u, n);
|
|
55814
55851
|
break;
|
|
55815
55852
|
}
|
|
55816
|
-
if (!
|
|
55817
|
-
let
|
|
55853
|
+
if (!i || i.length === 0) continue;
|
|
55854
|
+
let v;
|
|
55818
55855
|
try {
|
|
55819
|
-
|
|
55820
|
-
} catch (
|
|
55821
|
-
console.warn("Failed to decode chunk",
|
|
55856
|
+
v = t.decode(i, { stream: true });
|
|
55857
|
+
} catch (p) {
|
|
55858
|
+
console.warn("Failed to decode chunk", p);
|
|
55822
55859
|
continue;
|
|
55823
55860
|
}
|
|
55824
|
-
if (
|
|
55825
|
-
if (
|
|
55861
|
+
if (v.length === 0) continue;
|
|
55862
|
+
if (c += v, c.length > 1e6) {
|
|
55826
55863
|
console.warn("Buffer size exceeds limit, processing partial data");
|
|
55827
|
-
let
|
|
55864
|
+
let p = c.split(`
|
|
55828
55865
|
`);
|
|
55829
|
-
|
|
55830
|
-
for (let
|
|
55831
|
-
|
|
55832
|
-
} catch (
|
|
55833
|
-
console.error("Error processing line:",
|
|
55866
|
+
c = p.pop() || "";
|
|
55867
|
+
for (let m of p) if (m.trim()) try {
|
|
55868
|
+
g(m, { controller: u, encoder: n, hasTextContent: () => r, setHasTextContent: (T) => r = T, reasoningContent: () => o, appendReasoningContent: (T) => o += T, isReasoningComplete: () => l, setReasoningComplete: (T) => l = T });
|
|
55869
|
+
} catch (T) {
|
|
55870
|
+
console.error("Error processing line:", m, T), u.enqueue(n.encode(m + `
|
|
55834
55871
|
`));
|
|
55835
55872
|
}
|
|
55836
55873
|
continue;
|
|
55837
55874
|
}
|
|
55838
|
-
let
|
|
55875
|
+
let h = c.split(`
|
|
55839
55876
|
`);
|
|
55840
|
-
|
|
55841
|
-
for (let
|
|
55842
|
-
|
|
55843
|
-
} catch (
|
|
55844
|
-
console.error("Error processing line:",
|
|
55877
|
+
c = h.pop() || "";
|
|
55878
|
+
for (let p of h) if (p.trim()) try {
|
|
55879
|
+
g(p, { controller: u, encoder: n, hasTextContent: () => r, setHasTextContent: (m) => r = m, reasoningContent: () => o, appendReasoningContent: (m) => o += m, isReasoningComplete: () => l, setReasoningComplete: (m) => l = m });
|
|
55880
|
+
} catch (m) {
|
|
55881
|
+
console.error("Error processing line:", p, m), u.enqueue(n.encode(p + `
|
|
55845
55882
|
`));
|
|
55846
55883
|
}
|
|
55847
55884
|
}
|
|
55848
|
-
} catch (
|
|
55849
|
-
console.error("Stream error:",
|
|
55885
|
+
} catch (f) {
|
|
55886
|
+
console.error("Stream error:", f), u.error(f);
|
|
55850
55887
|
} finally {
|
|
55851
55888
|
try {
|
|
55852
|
-
|
|
55853
|
-
} catch (
|
|
55854
|
-
console.error("Error releasing reader lock:",
|
|
55889
|
+
y.releaseLock();
|
|
55890
|
+
} catch (f) {
|
|
55891
|
+
console.error("Error releasing reader lock:", f);
|
|
55855
55892
|
}
|
|
55856
|
-
|
|
55893
|
+
u.close();
|
|
55857
55894
|
}
|
|
55858
55895
|
} });
|
|
55859
|
-
return new Response(
|
|
55896
|
+
return new Response(a, { status: e.status, statusText: e.statusText, headers: { "Content-Type": e.headers.get("Content-Type") || "text/plain", "Cache-Control": "no-cache", Connection: "keep-alive" } });
|
|
55860
55897
|
}
|
|
55861
55898
|
return e;
|
|
55862
55899
|
}
|
|
55863
55900
|
};
|
|
55864
|
-
var
|
|
55901
|
+
var W = class {
|
|
55865
55902
|
constructor(e) {
|
|
55866
55903
|
this.options = e;
|
|
55867
55904
|
this.max_tokens = this.options?.max_tokens;
|
|
@@ -55872,31 +55909,7 @@ var B = class {
|
|
|
55872
55909
|
return e.max_tokens && e.max_tokens > this.max_tokens && (e.max_tokens = this.max_tokens), e;
|
|
55873
55910
|
}
|
|
55874
55911
|
};
|
|
55875
|
-
var
|
|
55876
|
-
for (let s = 0; s < 256; ++s) R.push((s + 256).toString(16).slice(1));
|
|
55877
|
-
function le(s, e = 0) {
|
|
55878
|
-
return (R[s[e + 0]] + R[s[e + 1]] + R[s[e + 2]] + R[s[e + 3]] + "-" + R[s[e + 4]] + R[s[e + 5]] + "-" + R[s[e + 6]] + R[s[e + 7]] + "-" + R[s[e + 8]] + R[s[e + 9]] + "-" + R[s[e + 10]] + R[s[e + 11]] + R[s[e + 12]] + R[s[e + 13]] + R[s[e + 14]] + R[s[e + 15]]).toLowerCase();
|
|
55879
|
-
}
|
|
55880
|
-
var V = new Uint8Array(256);
|
|
55881
|
-
var z = V.length;
|
|
55882
|
-
function X() {
|
|
55883
|
-
return z > V.length - 16 && ((0, import_crypto.randomFillSync)(V), z = 0), V.slice(z, z += 16);
|
|
55884
|
-
}
|
|
55885
|
-
var Q = { randomUUID: import_crypto2.randomUUID };
|
|
55886
|
-
function xe(s, e, t) {
|
|
55887
|
-
if (Q.randomUUID && !e && !s) return Q.randomUUID();
|
|
55888
|
-
s = s || {};
|
|
55889
|
-
let n = s.random ?? s.rng?.() ?? X();
|
|
55890
|
-
if (n.length < 16) throw new Error("Random bytes length must be >= 16");
|
|
55891
|
-
if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, e) {
|
|
55892
|
-
if (t = t || 0, t < 0 || t + 16 > e.length) throw new RangeError(`UUID byte range ${t}:${t + 15} is out of buffer bounds`);
|
|
55893
|
-
for (let o = 0; o < 16; ++o) e[t + o] = n[o];
|
|
55894
|
-
return e;
|
|
55895
|
-
}
|
|
55896
|
-
return le(n);
|
|
55897
|
-
}
|
|
55898
|
-
var Z = xe;
|
|
55899
|
-
var W = class {
|
|
55912
|
+
var G = class {
|
|
55900
55913
|
name = "groq";
|
|
55901
55914
|
async transformRequestIn(e) {
|
|
55902
55915
|
return e.messages.forEach((t) => {
|
|
@@ -55913,96 +55926,106 @@ var W = class {
|
|
|
55913
55926
|
return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
|
|
55914
55927
|
} else if (e.headers.get("Content-Type")?.includes("stream")) {
|
|
55915
55928
|
if (!e.body) return e;
|
|
55916
|
-
let t = new TextDecoder(), n = new TextEncoder(),
|
|
55917
|
-
let
|
|
55918
|
-
let
|
|
55929
|
+
let t = new TextDecoder(), n = new TextEncoder(), r = false, o = "", l = false, d = "", c = new ReadableStream({ async start(a) {
|
|
55930
|
+
let u = e.body.getReader(), y = (g, f, i) => {
|
|
55931
|
+
let v = g.split(`
|
|
55919
55932
|
`);
|
|
55920
|
-
for (let h of
|
|
55933
|
+
for (let h of v) h.trim() && f.enqueue(i.encode(h + `
|
|
55921
55934
|
`));
|
|
55922
|
-
},
|
|
55923
|
-
let { controller: i, encoder:
|
|
55924
|
-
if (
|
|
55925
|
-
let h =
|
|
55935
|
+
}, k = (g, f) => {
|
|
55936
|
+
let { controller: i, encoder: v } = f;
|
|
55937
|
+
if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") {
|
|
55938
|
+
let h = g.slice(6);
|
|
55926
55939
|
try {
|
|
55927
|
-
let
|
|
55928
|
-
if (
|
|
55929
|
-
|
|
55930
|
-
|
|
55931
|
-
}),
|
|
55932
|
-
let
|
|
55940
|
+
let p = JSON.parse(h);
|
|
55941
|
+
if (p.error) throw new Error(JSON.stringify(p));
|
|
55942
|
+
p.choices?.[0]?.delta?.content && !f.hasTextContent() && f.setHasTextContent(true), p.choices?.[0]?.delta?.tool_calls?.length && p.choices?.[0]?.delta?.tool_calls.forEach((T) => {
|
|
55943
|
+
T.id = `call_${I()}`;
|
|
55944
|
+
}), p.choices?.[0]?.delta?.tool_calls?.length && f.hasTextContent() && (typeof p.choices[0].index == "number" ? p.choices[0].index += 1 : p.choices[0].index = 1);
|
|
55945
|
+
let m = `data: ${JSON.stringify(p)}
|
|
55933
55946
|
|
|
55934
55947
|
`;
|
|
55935
|
-
i.enqueue(
|
|
55948
|
+
i.enqueue(v.encode(m));
|
|
55936
55949
|
} catch {
|
|
55937
|
-
i.enqueue(
|
|
55950
|
+
i.enqueue(v.encode(g + `
|
|
55938
55951
|
`));
|
|
55939
55952
|
}
|
|
55940
|
-
} else i.enqueue(
|
|
55953
|
+
} else i.enqueue(v.encode(g + `
|
|
55941
55954
|
`));
|
|
55942
55955
|
};
|
|
55943
55956
|
try {
|
|
55944
55957
|
for (; ; ) {
|
|
55945
|
-
let { done:
|
|
55946
|
-
if (
|
|
55947
|
-
|
|
55958
|
+
let { done: g, value: f } = await u.read();
|
|
55959
|
+
if (g) {
|
|
55960
|
+
d.trim() && y(d, a, n);
|
|
55948
55961
|
break;
|
|
55949
55962
|
}
|
|
55950
|
-
if (!
|
|
55963
|
+
if (!f || f.length === 0) continue;
|
|
55951
55964
|
let i;
|
|
55952
55965
|
try {
|
|
55953
|
-
i = t.decode(
|
|
55966
|
+
i = t.decode(f, { stream: true });
|
|
55954
55967
|
} catch (h) {
|
|
55955
55968
|
console.warn("Failed to decode chunk", h);
|
|
55956
55969
|
continue;
|
|
55957
55970
|
}
|
|
55958
55971
|
if (i.length === 0) continue;
|
|
55959
|
-
if (
|
|
55972
|
+
if (d += i, d.length > 1e6) {
|
|
55960
55973
|
console.warn("Buffer size exceeds limit, processing partial data");
|
|
55961
|
-
let h =
|
|
55974
|
+
let h = d.split(`
|
|
55962
55975
|
`);
|
|
55963
|
-
|
|
55964
|
-
for (let
|
|
55965
|
-
|
|
55966
|
-
} catch (
|
|
55967
|
-
console.error("Error processing line:",
|
|
55976
|
+
d = h.pop() || "";
|
|
55977
|
+
for (let p of h) if (p.trim()) try {
|
|
55978
|
+
k(p, { controller: a, encoder: n, hasTextContent: () => r, setHasTextContent: (m) => r = m, reasoningContent: () => o, appendReasoningContent: (m) => o += m, isReasoningComplete: () => l, setReasoningComplete: (m) => l = m });
|
|
55979
|
+
} catch (m) {
|
|
55980
|
+
console.error("Error processing line:", p, m), a.enqueue(n.encode(p + `
|
|
55968
55981
|
`));
|
|
55969
55982
|
}
|
|
55970
55983
|
continue;
|
|
55971
55984
|
}
|
|
55972
|
-
let
|
|
55985
|
+
let v = d.split(`
|
|
55973
55986
|
`);
|
|
55974
|
-
|
|
55975
|
-
for (let h of
|
|
55976
|
-
|
|
55977
|
-
} catch (
|
|
55978
|
-
console.error("Error processing line:", h,
|
|
55987
|
+
d = v.pop() || "";
|
|
55988
|
+
for (let h of v) if (h.trim()) try {
|
|
55989
|
+
k(h, { controller: a, encoder: n, hasTextContent: () => r, setHasTextContent: (p) => r = p, reasoningContent: () => o, appendReasoningContent: (p) => o += p, isReasoningComplete: () => l, setReasoningComplete: (p) => l = p });
|
|
55990
|
+
} catch (p) {
|
|
55991
|
+
console.error("Error processing line:", h, p), a.enqueue(n.encode(h + `
|
|
55979
55992
|
`));
|
|
55980
55993
|
}
|
|
55981
55994
|
}
|
|
55982
|
-
} catch (
|
|
55983
|
-
console.error("Stream error:",
|
|
55995
|
+
} catch (g) {
|
|
55996
|
+
console.error("Stream error:", g), a.error(g);
|
|
55984
55997
|
} finally {
|
|
55985
55998
|
try {
|
|
55986
|
-
|
|
55987
|
-
} catch (
|
|
55988
|
-
console.error("Error releasing reader lock:",
|
|
55999
|
+
u.releaseLock();
|
|
56000
|
+
} catch (g) {
|
|
56001
|
+
console.error("Error releasing reader lock:", g);
|
|
55989
56002
|
}
|
|
55990
56003
|
a.close();
|
|
55991
56004
|
}
|
|
55992
56005
|
} });
|
|
55993
|
-
return new Response(
|
|
56006
|
+
return new Response(c, { status: e.status, statusText: e.statusText, headers: { "Content-Type": e.headers.get("Content-Type") || "text/plain", "Cache-Control": "no-cache", Connection: "keep-alive" } });
|
|
55994
56007
|
}
|
|
55995
56008
|
return e;
|
|
55996
56009
|
}
|
|
55997
56010
|
};
|
|
55998
|
-
var
|
|
55999
|
-
|
|
56011
|
+
var K = class {
|
|
56012
|
+
name = "cleancache";
|
|
56013
|
+
async transformRequestIn(e) {
|
|
56014
|
+
return Array.isArray(e.messages) && e.messages.forEach((t) => {
|
|
56015
|
+
Array.isArray(t.content) ? t.content.forEach((n) => {
|
|
56016
|
+
n.cache_control && delete n.cache_control;
|
|
56017
|
+
}) : t.cache_control && delete t.cache_control;
|
|
56018
|
+
}), e;
|
|
56019
|
+
}
|
|
56020
|
+
};
|
|
56021
|
+
var pe = { AnthropicTransformer: U, GeminiTransformer: J, DeepseekTransformer: j, TooluseTransformer: D, OpenrouterTransformer: V, MaxTokenTransformer: W, GroqTransformer: G, CleancacheTransformer: K };
|
|
56022
|
+
var Y = class {
|
|
56000
56023
|
constructor(e) {
|
|
56001
56024
|
this.configService = e;
|
|
56002
56025
|
}
|
|
56003
56026
|
transformers = /* @__PURE__ */ new Map();
|
|
56004
56027
|
registerTransformer(e, t) {
|
|
56005
|
-
this.transformers.set(e, t),
|
|
56028
|
+
this.transformers.set(e, t), C(`register transformer: ${e}${t.endPoint ? ` (endpoint: ${t.endPoint})` : " (no endpoint)"}`);
|
|
56006
56029
|
}
|
|
56007
56030
|
getTransformer(e) {
|
|
56008
56031
|
return this.transformers.get(e);
|
|
@@ -56031,31 +56054,31 @@ var G = class {
|
|
|
56031
56054
|
async registerTransformerFromConfig(e) {
|
|
56032
56055
|
try {
|
|
56033
56056
|
let t = import_node_module.default._load;
|
|
56034
|
-
if (import_node_module.default._load = function(n,
|
|
56035
|
-
return n === "claude-code-router" ? { log:
|
|
56057
|
+
if (import_node_module.default._load = function(n, r, o) {
|
|
56058
|
+
return n === "claude-code-router" ? { log: C } : t.apply(import_node_module.default, arguments);
|
|
56036
56059
|
}, e.path) {
|
|
56037
|
-
let n =
|
|
56060
|
+
let n = Z(Z.resolve(e.path));
|
|
56038
56061
|
if (n) {
|
|
56039
|
-
let
|
|
56040
|
-
if (!
|
|
56041
|
-
return this.registerTransformer(
|
|
56062
|
+
let r = new n(e.options);
|
|
56063
|
+
if (!r.name) throw new Error(`Transformer instance from ${e.path} does not have a name property.`);
|
|
56064
|
+
return this.registerTransformer(r.name, r), true;
|
|
56042
56065
|
}
|
|
56043
56066
|
}
|
|
56044
56067
|
return false;
|
|
56045
56068
|
} catch (t) {
|
|
56046
|
-
return
|
|
56069
|
+
return C(`load transformer (${e.path}) error:`, t.message, t.stack), false;
|
|
56047
56070
|
}
|
|
56048
56071
|
}
|
|
56049
56072
|
async initialize() {
|
|
56050
56073
|
try {
|
|
56051
56074
|
await this.registerDefaultTransformersInternal(), await this.loadFromConfig();
|
|
56052
56075
|
} catch (e) {
|
|
56053
|
-
|
|
56076
|
+
C("TransformerService init error:", e);
|
|
56054
56077
|
}
|
|
56055
56078
|
}
|
|
56056
56079
|
async registerDefaultTransformersInternal() {
|
|
56057
56080
|
try {
|
|
56058
|
-
Object.values(
|
|
56081
|
+
Object.values(pe).forEach((e) => {
|
|
56059
56082
|
if ("TransformerName" in e && typeof e.TransformerName == "string") this.registerTransformer(e.TransformerName, e);
|
|
56060
56083
|
else {
|
|
56061
56084
|
let t = new e();
|
|
@@ -56063,7 +56086,7 @@ var G = class {
|
|
|
56063
56086
|
}
|
|
56064
56087
|
});
|
|
56065
56088
|
} catch (e) {
|
|
56066
|
-
|
|
56089
|
+
C("transformer regist error:", e);
|
|
56067
56090
|
}
|
|
56068
56091
|
}
|
|
56069
56092
|
async loadFromConfig() {
|
|
@@ -56071,20 +56094,20 @@ var G = class {
|
|
|
56071
56094
|
for (let t of e) await this.registerTransformerFromConfig(t);
|
|
56072
56095
|
}
|
|
56073
56096
|
};
|
|
56074
|
-
function
|
|
56097
|
+
function Se() {
|
|
56075
56098
|
let s = (0, import_fastify.default)({});
|
|
56076
|
-
return s.setErrorHandler(
|
|
56099
|
+
return s.setErrorHandler(le), s.register(import_cors.default), s;
|
|
56077
56100
|
}
|
|
56078
|
-
var
|
|
56101
|
+
var re = class {
|
|
56079
56102
|
app;
|
|
56080
56103
|
configService;
|
|
56081
56104
|
llmService;
|
|
56082
56105
|
providerService;
|
|
56083
56106
|
transformerService;
|
|
56084
56107
|
constructor(e = {}) {
|
|
56085
|
-
this.configService = new
|
|
56086
|
-
this.providerService = new F(this.configService, this.transformerService), this.llmService = new
|
|
56087
|
-
}), this.app =
|
|
56108
|
+
this.configService = new $(e), this.transformerService = new Y(this.configService), this.transformerService.initialize().finally(() => {
|
|
56109
|
+
this.providerService = new F(this.configService, this.transformerService), this.llmService = new q(this.providerService);
|
|
56110
|
+
}), this.app = Se();
|
|
56088
56111
|
}
|
|
56089
56112
|
async register(e, t) {
|
|
56090
56113
|
await this.app.register(e, t);
|
|
@@ -56094,33 +56117,33 @@ var te = class {
|
|
|
56094
56117
|
}
|
|
56095
56118
|
async start() {
|
|
56096
56119
|
try {
|
|
56097
|
-
this.app._server = this, this.app.addHook("preHandler", async (n,
|
|
56120
|
+
this.app._server = this, this.app.addHook("preHandler", async (n, r) => {
|
|
56098
56121
|
try {
|
|
56099
|
-
let
|
|
56100
|
-
if (!
|
|
56101
|
-
let [
|
|
56102
|
-
|
|
56122
|
+
let o = n.body;
|
|
56123
|
+
if (!o || !o.model) return r.code(400).send({ error: "Missing model in request body" });
|
|
56124
|
+
let [l, d] = o.model.split(",");
|
|
56125
|
+
o.model = d, n.provider = l;
|
|
56103
56126
|
return;
|
|
56104
|
-
} catch (
|
|
56105
|
-
return n.log.error("Error in modelProviderMiddleware:",
|
|
56127
|
+
} catch (o) {
|
|
56128
|
+
return n.log.error("Error in modelProviderMiddleware:", o), r.code(500).send({ error: "Internal server error" });
|
|
56106
56129
|
}
|
|
56107
|
-
}), this.app.register(
|
|
56130
|
+
}), this.app.register(fe);
|
|
56108
56131
|
let e = await this.app.listen({ port: parseInt(this.configService.get("PORT") || "3000", 10), host: this.configService.get("HOST") || "127.0.0.1" });
|
|
56109
|
-
|
|
56132
|
+
C(`\u{1F680} LLMs API server listening on ${e}`);
|
|
56110
56133
|
let t = async (n) => {
|
|
56111
|
-
|
|
56134
|
+
C(`Received ${n}, shutting down gracefully...`), await this.app.close(), process.exit(0);
|
|
56112
56135
|
};
|
|
56113
56136
|
process.on("SIGINT", () => t("SIGINT")), process.on("SIGTERM", () => t("SIGTERM"));
|
|
56114
56137
|
} catch (e) {
|
|
56115
|
-
|
|
56138
|
+
C(`Error starting server: ${e}`), process.exit(1);
|
|
56116
56139
|
}
|
|
56117
56140
|
}
|
|
56118
56141
|
};
|
|
56119
|
-
var
|
|
56142
|
+
var cn = re;
|
|
56120
56143
|
|
|
56121
56144
|
// src/server.ts
|
|
56122
56145
|
var createServer = (config) => {
|
|
56123
|
-
const server = new
|
|
56146
|
+
const server = new cn(config);
|
|
56124
56147
|
return server;
|
|
56125
56148
|
};
|
|
56126
56149
|
|
|
@@ -56481,7 +56504,7 @@ async function executeCodeCommand(args = []) {
|
|
|
56481
56504
|
}
|
|
56482
56505
|
|
|
56483
56506
|
// package.json
|
|
56484
|
-
var version = "1.0.
|
|
56507
|
+
var version = "1.0.21";
|
|
56485
56508
|
|
|
56486
56509
|
// src/cli.ts
|
|
56487
56510
|
var import_child_process2 = require("child_process");
|