@musistudio/claude-code-router 1.0.22 → 1.0.23

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.
Files changed (4) hide show
  1. package/README.md +35 -11
  2. package/README_zh.md +34 -11
  3. package/dist/cli.js +601 -555
  4. 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, b2, c) {
1520
+ [name]: function(a, b, 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, b2, c), warning.name, warning.code);
1525
+ process.emitWarning(warning.format(a, b, c), warning.name, warning.code);
1526
1526
  }
1527
1527
  };
1528
1528
  if (unlimited) {
1529
1529
  warningContainer = {
1530
- [name]: function(a, b2, c) {
1530
+ [name]: function(a, b, c) {
1531
1531
  warning.emitted = true;
1532
- process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
1532
+ process.emitWarning(warning.format(a, b, 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, b2, c) {
1541
+ warning.format = function(a, b, c) {
1542
1542
  let formatted;
1543
- if (a && b2 && c) {
1544
- formatted = format(message, a, b2, c);
1545
- } else if (a && b2) {
1546
- formatted = format(message, a, b2);
1543
+ if (a && b && c) {
1544
+ formatted = format(message, a, b, c);
1545
+ } else if (a && b) {
1546
+ formatted = format(message, a, b);
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, b2) {
7303
- return a.level - b2.level;
7302
+ function compareByLevel(a, b) {
7303
+ return a.level - b.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((v2) => cb(null, v2), cb);
9141
+ result.then((v) => cb(null, v), cb);
9142
9142
  }
9143
9143
  }
9144
9144
  if (skipped) res.end(null, null, null);
@@ -12189,22 +12189,22 @@ var require_code = __commonJS({
12189
12189
  i++;
12190
12190
  }
12191
12191
  }
12192
- function mergeExprItems(a, b2) {
12193
- if (b2 === '""')
12192
+ function mergeExprItems(a, b) {
12193
+ if (b === '""')
12194
12194
  return a;
12195
12195
  if (a === '""')
12196
- return b2;
12196
+ return b;
12197
12197
  if (typeof a == "string") {
12198
- if (b2 instanceof Name || a[a.length - 1] !== '"')
12198
+ if (b instanceof Name || a[a.length - 1] !== '"')
12199
12199
  return;
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);
12200
+ if (typeof b != "string")
12201
+ return `${a.slice(0, -1)}${b}"`;
12202
+ if (b[0] === '"')
12203
+ return a.slice(0, -1) + b.slice(1);
12204
12204
  return;
12205
12205
  }
12206
- if (typeof b2 == "string" && b2[0] === '"' && !(a instanceof Name))
12207
- return `"${a}${b2.slice(1)}`;
12206
+ if (typeof b == "string" && b[0] === '"' && !(a instanceof Name))
12207
+ return `"${a}${b.slice(1)}`;
12208
12208
  return;
12209
12209
  }
12210
12210
  function strConcat(c1, c2) {
@@ -13097,7 +13097,7 @@ var require_codegen = __commonJS({
13097
13097
  }
13098
13098
  exports2.or = or;
13099
13099
  function mappend(op) {
13100
- return (x, y) => x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`;
13100
+ return (x, y2) => x === code_1.nil ? y2 : y2 === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y2)}`;
13101
13101
  }
13102
13102
  function par(x) {
13103
13103
  return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`;
@@ -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, 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;
14100
+ module2.exports = function equal(a, b) {
14101
+ if (a === b) return true;
14102
+ if (a && b && typeof a == "object" && typeof b == "object") {
14103
+ if (a.constructor !== b.constructor) return false;
14104
14104
  var length, i, keys;
14105
14105
  if (Array.isArray(a)) {
14106
14106
  length = a.length;
14107
- if (length != b2.length) return false;
14107
+ if (length != b.length) return false;
14108
14108
  for (i = length; i-- !== 0; )
14109
- if (!equal(a[i], b2[i])) return false;
14109
+ if (!equal(a[i], b[i])) return false;
14110
14110
  return true;
14111
14111
  }
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();
14112
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
14113
+ if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
14114
+ if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
14115
14115
  keys = Object.keys(a);
14116
14116
  length = keys.length;
14117
- if (length !== Object.keys(b2).length) return false;
14117
+ if (length !== Object.keys(b).length) return false;
14118
14118
  for (i = length; i-- !== 0; )
14119
- if (!Object.prototype.hasOwnProperty.call(b2, keys[i])) return false;
14119
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
14120
14120
  for (i = length; i-- !== 0; ) {
14121
14121
  var key = keys[i];
14122
- if (!equal(a[key], b2[key])) return false;
14122
+ if (!equal(a[key], b[key])) return false;
14123
14123
  }
14124
14124
  return true;
14125
14125
  }
14126
- return a !== a && b2 !== b2;
14126
+ return a !== a && b !== b;
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 v2;
15994
+ let v;
15995
15995
  if (typeof schemaKeyRef == "string") {
15996
- v2 = this.getSchema(schemaKeyRef);
15997
- if (!v2)
15996
+ v = this.getSchema(schemaKeyRef);
15997
+ if (!v)
15998
15998
  throw new Error(`no schema with key or ref "${schemaKeyRef}"`);
15999
15999
  } else {
16000
- v2 = this.compile(schemaKeyRef);
16000
+ v = this.compile(schemaKeyRef);
16001
16001
  }
16002
- const valid = v2(data);
16003
- if (!("$async" in v2))
16004
- this.errors = v2.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 v2 = getValidate(cxt, sch);
16499
- callRef(cxt, v2, sch, sch.$async);
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, v2, sch, $async) {
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, v2, passCxt)}`);
16535
- addEvaluatedFrom(v2);
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, v2, passCxt), () => addEvaluatedFrom(v2), () => addErrorsFrom(v2));
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, (v2) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v2})`, () => gen.assign(valid, true).break()));
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((v2) => this.addVocabulary(v2));
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, b2) => !b2 ? a : gcd(b2, a % b2);
20047
- const lcm = (a, b2) => a * b2 / gcd(a, b2);
20046
+ const gcd = (a, b) => !b ? a : gcd(b, a % b);
20047
+ const lcm = (a, b) => a * b / gcd(a, b);
20048
20048
  let scale = 1;
20049
20049
  for (const value of values) {
20050
20050
  while (value * scale % 1 !== 0) {
@@ -20157,8 +20157,8 @@ var require_merge_json_schemas = __commonJS({
20157
20157
  for (const array of arrays) {
20158
20158
  const temp = [];
20159
20159
  for (const x of result) {
20160
- for (const y of array) {
20161
- temp.push([...x, y]);
20160
+ for (const y2 of array) {
20161
+ temp.push([...x, y2]);
20162
20162
  }
20163
20163
  }
20164
20164
  result = temp;
@@ -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 v2 = (0, ref_1.getValidate)(cxt, sch);
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, v2, sch, sch.$async);
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) {
@@ -21497,11 +21497,11 @@ var require_timestamp = __commonJS({
21497
21497
  const matches = DATE.exec(str);
21498
21498
  if (!matches)
21499
21499
  return false;
21500
- const y = +matches[1];
21500
+ const y2 = +matches[1];
21501
21501
  const m = +matches[2];
21502
21502
  const d = +matches[3];
21503
21503
  return m >= 1 && m <= 12 && d >= 1 && (d <= DAYS[m] || // leap year: https://tools.ietf.org/html/rfc3339#appendix-C
21504
- m === 2 && d === 29 && (y % 100 === 0 ? y % 400 === 0 : y % 4 === 0));
21504
+ m === 2 && d === 29 && (y2 % 100 === 0 ? y2 % 400 === 0 : y2 % 4 === 0));
21505
21505
  }
21506
21506
  function validTime(str) {
21507
21507
  const matches = TIME.exec(str);
@@ -21681,7 +21681,7 @@ var require_enum2 = __commonJS({
21681
21681
  }
21682
21682
  cxt.pass(valid);
21683
21683
  function loopEnum() {
21684
- gen.forOf("v", schemaValue, (v2) => gen.if((0, codegen_1._)`${valid} = ${data} === ${v2}`, () => gen.break()));
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 v2 = ajv.getSchema(id2);
23177
- if (!v2)
23176
+ const v = ajv.getSchema(id2);
23177
+ if (!v)
23178
23178
  throw new Error(`moduleCode: no schema with id ${id2}`);
23179
- return v2;
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 v2 = getValidateFunc(schemas[name]);
23196
- if (v2) {
23197
- const vCode = validateCode(usedValues, v2.source);
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 = v2.source) === null || _a === void 0 ? void 0 : _a.validateName};${_n}${vCode}`;
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 v2 = vRef;
23218
- return validateCode(usedValues, v2.source);
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)
@@ -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, b2) => {
23608
+ var compareIdentifiers = (a, b) => {
23609
23609
  const anum = numeric.test(a);
23610
- const bnum = numeric.test(b2);
23610
+ const bnum = numeric.test(b);
23611
23611
  if (anum && bnum) {
23612
23612
  a = +a;
23613
- b2 = +b2;
23613
+ b = +b;
23614
23614
  }
23615
- return a === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b2 ? -1 : 1;
23615
+ return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
23616
23616
  };
23617
- var rcompareIdentifiers = (a, b2) => compareIdentifiers(b2, a);
23617
+ var rcompareIdentifiers = (a, b) => compareIdentifiers(b, 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 b2 = other.prerelease[i];
23732
- debug("prerelease compare", i, a, b2);
23733
- if (a === void 0 && b2 === void 0) {
23731
+ const b = other.prerelease[i];
23732
+ debug("prerelease compare", i, a, b);
23733
+ if (a === void 0 && b === void 0) {
23734
23734
  return 0;
23735
- } else if (b2 === void 0) {
23735
+ } else if (b === void 0) {
23736
23736
  return 1;
23737
23737
  } else if (a === void 0) {
23738
23738
  return -1;
23739
- } else if (a === b2) {
23739
+ } else if (a === b) {
23740
23740
  continue;
23741
23741
  } else {
23742
- return compareIdentifiers(a, b2);
23742
+ return compareIdentifiers(a, b);
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 b2 = other.build[i];
23754
- debug("build compare", i, a, b2);
23755
- if (a === void 0 && b2 === void 0) {
23753
+ const b = other.build[i];
23754
+ debug("build compare", i, a, b);
23755
+ if (a === void 0 && b === void 0) {
23756
23756
  return 0;
23757
- } else if (b2 === void 0) {
23757
+ } else if (b === void 0) {
23758
23758
  return 1;
23759
23759
  } else if (a === void 0) {
23760
23760
  return -1;
23761
- } else if (a === b2) {
23761
+ } else if (a === b) {
23762
23762
  continue;
23763
23763
  } else {
23764
- return compareIdentifiers(a, b2);
23764
+ return compareIdentifiers(a, b);
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 v2 = parse(version2, options);
23915
- return v2 ? v2.version : null;
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, b2, loose) => new SemVer(a, loose).compare(new SemVer(b2, loose));
24050
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, 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, b2, loose) => compare(b2, a, loose);
24060
+ var rcompare = (a, b, loose) => compare(b, 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, b2) => compare(a, b2, true);
24070
+ var compareLoose = (a, b) => compare(a, b, 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, b2, loose) => {
24080
+ var compareBuild = (a, b, loose) => {
24081
24081
  const versionA = new SemVer(a, loose);
24082
- const versionB = new SemVer(b2, loose);
24082
+ const versionB = new SemVer(b, 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, b2) => compareBuild(a, b2, loose));
24094
+ var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, 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, b2) => compareBuild(b2, a, loose));
24104
+ var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, 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, b2, loose) => compare(a, b2, loose) > 0;
24114
+ var gt = (a, b, loose) => compare(a, b, 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, b2, loose) => compare(a, b2, loose) < 0;
24124
+ var lt = (a, b, loose) => compare(a, b, 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, b2, loose) => compare(a, b2, loose) === 0;
24134
+ var eq = (a, b, loose) => compare(a, b, 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, b2, loose) => compare(a, b2, loose) !== 0;
24144
+ var neq = (a, b, loose) => compare(a, b, 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, b2, loose) => compare(a, b2, loose) >= 0;
24154
+ var gte = (a, b, loose) => compare(a, b, 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, b2, loose) => compare(a, b2, loose) <= 0;
24164
+ var lte = (a, b, loose) => compare(a, b, 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, b2, loose) => {
24179
+ var cmp = (a, op, b, loose) => {
24180
24180
  switch (op) {
24181
24181
  case "===":
24182
24182
  if (typeof a === "object") {
24183
24183
  a = a.version;
24184
24184
  }
24185
- if (typeof b2 === "object") {
24186
- b2 = b2.version;
24185
+ if (typeof b === "object") {
24186
+ b = b.version;
24187
24187
  }
24188
- return a === b2;
24188
+ return a === b;
24189
24189
  case "!==":
24190
24190
  if (typeof a === "object") {
24191
24191
  a = a.version;
24192
24192
  }
24193
- if (typeof b2 === "object") {
24194
- b2 = b2.version;
24193
+ if (typeof b === "object") {
24194
+ b = b.version;
24195
24195
  }
24196
- return a !== b2;
24196
+ return a !== b;
24197
24197
  case "":
24198
24198
  case "=":
24199
24199
  case "==":
24200
- return eq(a, b2, loose);
24200
+ return eq(a, b, loose);
24201
24201
  case "!=":
24202
- return neq(a, b2, loose);
24202
+ return neq(a, b, loose);
24203
24203
  case ">":
24204
- return gt(a, b2, loose);
24204
+ return gt(a, b, loose);
24205
24205
  case ">=":
24206
- return gte(a, b2, loose);
24206
+ return gte(a, b, loose);
24207
24207
  case "<":
24208
- return lt(a, b2, loose);
24208
+ return lt(a, b, loose);
24209
24209
  case "<=":
24210
- return lte(a, b2, loose);
24210
+ return lte(a, b, 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((v2) => {
24835
- if (rangeObj.test(v2)) {
24836
- if (!max || maxSV.compare(v2) === -1) {
24837
- max = v2;
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((v2) => {
24864
- if (rangeObj.test(v2)) {
24865
- if (!min || minSV.compare(v2) === 1) {
24866
- min = v2;
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 v2 = versions.sort((a, b2) => compare(a, b2, options));
25066
- for (const version2 of v2) {
25065
+ const v = versions.sort((a, b) => compare(a, b, 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 === v2[0]) {
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 === v2[0]) {
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, b2, options) => {
25249
+ var higherGT = (a, b, options) => {
25250
25250
  if (!a) {
25251
- return b2;
25251
+ return b;
25252
25252
  }
25253
- const comp = compare(a.semver, b2.semver, options);
25254
- return comp > 0 ? a : comp < 0 ? b2 : b2.operator === ">" && a.operator === ">=" ? b2 : a;
25253
+ const comp = compare(a.semver, b.semver, options);
25254
+ return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
25255
25255
  };
25256
- var lowerLT = (a, b2, options) => {
25256
+ var lowerLT = (a, b, options) => {
25257
25257
  if (!a) {
25258
- return b2;
25258
+ return b;
25259
25259
  }
25260
- const comp = compare(a.semver, b2.semver, options);
25261
- return comp < 0 ? a : comp > 0 ? b2 : b2.operator === "<" && a.operator === "<=" ? b2 : a;
25260
+ const comp = compare(a.semver, b.semver, options);
25261
+ return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : 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, v2) {
26460
- Object.defineProperty(o, "default", { enumerable: true, value: v2 });
26461
- } : function(o, v2) {
26462
- o["default"] = v2;
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, b2, lbs, a16, b16, dctrl, eslsh) => {
26480
+ return str.replace(charsRegex, (s, b, lbs, a16, b16, dctrl, eslsh) => {
26481
26481
  if (lbs) {
26482
26482
  return s;
26483
26483
  }
26484
- let code = b2 ? 8 : a16 ? parseInt(a16, 16) : b16 ? parseInt(b16, 16) : dctrl ? CTRL.indexOf(dctrl) : {
26484
+ let code = b ? 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, v2) {
26531
- Object.defineProperty(o, "default", { enumerable: true, value: v2 });
26532
- } : function(o, v2) {
26533
- o["default"] = v2;
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, v2) {
26832
- Object.defineProperty(o, "default", { enumerable: true, value: v2 });
26833
- } : function(o, v2) {
26834
- o["default"] = v2;
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, v2) {
26887
- Object.defineProperty(o, "default", { enumerable: true, value: v2 });
26888
- } : function(o, v2) {
26889
- o["default"] = v2;
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, b2) => Object.keys(a.constraints).length - Object.keys(b2.constraints).length);
27333
+ this.handlers.sort((a, b) => Object.keys(a.constraints).length - Object.keys(b.constraints).length);
27334
27334
  if (!isMergedTree) {
27335
27335
  this._compileGetHandlerMatchingConstraints(constrainer, constraints);
27336
27336
  }
@@ -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, b2, c) {
30574
+ [name]: function(a, b, 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, b2, c), warning.name, warning.code);
30579
+ process.emitWarning(warning.format(a, b, c), warning.name, warning.code);
30580
30580
  }
30581
30581
  };
30582
30582
  if (unlimited) {
30583
30583
  warningContainer = {
30584
- [name]: function(a, b2, c) {
30584
+ [name]: function(a, b, c) {
30585
30585
  warning.emitted = true;
30586
- process.emitWarning(warning.format(a, b2, c), warning.name, warning.code);
30586
+ process.emitWarning(warning.format(a, b, 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, b2, c) {
30595
+ warning.format = function(a, b, c) {
30596
30596
  let formatted;
30597
- if (a && b2 && c) {
30598
- formatted = format(message, a, b2, c);
30599
- } else if (a && b2) {
30600
- formatted = format(message, a, b2);
30597
+ if (a && b && c) {
30598
+ formatted = format(message, a, b, c);
30599
+ } else if (a && b) {
30600
+ formatted = format(message, a, b);
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((b2) => b2.address());
32541
+ const binded = this[kServerBindings].map((b) => b.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((v2) => Number(v2));
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((v2) => Buffer.from(v2)) : Buffer.from(val));
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((v2) => Buffer.from(v2)) : Buffer.from(val));
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((v2) => Buffer.from(v2)) : Buffer.from(val));
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
  }
@@ -37824,12 +37824,12 @@ var require_webidl = __commonJS({
37824
37824
  }
37825
37825
  return V2;
37826
37826
  };
37827
- webidl.converters.TypedArray = function(V2, T, prefix, name, opts) {
37828
- if (webidl.util.Type(V2) !== OBJECT || !types.isTypedArray(V2) || V2.constructor.name !== T.name) {
37827
+ webidl.converters.TypedArray = function(V2, T2, prefix, name, opts) {
37828
+ if (webidl.util.Type(V2) !== OBJECT || !types.isTypedArray(V2) || V2.constructor.name !== T2.name) {
37829
37829
  throw webidl.errors.conversionFailed({
37830
37830
  prefix,
37831
37831
  argument: `${name} ("${webidl.util.Stringify(V2)}")`,
37832
- types: [T.name]
37832
+ types: [T2.name]
37833
37833
  });
37834
37834
  }
37835
37835
  if (opts?.allowShared === false && types.isSharedArrayBuffer(V2.buffer)) {
@@ -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, b2) => {
38886
- if (a[b2.name]) {
38887
- if (Array.isArray(a[b2.name])) {
38888
- a[b2.name].push(b2.value);
38885
+ const state = this.#state.reduce((a, b) => {
38886
+ if (a[b.name]) {
38887
+ if (Array.isArray(a[b.name])) {
38888
+ a[b.name].push(b.value);
38889
38889
  } else {
38890
- a[b2.name] = [a[b2.name], b2.value];
38890
+ a[b.name] = [a[b.name], b.value];
38891
38891
  }
38892
38892
  } else {
38893
- a[b2.name] = b2.value;
38893
+ a[b.name] = b.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, b2) {
42136
- if (a === 0) return b2;
42137
- while (b2 !== 0) {
42138
- const t = b2;
42139
- b2 = a % b2;
42135
+ function getGreatestCommonDivisor(a, b) {
42136
+ if (a === 0) return b;
42137
+ while (b !== 0) {
42138
+ const t = b;
42139
+ b = a % b;
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, b2) => a && b2, true);
42220
+ const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, 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 v2 of values) {
44494
- normalizedQp.append(key, v2);
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, b2) {
47936
- return a[0] < b2[0] ? -1 : 1;
47935
+ function compareHeaderName(a, b) {
47936
+ return a[0] < b[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.9_ws@8.18.3_zod@3.25.67/node_modules/@musistudio/llms/dist/esm/server.mjs
54961
+ // node_modules/.pnpm/@musistudio+llms@1.0.10_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");
@@ -54973,7 +54973,7 @@ var Z = ((s) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(
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 $ = class {
54976
+ var I = class {
54977
54977
  config = {};
54978
54978
  options;
54979
54979
  constructor(e = { jsonPath: "./config.json" }) {
@@ -55037,75 +55037,75 @@ var $ = 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 v(...s) {
55040
+ function y(...s) {
55041
55041
  if (console.log(...s), !(process.env.LOG === "true")) return;
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");
55042
+ let n = `[${(/* @__PURE__ */ new Date()).toISOString()}] ${Array.isArray(s) ? s.map((r) => typeof r == "object" ? JSON.stringify(r) : String(r)).join(" ") : ""}
55043
+ `, o = process.env.LOG_FILE || "app.log";
55044
+ import_node_fs.default.appendFileSync(o, n, "utf8");
55045
55045
  }
55046
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;
55047
+ let o = new Error(s);
55048
+ return o.statusCode = e, o.code = t, o.type = n, o;
55049
55049
  }
55050
55050
  async function le(s, e, t) {
55051
55051
  e.log.error(s);
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);
55052
+ let n = s.statusCode || 500, o = { error: { message: s.message || "Internal Server Error", type: s.type || "api_error", code: s.code || "internal_error" } };
55053
+ return t.code(n).send(o);
55054
55054
  }
55055
55055
  function de(s, e, t) {
55056
55056
  let n = new Headers({ "Content-Type": "application/json" });
55057
- t.headers && Object.entries(t.headers).forEach(([l, d]) => {
55058
- n.set(l, d);
55057
+ t.headers && Object.entries(t.headers).forEach(([d, l]) => {
55058
+ n.set(d, l);
55059
55059
  });
55060
- let r, o = AbortSignal.timeout(t.TIMEOUT ?? 60 * 1e3 * 60);
55060
+ let o, r = AbortSignal.timeout(t.TIMEOUT ?? 60 * 1e3 * 60);
55061
55061
  if (t.signal) {
55062
- let l = new AbortController(), d = () => l.abort();
55063
- t.signal.addEventListener("abort", d), o.addEventListener("abort", d), r = l.signal;
55064
- } else r = o;
55065
- let c = { method: "POST", headers: n, body: JSON.stringify(e), signal: r };
55066
- return t.httpsProxy && (c.dispatcher = new import_undici.ProxyAgent(new URL(t.httpsProxy).toString())), v("final request:", typeof s == "string" ? s : s.toString(), t.httpsProxy, c), fetch(typeof s == "string" ? s : s.toString(), c);
55062
+ let d = new AbortController(), l = () => d.abort();
55063
+ t.signal.addEventListener("abort", l), r.addEventListener("abort", l), o = d.signal;
55064
+ } else o = r;
55065
+ let c = { method: "POST", headers: n, body: JSON.stringify(e), signal: o };
55066
+ return t.httpsProxy && (c.dispatcher = new import_undici.ProxyAgent(new URL(t.httpsProxy).toString())), y("final request:", typeof s == "string" ? s : s.toString(), t.httpsProxy, c), fetch(typeof s == "string" ? s : s.toString(), c);
55067
55067
  }
55068
55068
  var ue = 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 (r, o) => {
55072
- let c = r.body, l = r.provider, d = s._server.providerService.getProvider(l);
55073
- if (!d) throw L(`Provider '${l}' not found`, 404, "provider_not_found");
55071
+ for (let { name: t, transformer: n } of e) n.endPoint && s.post(n.endPoint, async (o, r) => {
55072
+ let c = o.body, d = o.provider, l = s._server.providerService.getProvider(d);
55073
+ if (!l) throw L(`Provider '${d}' not found`, 404, "provider_not_found");
55074
55074
  let i = c, p = {};
55075
55075
  if (typeof n.transformRequestOut == "function") {
55076
55076
  let a = await n.transformRequestOut(c);
55077
55077
  a.body ? (i = a.body, p = a.config || {}) : i = a;
55078
55078
  }
55079
- if (v("use transformers:", d.transformer?.use), d.transformer?.use?.length) for (let a of d.transformer.use) {
55079
+ if (y("use transformers:", l.transformer?.use), l.transformer?.use?.length) for (let a of l.transformer.use) {
55080
55080
  if (!a || typeof a.transformRequestIn != "function") continue;
55081
- let y = await a.transformRequestIn(i, d);
55082
- y.body ? (i = y.body, p = { ...p, ...y.config }) : i = y;
55083
- }
55084
- if (d.transformer?.[r.body.model]?.use?.length) for (let a of d.transformer[r.body.model].use) !a || typeof a.transformRequestIn != "function" || (i = await a.transformRequestIn(i, d));
55085
- let _ = p.url || new URL(d.baseUrl), C = await de(_, i, { httpsProxy: s._server.configService.getHttpsProxy(), ...p, headers: { Authorization: `Bearer ${d.apiKey}`, ...p?.headers || {} } });
55086
- if (!C.ok) {
55087
- let a = await C.text();
55088
- throw v(`Error response from ${_}: ${a}`), L(`Error from provider: ${a}`, C.status, "provider_response_error");
55089
- }
55090
- let g = C;
55091
- if (d.transformer?.use?.length) for (let a of d.transformer.use) !a || typeof a.transformResponseOut != "function" || (g = await a.transformResponseOut(g));
55092
- if (d.transformer?.[r.body.model]?.use?.length) for (let a of d.transformer[r.body.model].use) !a || typeof a.transformResponseOut != "function" || (g = await a.transformResponseOut(g));
55093
- return n.transformResponseIn && (g = await n.transformResponseIn(g)), g.ok || o.code(g.status), c?.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();
55081
+ let v = await a.transformRequestIn(i, l);
55082
+ v.body ? (i = v.body, p = { ...p, ...v.config }) : i = v;
55083
+ }
55084
+ if (l.transformer?.[o.body.model]?.use?.length) for (let a of l.transformer[o.body.model].use) !a || typeof a.transformRequestIn != "function" || (i = await a.transformRequestIn(i, l));
55085
+ let _ = p.url || new URL(l.baseUrl), k = await de(_, i, { httpsProxy: s._server.configService.getHttpsProxy(), ...p, headers: { Authorization: `Bearer ${l.apiKey}`, ...p?.headers || {} } });
55086
+ if (!k.ok) {
55087
+ let a = await k.text();
55088
+ throw y(`Error response from ${_}: ${a}`), L(`Error from provider: ${a}`, k.status, "provider_response_error");
55089
+ }
55090
+ let g = k;
55091
+ if (l.transformer?.use?.length) for (let a of l.transformer.use) !a || typeof a.transformResponseOut != "function" || (g = await a.transformResponseOut(g));
55092
+ if (l.transformer?.[o.body.model]?.use?.length) for (let a of l.transformer[o.body.model].use) !a || typeof a.transformResponseOut != "function" || (g = await a.transformResponseOut(g));
55093
+ return n.transformResponseIn && (g = await n.transformResponseIn(g)), g.ok || r.code(g.status), c?.stream === true ? (r.header("Content-Type", "text/event-stream"), r.header("Cache-Control", "no-cache"), r.header("Connection", "keep-alive"), r.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: r, type: o, baseUrl: c, apiKey: l, models: d } = t.body;
55097
- if (!r?.trim()) throw L("Provider name is required", 400, "invalid_request");
55096
+ let { name: o, type: r, baseUrl: c, apiKey: d, models: l } = t.body;
55097
+ if (!o?.trim()) throw L("Provider name is required", 400, "invalid_request");
55098
55098
  if (!c || !Ce(c)) throw L("Valid base URL is required", 400, "invalid_request");
55099
- if (!l?.trim()) throw L("API key is required", 400, "invalid_request");
55100
- if (!d || !Array.isArray(d) || d.length === 0) throw L("At least one model is required", 400, "invalid_request");
55099
+ if (!d?.trim()) throw L("API key is required", 400, "invalid_request");
55100
+ if (!l || !Array.isArray(l) || l.length === 0) throw L("At least one model is required", 400, "invalid_request");
55101
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 r = s._server.providerService.getProvider(t.params.id);
55105
- return r || n.code(404).send({ error: "Provider not found" });
55104
+ let o = s._server.providerService.getProvider(t.params.id);
55105
+ return o || 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 r = s._server.providerService.updateProvider(t.params.id, t.body);
55108
- return r || n.code(404).send({ error: "Provider not found" });
55107
+ let o = s._server.providerService.updateProvider(t.params.id, t.body);
55108
+ return o || 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
55111
  function Ce(s) {
@@ -55115,7 +55115,7 @@ function Ce(s) {
55115
55115
  return false;
55116
55116
  }
55117
55117
  }
55118
- var q = class {
55118
+ var F = class {
55119
55119
  constructor(e) {
55120
55120
  this.providerService = e;
55121
55121
  }
@@ -55152,7 +55152,7 @@ var q = class {
55152
55152
  return this.providerService.getModelRoutes();
55153
55153
  }
55154
55154
  };
55155
- var F = class {
55155
+ var q = class {
55156
55156
  constructor(e, t) {
55157
55157
  this.configService = e;
55158
55158
  this.transformerService = t;
@@ -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((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 c = this.transformerService.getTransformer(o[0]);
55179
- if (c) return new c(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 c = this.transformerService.getTransformer(o[0]);
55185
- if (c) return new c(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 }), v(`${t.name} provider registered`);
55175
+ t.transformer && Object.keys(t.transformer).forEach((o) => {
55176
+ o === "use" ? Array.isArray(t.transformer.use) && (n.use = t.transformer.use.map((r) => {
55177
+ if (Array.isArray(r) && typeof r[0] == "string") {
55178
+ let c = this.transformerService.getTransformer(r[0]);
55179
+ if (c) return new c(r[1]);
55180
+ }
55181
+ if (typeof r == "string") return this.transformerService.getTransformer(r);
55182
+ }).filter((r) => typeof r < "u")) : Array.isArray(t.transformer[o]?.use) && (n[o] = { use: t.transformer[o].use.map((r) => {
55183
+ if (Array.isArray(r) && typeof r[0] == "string") {
55184
+ let c = this.transformerService.getTransformer(r[0]);
55185
+ if (c) return new c(r[1]);
55186
+ }
55187
+ if (typeof r == "string") return this.transformerService.getTransformer(r);
55188
+ }).filter((r) => typeof r < "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 }), y(`${t.name} provider registered`);
55190
55190
  } catch (n) {
55191
- v(`${t.name} provider registered error: ${n}`);
55191
+ y(`${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 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);
55198
+ let o = `${t.name},${n}`, r = { provider: t.name, model: n, fullModel: o };
55199
+ this.modelRoutes.set(o, r), this.modelRoutes.has(n) || this.modelRoutes.set(n, r);
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 r = { ...n, ...t, updatedAt: /* @__PURE__ */ new Date() };
55212
- return this.providers.set(e, r), t.models && (n.models.forEach((o) => {
55213
- let c = `${n.id},${o}`;
55214
- this.modelRoutes.delete(c), this.modelRoutes.delete(o);
55215
- }), t.models.forEach((o) => {
55216
- let c = `${n.name},${o}`, l = { provider: n.name, model: o, fullModel: c };
55217
- this.modelRoutes.set(c, l), this.modelRoutes.has(o) || this.modelRoutes.set(o, l);
55218
- })), r;
55211
+ let o = { ...n, ...t, updatedAt: /* @__PURE__ */ new Date() };
55212
+ return this.providers.set(e, o), t.models && (n.models.forEach((r) => {
55213
+ let c = `${n.id},${r}`;
55214
+ this.modelRoutes.delete(c), this.modelRoutes.delete(r);
55215
+ }), t.models.forEach((r) => {
55216
+ let c = `${n.name},${r}`, d = { provider: n.name, model: r, fullModel: c };
55217
+ this.modelRoutes.set(c, d), this.modelRoutes.has(r) || this.modelRoutes.set(r, d);
55218
+ })), o;
55219
55219
  }
55220
55220
  deleteProvider(e) {
55221
55221
  let t = this.providers.get(e);
55222
55222
  return t ? (t.models.forEach((n) => {
55223
- let r = `${t.name},${n}`;
55224
- this.modelRoutes.delete(r), this.modelRoutes.delete(n);
55223
+ let o = `${t.name},${n}`;
55224
+ this.modelRoutes.delete(o), 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 [r, o = {}] = n;
55251
- t[r] = o;
55250
+ let [o, r = {}] = n;
55251
+ t[o] = r;
55252
55252
  } else t[n] = {};
55253
55253
  return t;
55254
55254
  }, {}) : e : {};
@@ -55262,40 +55262,64 @@ var F = class {
55262
55262
  }), { object: "list", data: e };
55263
55263
  }
55264
55264
  };
55265
- var U = class {
55265
+ var T = [];
55266
+ for (let s = 0; s < 256; ++s) T.push((s + 256).toString(16).slice(1));
55267
+ function fe(s, e = 0) {
55268
+ return (T[s[e + 0]] + T[s[e + 1]] + T[s[e + 2]] + T[s[e + 3]] + "-" + T[s[e + 4]] + T[s[e + 5]] + "-" + T[s[e + 6]] + T[s[e + 7]] + "-" + T[s[e + 8]] + T[s[e + 9]] + "-" + T[s[e + 10]] + T[s[e + 11]] + T[s[e + 12]] + T[s[e + 13]] + T[s[e + 14]] + T[s[e + 15]]).toLowerCase();
55269
+ }
55270
+ var J = new Uint8Array(256);
55271
+ var U = J.length;
55272
+ function ee() {
55273
+ return U > J.length - 16 && ((0, import_crypto.randomFillSync)(J), U = 0), J.slice(U, U += 16);
55274
+ }
55275
+ var te = { randomUUID: import_crypto2.randomUUID };
55276
+ function Re(s, e, t) {
55277
+ if (te.randomUUID && !e && !s) return te.randomUUID();
55278
+ s = s || {};
55279
+ let n = s.random ?? s.rng?.() ?? ee();
55280
+ if (n.length < 16) throw new Error("Random bytes length must be >= 16");
55281
+ if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, e) {
55282
+ if (t = t || 0, t < 0 || t + 16 > e.length) throw new RangeError(`UUID byte range ${t}:${t + 15} is out of buffer bounds`);
55283
+ for (let o = 0; o < 16; ++o) e[t + o] = n[o];
55284
+ return e;
55285
+ }
55286
+ return fe(n);
55287
+ }
55288
+ var H = Re;
55289
+ var j = class {
55266
55290
  name = "Anthropic";
55267
55291
  endPoint = "/v1/messages";
55268
55292
  async transformRequestOut(e) {
55269
- v("Anthropic Request:", JSON.stringify(e, null, 2));
55293
+ y("Anthropic Request:", JSON.stringify(e, null, 2));
55270
55294
  let t = [];
55271
55295
  if (e.system) {
55272
55296
  if (typeof e.system == "string") t.push({ role: "system", content: e.system });
55273
- else if (Array.isArray(e.system)) {
55274
- let o = e.system.filter((c) => c.type === "text" && c.text).map((c) => ({ type: "text", text: c.text, cache_control: c.cache_control }));
55275
- t.push({ role: "system", content: o });
55297
+ else if (Array.isArray(e.system) && e.system.length) {
55298
+ let r = e.system.filter((c) => c.type === "text" && c.text).map((c) => ({ type: "text", text: c.text, cache_control: c.cache_control }));
55299
+ t.push({ role: "system", content: r });
55276
55300
  }
55277
55301
  }
55278
- return JSON.parse(JSON.stringify(e.messages || []))?.forEach((o, c) => {
55279
- if (o.role === "user" || o.role === "assistant") {
55280
- if (typeof o.content == "string") {
55281
- t.push({ role: o.role, content: o.content });
55302
+ return JSON.parse(JSON.stringify(e.messages || []))?.forEach((r, c) => {
55303
+ if (r.role === "user" || r.role === "assistant") {
55304
+ if (typeof r.content == "string") {
55305
+ t.push({ role: r.role, content: r.content });
55282
55306
  return;
55283
55307
  }
55284
- if (Array.isArray(o.content)) {
55285
- if (o.role === "user") {
55286
- let l = o.content.filter((i) => i.type === "tool_result" && i.tool_use_id);
55287
- l.length && l.forEach((i, p) => {
55308
+ if (Array.isArray(r.content)) {
55309
+ if (r.role === "user") {
55310
+ let d = r.content.filter((i) => i.type === "tool_result" && i.tool_use_id);
55311
+ d.length && d.forEach((i, p) => {
55288
55312
  let _ = { role: "tool", content: typeof i.content == "string" ? i.content : JSON.stringify(i.content), tool_call_id: i.tool_use_id, cache_control: i.cache_control };
55289
55313
  t.push(_);
55290
55314
  });
55291
- let d = o.content.filter((i) => i.type === "text" && i.text || i.type === "image" && i.source);
55292
- d.length && t.push({ role: "user", content: d.map((i) => i?.type === "image" ? { type: "image_url", image_url: { url: i.source?.type === "base64" ? i.source.data : i.source.url }, media_type: i.source.media_type } : i) });
55293
- } else if (o.role === "assistant") {
55294
- let l = { role: "assistant", content: null }, d = o.content.filter((p) => p.type === "text" && p.text);
55295
- d.length && (l.content = d.map((p) => p.text).join(`
55315
+ let l = r.content.filter((i) => i.type === "text" && i.text || i.type === "image" && i.source);
55316
+ l.length && t.push({ role: "user", content: l.map((i) => i?.type === "image" ? { type: "image_url", image_url: { url: i.source?.type === "base64" ? i.source.data : i.source.url }, media_type: i.source.media_type } : i) });
55317
+ } else if (r.role === "assistant") {
55318
+ let d = { role: "assistant", content: null }, l = r.content.filter((p) => p.type === "text" && p.text);
55319
+ l.length && (d.content = l.map((p) => p.text).join(`
55296
55320
  `));
55297
- let i = o.content.filter((p) => p.type === "tool_use" && p.id);
55298
- i.length && (l.tool_calls = i.map((p) => ({ id: p.id, type: "function", function: { name: p.name, arguments: JSON.stringify(p.input || {}) } }))), t.push(l);
55321
+ let i = r.content.filter((p) => p.type === "tool_use" && p.id);
55322
+ i.length && (d.tool_calls = i.map((p) => ({ id: p.id, type: "function", function: { name: p.name, arguments: JSON.stringify(p.input || {}) } }))), t.push(d);
55299
55323
  }
55300
55324
  return;
55301
55325
  }
@@ -55308,8 +55332,8 @@ var U = class {
55308
55332
  let n = await this.convertOpenAIStreamToAnthropic(e.body);
55309
55333
  return new Response(n, { headers: { "Content-Type": "text/event-stream", "Cache-Control": "no-cache", Connection: "keep-alive" } });
55310
55334
  } else {
55311
- let n = await e.json(), r = this.convertOpenAIResponseToAnthropic(n);
55312
- return new Response(JSON.stringify(r), { headers: { "Content-Type": "application/json" } });
55335
+ let n = await e.json(), o = this.convertOpenAIResponseToAnthropic(n);
55336
+ return new Response(JSON.stringify(o), { headers: { "Content-Type": "application/json" } });
55313
55337
  }
55314
55338
  }
55315
55339
  convertAnthropicToolsToUnified(e) {
@@ -55317,14 +55341,14 @@ var U = class {
55317
55341
  }
55318
55342
  async convertOpenAIStreamToAnthropic(e) {
55319
55343
  return new ReadableStream({ async start(n) {
55320
- let r = new TextEncoder(), o = `msg_${Date.now()}`, c = "unknown", l = false, d = false, i = false, p = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), C = 0, g = 0, u = 0, a = false, y = false, h = 0, f = (x) => {
55344
+ let o = new TextEncoder(), r = `msg_${Date.now()}`, c = "unknown", d = false, l = false, i = false, p = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), k = 0, g = 0, u = 0, a = false, v = false, h = 0, f = (x) => {
55321
55345
  if (!a) try {
55322
55346
  n.enqueue(x);
55323
- let R = new TextDecoder().decode(x);
55324
- v("send data:", R.trim());
55325
- } catch (R) {
55326
- if (R instanceof TypeError && R.message.includes("Controller is already closed")) a = true;
55327
- else throw v(`send data error: ${R.message}`), R;
55347
+ let b = new TextDecoder().decode(x);
55348
+ y("send data:", b.trim());
55349
+ } catch (b) {
55350
+ if (b instanceof TypeError && b.message.includes("Controller is already closed")) a = true;
55351
+ else throw y(`send data error: ${b.message}`), b;
55328
55352
  }
55329
55353
  }, m = () => {
55330
55354
  if (!a) try {
@@ -55333,141 +55357,160 @@ var U = class {
55333
55357
  if (x instanceof TypeError && x.message.includes("Controller is already closed")) a = true;
55334
55358
  else throw x;
55335
55359
  }
55336
- }, T = null;
55360
+ }, S = null;
55337
55361
  try {
55338
- T = e.getReader();
55339
- let x = new TextDecoder(), R = "";
55362
+ S = e.getReader();
55363
+ let x = new TextDecoder(), b = "";
55340
55364
  for (; !a; ) {
55341
- let { done: X, value: me } = await T.read();
55365
+ let { done: X, value: me } = await S.read();
55342
55366
  if (X) break;
55343
- R += x.decode(me, { stream: true });
55344
- let se = R.split(`
55367
+ b += x.decode(me, { stream: true });
55368
+ let se = b.split(`
55345
55369
  `);
55346
- R = se.pop() || "";
55370
+ b = se.pop() || "";
55347
55371
  for (let ie of se) {
55348
55372
  if (a || i) break;
55349
55373
  if (!ie.startsWith("data: ")) continue;
55350
55374
  let Q = ie.slice(6);
55351
55375
  if (Q !== "[DONE]") try {
55352
55376
  let O = JSON.parse(Q);
55353
- if (C++, v("Original Response:", JSON.stringify(O, null, 2)), O.error) {
55354
- let k = { type: "error", message: { type: "api_error", message: JSON.stringify(O.error) } };
55355
- f(r.encode(`event: error
55356
- data: ${JSON.stringify(k)}
55377
+ if (k++, y("Original Response:", JSON.stringify(O, null, 2)), O.error) {
55378
+ let C = { type: "error", message: { type: "api_error", message: JSON.stringify(O.error) } };
55379
+ f(o.encode(`event: error
55380
+ data: ${JSON.stringify(C)}
55357
55381
 
55358
55382
  `));
55359
55383
  continue;
55360
55384
  }
55361
- if (c = O.model || c, !l && !a && !i) {
55362
- l = true;
55363
- let k = { type: "message_start", message: { id: o, type: "message", role: "assistant", content: [], model: c, stop_reason: null, stop_sequence: null, usage: { input_tokens: 1, output_tokens: 1 } } };
55364
- f(r.encode(`event: message_start
55365
- data: ${JSON.stringify(k)}
55385
+ if (c = O.model || c, !d && !a && !i) {
55386
+ d = true;
55387
+ let C = { type: "message_start", message: { id: r, type: "message", role: "assistant", content: [], model: c, stop_reason: null, stop_sequence: null, usage: { input_tokens: 1, output_tokens: 1 } } };
55388
+ f(o.encode(`event: message_start
55389
+ data: ${JSON.stringify(C)}
55366
55390
 
55367
55391
  `));
55368
55392
  }
55369
55393
  let w = O.choices?.[0];
55370
55394
  if (!w) continue;
55371
55395
  if (w?.delta?.thinking && !a && !i) {
55372
- if (!y) {
55373
- let k = { type: "content_block_start", index: h, content_block: { type: "thinking", thinking: "" } };
55374
- f(r.encode(`event: content_block_start
55375
- data: ${JSON.stringify(k)}
55396
+ if (!v) {
55397
+ let C = { type: "content_block_start", index: h, content_block: { type: "thinking", thinking: "" } };
55398
+ f(o.encode(`event: content_block_start
55399
+ data: ${JSON.stringify(C)}
55376
55400
 
55377
- `)), y = true;
55401
+ `)), v = true;
55378
55402
  }
55379
55403
  if (w.delta.thinking.signature) {
55380
- let k = { type: "content_block_delta", index: h, delta: { type: "signature_delta", signature: w.delta.thinking.signature } };
55381
- f(r.encode(`event: content_block_delta
55382
- data: ${JSON.stringify(k)}
55404
+ let C = { type: "content_block_delta", index: h, delta: { type: "signature_delta", signature: w.delta.thinking.signature } };
55405
+ f(o.encode(`event: content_block_delta
55406
+ data: ${JSON.stringify(C)}
55383
55407
 
55384
55408
  `));
55385
- let S = { type: "content_block_stop", index: h };
55386
- f(r.encode(`event: content_block_stop
55387
- data: ${JSON.stringify(S)}
55409
+ let R = { type: "content_block_stop", index: h };
55410
+ f(o.encode(`event: content_block_stop
55411
+ data: ${JSON.stringify(R)}
55388
55412
 
55389
55413
  `)), h++;
55390
55414
  } else if (w.delta.thinking.content) {
55391
- let k = { type: "content_block_delta", index: h, delta: { type: "thinking_delta", thinking: w.delta.thinking.content || "" } };
55392
- f(r.encode(`event: content_block_delta
55393
- data: ${JSON.stringify(k)}
55415
+ let C = { type: "content_block_delta", index: h, delta: { type: "thinking_delta", thinking: w.delta.thinking.content || "" } };
55416
+ f(o.encode(`event: content_block_delta
55417
+ data: ${JSON.stringify(C)}
55394
55418
 
55395
55419
  `));
55396
55420
  }
55397
55421
  }
55398
55422
  if (w?.delta?.content && !a && !i) {
55399
- if (g++, !d && !i) {
55400
- d = true;
55401
- let k = { type: "content_block_start", index: h, content_block: { type: "text", text: "" } };
55402
- f(r.encode(`event: content_block_start
55403
- data: ${JSON.stringify(k)}
55423
+ if (g++, !l && !i) {
55424
+ l = true;
55425
+ let C = { type: "content_block_start", index: h, content_block: { type: "text", text: "" } };
55426
+ f(o.encode(`event: content_block_start
55427
+ data: ${JSON.stringify(C)}
55404
55428
 
55405
55429
  `));
55406
55430
  }
55407
55431
  if (!a && !i) {
55408
- let k = { type: "content_block_delta", index: h, delta: { type: "text_delta", text: w.delta.content } };
55409
- f(r.encode(`event: content_block_delta
55410
- data: ${JSON.stringify(k)}
55432
+ let C = { type: "content_block_delta", index: h, delta: { type: "text_delta", text: w.delta.content } };
55433
+ f(o.encode(`event: content_block_delta
55434
+ data: ${JSON.stringify(C)}
55411
55435
 
55412
55436
  `));
55413
55437
  }
55414
55438
  }
55439
+ if (w?.delta?.annotations?.length && !a && !i) {
55440
+ let C = { type: "content_block_stop", index: h };
55441
+ f(o.encode(`event: content_block_stop
55442
+ data: ${JSON.stringify(C)}
55443
+
55444
+ `)), l = false, w?.delta?.annotations.forEach((R, P, he) => {
55445
+ h++;
55446
+ let E = { type: "content_block_start", index: h, content_block: { type: "web_search_tool_result", tool_use_id: `srvtoolu_${H()}`, content: [{ type: "web_search_result", title: R.url_citation.title, url: R.url_citation.url }] } };
55447
+ f(o.encode(`event: content_block_start
55448
+ data: ${JSON.stringify(E)}
55449
+
55450
+ `));
55451
+ let A = { type: "content_block_stop", index: h };
55452
+ f(o.encode(`event: content_block_stop
55453
+ data: ${JSON.stringify(A)}
55454
+
55455
+ `));
55456
+ });
55457
+ }
55415
55458
  if (w?.delta?.tool_calls && !a && !i) {
55416
55459
  u++;
55417
- let k = /* @__PURE__ */ new Set();
55418
- for (let S of w.delta.tool_calls) {
55460
+ let C = /* @__PURE__ */ new Set();
55461
+ for (let R of w.delta.tool_calls) {
55419
55462
  if (a) break;
55420
- let P = S.index ?? 0;
55421
- if (k.has(P)) continue;
55422
- if (k.add(P), !_.has(P)) {
55423
- let E = d ? _.size + 1 : _.size;
55463
+ let P = R.index ?? 0;
55464
+ if (C.has(P)) continue;
55465
+ if (C.add(P), !_.has(P)) {
55466
+ let E = l ? _.size + 1 : _.size;
55424
55467
  if (E !== 0) {
55425
- v("content_block_stop2");
55426
- let he = { type: "content_block_stop", index: h };
55427
- f(r.encode(`event: content_block_stop
55428
- data: ${JSON.stringify(he)}
55468
+ y("content_block_stop2");
55469
+ let ge = { type: "content_block_stop", index: h };
55470
+ f(o.encode(`event: content_block_stop
55471
+ data: ${JSON.stringify(ge)}
55429
55472
 
55430
55473
  `)), h++;
55431
55474
  }
55432
55475
  _.set(P, E);
55433
- let H = 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: H, name: A, input: {} } };
55434
- f(r.encode(`event: content_block_start
55476
+ let A = R.id || `call_${Date.now()}_${P}`, M = R.function?.name || `tool_${P}`, N = { type: "content_block_start", index: h, content_block: { type: "tool_use", id: A, name: M, input: {} } };
55477
+ f(o.encode(`event: content_block_start
55435
55478
  data: ${JSON.stringify(N)}
55436
55479
 
55437
55480
  `));
55438
- let M = { id: H, name: A, arguments: "", contentBlockIndex: E };
55439
- p.set(P, M);
55440
- } else if (S.id && S.function?.name) {
55481
+ let $ = { id: A, name: M, arguments: "", contentBlockIndex: E };
55482
+ p.set(P, $);
55483
+ } else if (R.id && R.function?.name) {
55441
55484
  let E = p.get(P);
55442
- E.id.startsWith("call_") && E.name.startsWith("tool_") && (E.id = S.id, E.name = S.function.name);
55485
+ E.id.startsWith("call_") && E.name.startsWith("tool_") && (E.id = R.id, E.name = R.function.name);
55443
55486
  }
55444
- if (S.function?.arguments && !a && !i) {
55487
+ if (R.function?.arguments && !a && !i) {
55445
55488
  if (_.get(P) === void 0) continue;
55446
- let H = p.get(P);
55447
- if (H) {
55448
- H.arguments += S.function.arguments;
55489
+ let A = p.get(P);
55490
+ if (A) {
55491
+ A.arguments += R.function.arguments;
55449
55492
  try {
55450
- let A = null, N = H.arguments.trim();
55493
+ let M = null, N = A.arguments.trim();
55451
55494
  if (N.startsWith("{") && N.endsWith("}")) try {
55452
- A = JSON.parse(N);
55453
- } catch (M) {
55454
- v("Tool call index:", P, "error", M.message);
55495
+ M = JSON.parse(N);
55496
+ } catch ($) {
55497
+ y("Tool call index:", P, "error", $.message);
55455
55498
  }
55456
- } catch (A) {
55457
- v("Tool call index:", P, "error", A.message);
55499
+ } catch (M) {
55500
+ y("Tool call index:", P, "error", M.message);
55458
55501
  }
55459
55502
  }
55460
55503
  try {
55461
- let A = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: S.function.arguments } };
55462
- f(r.encode(`event: content_block_delta
55463
- data: ${JSON.stringify(A)}
55504
+ let M = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: R.function.arguments } };
55505
+ f(o.encode(`event: content_block_delta
55506
+ data: ${JSON.stringify(M)}
55464
55507
 
55465
55508
  `));
55466
55509
  } catch {
55467
55510
  try {
55468
- let N = S.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g, "").replace(/\\/g, "\\\\").replace(/"/g, '\\"'), M = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: N } };
55469
- f(r.encode(`event: content_block_delta
55470
- data: ${JSON.stringify(M)}
55511
+ let N = R.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g, "").replace(/\\/g, "\\\\").replace(/"/g, '\\"'), $ = { type: "content_block_delta", index: h, delta: { type: "input_json_delta", partial_json: N } };
55512
+ f(o.encode(`event: content_block_delta
55513
+ data: ${JSON.stringify($)}
55471
55514
 
55472
55515
  `));
55473
55516
  } catch (N) {
@@ -55478,32 +55521,32 @@ data: ${JSON.stringify(M)}
55478
55521
  }
55479
55522
  }
55480
55523
  if (w?.finish_reason && !a && !i) {
55481
- if (i = true, g === 0 && u === 0 && console.error("Warning: No content in the stream response!"), (d || u > 0) && !a) {
55482
- v("content_block_stop hasTextContentStarted");
55483
- let k = { type: "content_block_stop", index: h };
55484
- f(r.encode(`event: content_block_stop
55485
- data: ${JSON.stringify(k)}
55524
+ if (i = true, g === 0 && u === 0 && console.error("Warning: No content in the stream response!"), (l || u > 0) && !a) {
55525
+ y("content_block_stop hasTextContentStarted");
55526
+ let C = { type: "content_block_stop", index: h };
55527
+ f(o.encode(`event: content_block_stop
55528
+ data: ${JSON.stringify(C)}
55486
55529
 
55487
55530
  `));
55488
55531
  }
55489
55532
  if (!a) {
55490
55533
  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 } };
55491
- f(r.encode(`event: message_delta
55534
+ f(o.encode(`event: message_delta
55492
55535
  data: ${JSON.stringify(P)}
55493
55536
 
55494
55537
  `));
55495
55538
  }
55496
55539
  if (!a) {
55497
- let k = { type: "message_stop" };
55498
- f(r.encode(`event: message_stop
55499
- data: ${JSON.stringify(k)}
55540
+ let C = { type: "message_stop" };
55541
+ f(o.encode(`event: message_stop
55542
+ data: ${JSON.stringify(C)}
55500
55543
 
55501
55544
  `));
55502
55545
  }
55503
55546
  break;
55504
55547
  }
55505
55548
  } catch (O) {
55506
- v(`parseError: ${O.name} message: ${O.message} stack: ${O.stack} data: ${Q}`);
55549
+ y(`parseError: ${O.name} message: ${O.message} stack: ${O.stack} data: ${Q}`);
55507
55550
  }
55508
55551
  }
55509
55552
  }
@@ -55511,66 +55554,70 @@ data: ${JSON.stringify(k)}
55511
55554
  } catch (x) {
55512
55555
  if (!a) try {
55513
55556
  n.error(x);
55514
- } catch (R) {
55515
- console.error(R);
55557
+ } catch (b) {
55558
+ console.error(b);
55516
55559
  }
55517
55560
  } finally {
55518
- if (T) try {
55519
- T.releaseLock();
55561
+ if (S) try {
55562
+ S.releaseLock();
55520
55563
  } catch (x) {
55521
55564
  console.error(x);
55522
55565
  }
55523
55566
  }
55524
55567
  }, cancel(n) {
55525
- v("cancle stream:", n);
55568
+ y("cancle stream:", n);
55526
55569
  } });
55527
55570
  }
55528
55571
  convertOpenAIResponseToAnthropic(e) {
55529
- v("Original OpenAI response:", JSON.stringify(e, null, 2));
55572
+ y("Original OpenAI response:", JSON.stringify(e, null, 2));
55530
55573
  let t = e.choices[0];
55531
55574
  if (!t) throw new Error("No choices found in OpenAI response");
55532
55575
  let n = [];
55533
- 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, c) => {
55534
- let l = {};
55576
+ if (t.message.annotations) {
55577
+ let r = `srvtoolu_${H()}`;
55578
+ n.push({ type: "server_tool_use", id: r, name: "web_search", input: { query: "" } }), n.push({ type: "web_search_tool_result", tool_use_id: r, content: t.message.annotations.map((c) => ({ type: "web_search_result", url: c.url_citation.url, title: c.url_citation.title })) });
55579
+ }
55580
+ 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((r, c) => {
55581
+ let d = {};
55535
55582
  try {
55536
- let d = o.function.arguments || "{}";
55537
- typeof d == "object" ? l = d : typeof d == "string" && (l = JSON.parse(d));
55583
+ let l = r.function.arguments || "{}";
55584
+ typeof l == "object" ? d = l : typeof l == "string" && (d = JSON.parse(l));
55538
55585
  } catch {
55539
- l = { text: o.function.arguments || "" };
55586
+ d = { text: r.function.arguments || "" };
55540
55587
  }
55541
- n.push({ type: "tool_use", id: o.id, name: o.function.name, input: l });
55588
+ n.push({ type: "tool_use", id: r.id, name: r.function.name, input: d });
55542
55589
  });
55543
- 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 } };
55544
- return v("Conversion complete, final Anthropic response:", JSON.stringify(r, null, 2)), r;
55590
+ let o = { 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 } };
55591
+ return y("Conversion complete, final Anthropic response:", JSON.stringify(o, null, 2)), o;
55545
55592
  }
55546
55593
  };
55547
- function ee(s) {
55594
+ function ne(s) {
55548
55595
  if (!(!s || typeof s != "object")) {
55549
55596
  if (Array.isArray(s)) {
55550
- s.forEach(ee);
55597
+ s.forEach(ne);
55551
55598
  return;
55552
55599
  }
55553
55600
  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) => {
55554
- ee(s[e]);
55601
+ ne(s[e]);
55555
55602
  });
55556
55603
  }
55557
55604
  }
55558
- var J = class {
55605
+ var D = class {
55559
55606
  name = "gemini";
55560
55607
  endPoint = "/v1beta/models/:modelAndAction";
55561
55608
  async transformRequestIn(e, t) {
55562
55609
  return { body: { contents: e.messages.map((n) => {
55563
- let r;
55564
- n.role === "assistant" ? r = "model" : (["user", "system", "tool"].includes(n.role), r = "user");
55565
- let o = [];
55566
- return typeof n.content == "string" ? o.push({ text: n.content }) : Array.isArray(n.content) && o.push(...n.content.map((c) => {
55610
+ let o;
55611
+ n.role === "assistant" ? o = "model" : (["user", "system", "tool"].includes(n.role), o = "user");
55612
+ let r = [];
55613
+ return typeof n.content == "string" ? r.push({ text: n.content }) : Array.isArray(n.content) && r.push(...n.content.map((c) => {
55567
55614
  if (c.type === "text") return { text: c.text || "" };
55568
55615
  if (c.type === "image_url") return c.image_url.url.startsWith("http") ? { file_data: { mime_type: c.media_type, file_uri: c.image_url.url } } : { inlineData: { mime_type: c.media_type, data: c.image_url.url } };
55569
- })), Array.isArray(n.tool_calls) && o.push(...n.tool_calls.map((c) => ({ functionCall: { id: c.id || `tool_${Math.random().toString(36).substring(2, 15)}`, name: c.function.name, args: JSON.parse(c.function.arguments || "{}") } }))), { role: r, parts: o };
55570
- }), 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 } } };
55616
+ })), Array.isArray(n.tool_calls) && r.push(...n.tool_calls.map((c) => ({ functionCall: { id: c.id || `tool_${Math.random().toString(36).substring(2, 15)}`, name: c.function.name, args: JSON.parse(c.function.arguments || "{}") } }))), { role: o, parts: r };
55617
+ }), tools: [{ functionDeclarations: e.tools?.filter((n) => n.function.name !== "web_search")?.map((n) => (n.function.parameters && ne(n.function.parameters), { name: n.function.name, description: n.function.description, parameters: n.function.parameters })) || [] }, e.tools?.find((n) => n.function.name === "web_search") ? { google_search: {} } : void 0] }, config: { url: new URL(`./${e.model}:${e.stream ? "streamGenerateContent?alt=sse" : "generateContent"}`, t.baseUrl), headers: { "x-goog-api-key": t.apiKey, Authorization: void 0 } } };
55571
55618
  }
55572
55619
  transformRequestOut(e) {
55573
- let t = e.contents, n = e.tools, r = e.model, o = e.max_tokens, c = e.temperature, l = e.stream, d = e.tool_choice, i = { messages: [], model: r, max_tokens: o, temperature: c, stream: l, tool_choice: d };
55620
+ let t = e.contents, n = e.tools, o = e.model, r = e.max_tokens, c = e.temperature, d = e.stream, l = e.tool_choice, i = { messages: [], model: o, max_tokens: r, temperature: c, stream: d, tool_choice: l };
55574
55621
  return Array.isArray(t) && t.forEach((p) => {
55575
55622
  typeof p == "string" ? i.messages.push({ role: "user", content: p }) : typeof p.text == "string" ? i.messages.push({ role: "user", content: p.text || null }) : p.role === "user" ? i.messages.push({ role: "user", content: p?.parts?.map((_) => ({ type: "text", text: _.text || "" })) || [] }) : p.role === "model" && i.messages.push({ role: "assistant", content: p?.parts?.map((_) => ({ type: "text", text: _.text || "" })) || [] });
55576
55623
  }), Array.isArray(n) && (i.tools = [], n.forEach((p) => {
@@ -55581,31 +55628,51 @@ var J = class {
55581
55628
  }
55582
55629
  async transformResponseOut(e) {
55583
55630
  if (e.headers.get("Content-Type")?.includes("application/json")) {
55584
- 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(`
55631
+ let t = await e.json(), n = t.candidates[0].content.parts?.filter((r) => r.functionCall)?.map((r) => ({ id: r.functionCall?.id || `tool_${Math.random().toString(36).substring(2, 15)}`, type: "function", function: { name: r.functionCall?.name, arguments: JSON.stringify(r.functionCall?.args || {}) } })), o = { id: t.responseId, choices: [{ finish_reason: t.candidates[0].finishReason?.toLowerCase() || null, index: 0, message: { content: t.candidates[0].content.parts?.filter((r) => r.text)?.map((r) => r.text)?.join(`
55585
55632
  `), 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 } };
55586
- return new Response(JSON.stringify(r), { status: e.status, statusText: e.statusText, headers: e.headers });
55633
+ return new Response(JSON.stringify(o), { status: e.status, statusText: e.statusText, headers: e.headers });
55587
55634
  } else if (e.headers.get("Content-Type")?.includes("stream")) {
55588
55635
  if (!e.body) return e;
55589
- let t = new TextDecoder(), n = new TextEncoder(), r = new ReadableStream({ async start(o) {
55590
- let c = e.body.getReader();
55591
- try {
55592
- for (; ; ) {
55593
- let { done: l, value: d } = await c.read();
55594
- if (l) break;
55595
- let i = t.decode(d, { stream: true });
55596
- if (i.startsWith("data: ")) i = i.slice(6).trim();
55597
- else break;
55598
- v("gemini chunk:", i), i = JSON.parse(i);
55599
- let p = i.candidates[0].content.parts.filter((C) => C.functionCall).map((C) => ({ id: C.functionCall?.id || `tool_${Math.random().toString(36).substring(2, 15)}`, type: "function", function: { name: C.functionCall?.name, arguments: JSON.stringify(C.functionCall?.args || {}) } })), _ = { choices: [{ delta: { role: "assistant", content: i.candidates[0].content.parts.filter((C) => C.text).map((C) => C.text).join(`
55600
- `), tool_calls: p.length > 0 ? p : void 0 }, finish_reason: i.candidates[0].finishReason?.toLowerCase() || null, index: i.candidates[0].index || p.length > 0 ? 1 : 0, logprobs: null }], created: parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3 + "", 10), id: i.responseId || "", model: i.modelVersion || "", object: "chat.completion.chunk", system_fingerprint: "fp_a49d71b8a1" };
55601
- v("gemini response:", JSON.stringify(_, null, 2)), o.enqueue(n.encode(`data: ${JSON.stringify(_)}
55636
+ let t = new TextDecoder(), n = new TextEncoder(), o = (c, d) => {
55637
+ if (c.startsWith("data: ")) {
55638
+ let l = c.slice(6).trim();
55639
+ if (l) {
55640
+ y("gemini chunk:", l);
55641
+ try {
55642
+ let i = JSON.parse(l);
55643
+ y("groundingMetadata: ", JSON.stringify(i.candidates[0].groundingMetadata));
55644
+ let p = i.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 || {}) } })), _ = { choices: [{ delta: { role: "assistant", content: i.candidates[0].content.parts?.filter((k) => k.text)?.map((k) => k.text)?.join(`
55645
+ `), tool_calls: p.length > 0 ? p : void 0 }, finish_reason: i.candidates[0].finishReason?.toLowerCase() || null, index: i.candidates[0].index || p.length > 0 ? 1 : 0, logprobs: null }], created: parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3 + "", 10), id: i.responseId || "", model: i.modelVersion || "", object: "chat.completion.chunk", system_fingerprint: "fp_a49d71b8a1", usage: { completion_tokens: i.usageMetadata.candidatesTokenCount, prompt_tokens: i.usageMetadata.promptTokenCount, total_tokens: i.usageMetadata.totalTokenCount } };
55646
+ i.candidates[0]?.groundingMetadata?.groundingChunks?.length && (_.choices[0].delta.annotations = i.candidates[0].groundingMetadata.groundingChunks.map((k, g) => {
55647
+ let u = i.candidates[0]?.groundingMetadata?.groundingSupports?.filter((a) => a.groundingChunkIndices.includes(g));
55648
+ return { type: "url_citation", url_citation: { url: k.web.uri, title: k.web.title, content: u?.[0].segment.text, start_index: u?.[0].segment.startIndex, end_index: u?.[0].segment.endIndex } };
55649
+ })), d.enqueue(n.encode(`data: ${JSON.stringify(_)}
55602
55650
 
55603
55651
  `));
55652
+ } catch (i) {
55653
+ y("Error parsing Gemini stream chunk", l, i.message);
55654
+ }
55604
55655
  }
55605
- } catch (l) {
55606
- o.error(l);
55656
+ }
55657
+ }, r = new ReadableStream({ async start(c) {
55658
+ let d = e.body.getReader(), l = "";
55659
+ try {
55660
+ for (; ; ) {
55661
+ let { done: i, value: p } = await d.read();
55662
+ if (i) {
55663
+ l && o(l, c);
55664
+ break;
55665
+ }
55666
+ l += t.decode(p, { stream: true });
55667
+ let _ = l.split(`
55668
+ `);
55669
+ l = _.pop() || "";
55670
+ for (let k of _) o(k, c);
55671
+ }
55672
+ } catch (i) {
55673
+ c.error(i);
55607
55674
  } finally {
55608
- o.close();
55675
+ c.close();
55609
55676
  }
55610
55677
  } });
55611
55678
  return new Response(r, { status: e.status, statusText: e.statusText, headers: e.headers });
@@ -55613,7 +55680,7 @@ var J = class {
55613
55680
  return e;
55614
55681
  }
55615
55682
  };
55616
- var j = class {
55683
+ var B = class {
55617
55684
  name = "deepseek";
55618
55685
  transformRequestIn(e) {
55619
55686
  return e.max_tokens && e.max_tokens > 8192 && (e.max_tokens = 8192), e;
@@ -55624,58 +55691,58 @@ var j = class {
55624
55691
  return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
55625
55692
  } else if (e.headers.get("Content-Type")?.includes("stream")) {
55626
55693
  if (!e.body) return e;
55627
- let t = new TextDecoder(), n = new TextEncoder(), r = "", o = false, c = new ReadableStream({ async start(l) {
55628
- let d = e.body.getReader();
55694
+ let t = new TextDecoder(), n = new TextEncoder(), o = "", r = false, c = new ReadableStream({ async start(d) {
55695
+ let l = e.body.getReader();
55629
55696
  try {
55630
55697
  for (; ; ) {
55631
- let { done: i, value: p } = await d.read();
55698
+ let { done: i, value: p } = await l.read();
55632
55699
  if (i) break;
55633
- let C = t.decode(p, { stream: true }).split(`
55700
+ let k = t.decode(p, { stream: true }).split(`
55634
55701
  `);
55635
- for (let g of C) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
55702
+ for (let g of k) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
55636
55703
  let u = JSON.parse(g.slice(6));
55637
55704
  if (u.choices?.[0]?.delta?.reasoning_content) {
55638
- r += u.choices[0].delta.reasoning_content;
55705
+ o += u.choices[0].delta.reasoning_content;
55639
55706
  let a = { ...u, choices: [{ ...u.choices[0], delta: { ...u.choices[0].delta, thinking: { content: u.choices[0].delta.reasoning_content } } }] };
55640
55707
  delete a.choices[0].delta.reasoning_content;
55641
- let y = `data: ${JSON.stringify(a)}
55708
+ let v = `data: ${JSON.stringify(a)}
55642
55709
 
55643
55710
  `;
55644
- l.enqueue(n.encode(y));
55711
+ d.enqueue(n.encode(v));
55645
55712
  continue;
55646
55713
  }
55647
- if (u.choices?.[0]?.delta?.content && r && !o) {
55648
- o = true;
55649
- let a = Date.now().toString(), y = { ...u, choices: [{ ...u.choices[0], delta: { ...u.choices[0].delta, content: null, thinking: { content: r, signature: a } } }] };
55650
- delete y.choices[0].delta.reasoning_content;
55651
- let h = `data: ${JSON.stringify(y)}
55714
+ if (u.choices?.[0]?.delta?.content && o && !r) {
55715
+ r = true;
55716
+ let a = Date.now().toString(), v = { ...u, choices: [{ ...u.choices[0], delta: { ...u.choices[0].delta, content: null, thinking: { content: o, signature: a } } }] };
55717
+ delete v.choices[0].delta.reasoning_content;
55718
+ let h = `data: ${JSON.stringify(v)}
55652
55719
 
55653
55720
  `;
55654
- l.enqueue(n.encode(h));
55721
+ d.enqueue(n.encode(h));
55655
55722
  }
55656
55723
  if (u.choices[0]?.delta?.reasoning_content && delete u.choices[0].delta.reasoning_content, u.choices?.[0]?.delta && Object.keys(u.choices[0].delta).length > 0) {
55657
- o && u.choices[0].index++;
55724
+ r && u.choices[0].index++;
55658
55725
  let a = `data: ${JSON.stringify(u)}
55659
55726
 
55660
55727
  `;
55661
- l.enqueue(n.encode(a));
55728
+ d.enqueue(n.encode(a));
55662
55729
  }
55663
55730
  } catch {
55664
- l.enqueue(n.encode(g + `
55731
+ d.enqueue(n.encode(g + `
55665
55732
  `));
55666
55733
  }
55667
- else l.enqueue(n.encode(g + `
55734
+ else d.enqueue(n.encode(g + `
55668
55735
  `));
55669
55736
  }
55670
55737
  } catch (i) {
55671
- l.error(i);
55738
+ d.error(i);
55672
55739
  } finally {
55673
55740
  try {
55674
- d.releaseLock();
55741
+ l.releaseLock();
55675
55742
  } catch (i) {
55676
55743
  console.error("Error releasing reader lock:", i);
55677
55744
  }
55678
- l.close();
55745
+ d.close();
55679
55746
  }
55680
55747
  } });
55681
55748
  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" } });
@@ -55683,7 +55750,7 @@ var j = class {
55683
55750
  return e;
55684
55751
  }
55685
55752
  };
55686
- var D = class {
55753
+ var W = class {
55687
55754
  name = "tooluse";
55688
55755
  transformRequestIn(e) {
55689
55756
  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.
@@ -55696,36 +55763,36 @@ Examples:
55696
55763
  if (e.headers.get("Content-Type")?.includes("application/json")) {
55697
55764
  let t = await e.json();
55698
55765
  if (t?.choices[0]?.message.tool_calls?.length && t?.choices[0]?.message.tool_calls[0]?.function?.name === "ExitTool") {
55699
- let n = t?.choices[0]?.message.tool_calls[0], r = JSON.parse(n.function.arguments || "{}");
55700
- t.choices[0].message.content = r.response || "", delete t.choices[0].message.tool_calls;
55766
+ let n = t?.choices[0]?.message.tool_calls[0], o = JSON.parse(n.function.arguments || "{}");
55767
+ t.choices[0].message.content = o.response || "", delete t.choices[0].message.tool_calls;
55701
55768
  }
55702
55769
  return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
55703
55770
  } else if (e.headers.get("Content-Type")?.includes("stream")) {
55704
55771
  if (!e.body) return e;
55705
- let t = new TextDecoder(), n = new TextEncoder(), r = -1, o = "", c = new ReadableStream({ async start(l) {
55706
- let d = e.body.getReader();
55772
+ let t = new TextDecoder(), n = new TextEncoder(), o = -1, r = "", c = new ReadableStream({ async start(d) {
55773
+ let l = e.body.getReader();
55707
55774
  try {
55708
55775
  for (; ; ) {
55709
- let { done: i, value: p } = await d.read();
55776
+ let { done: i, value: p } = await l.read();
55710
55777
  if (i) break;
55711
- let C = t.decode(p, { stream: true }).split(`
55778
+ let k = t.decode(p, { stream: true }).split(`
55712
55779
  `);
55713
- for (let g of C) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
55780
+ for (let g of k) if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") try {
55714
55781
  let u = JSON.parse(g.slice(6));
55715
55782
  if (u.choices[0]?.delta?.tool_calls?.length) {
55716
55783
  let a = u.choices[0].delta.tool_calls[0];
55717
55784
  if (a.function?.name === "ExitTool") {
55718
- r = a.index;
55785
+ o = a.index;
55719
55786
  continue;
55720
- } else if (r > -1 && a.index === r && a.function.arguments) {
55721
- o += a.function.arguments;
55787
+ } else if (o > -1 && a.index === o && a.function.arguments) {
55788
+ r += a.function.arguments;
55722
55789
  try {
55723
- let y = JSON.parse(o);
55724
- u.choices = [{ delta: { role: "assistant", content: y.response || "" } }];
55790
+ let v = JSON.parse(r);
55791
+ u.choices = [{ delta: { role: "assistant", content: v.response || "" } }];
55725
55792
  let h = `data: ${JSON.stringify(u)}
55726
55793
 
55727
55794
  `;
55728
- l.enqueue(n.encode(h));
55795
+ d.enqueue(n.encode(h));
55729
55796
  } catch {
55730
55797
  }
55731
55798
  continue;
@@ -55735,24 +55802,24 @@ Examples:
55735
55802
  let a = `data: ${JSON.stringify(u)}
55736
55803
 
55737
55804
  `;
55738
- l.enqueue(n.encode(a));
55805
+ d.enqueue(n.encode(a));
55739
55806
  }
55740
55807
  } catch {
55741
- l.enqueue(n.encode(g + `
55808
+ d.enqueue(n.encode(g + `
55742
55809
  `));
55743
55810
  }
55744
- else l.enqueue(n.encode(g + `
55811
+ else d.enqueue(n.encode(g + `
55745
55812
  `));
55746
55813
  }
55747
55814
  } catch (i) {
55748
- l.error(i);
55815
+ d.error(i);
55749
55816
  } finally {
55750
55817
  try {
55751
- d.releaseLock();
55818
+ l.releaseLock();
55752
55819
  } catch (i) {
55753
55820
  console.error("Error releasing reader lock:", i);
55754
55821
  }
55755
- l.close();
55822
+ d.close();
55756
55823
  }
55757
55824
  } });
55758
55825
  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" } });
@@ -55760,30 +55827,6 @@ Examples:
55760
55827
  return e;
55761
55828
  }
55762
55829
  };
55763
- var b = [];
55764
- for (let s = 0; s < 256; ++s) b.push((s + 256).toString(16).slice(1));
55765
- function fe(s, e = 0) {
55766
- 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();
55767
- }
55768
- var W = new Uint8Array(256);
55769
- var B = W.length;
55770
- function te() {
55771
- return B > W.length - 16 && ((0, import_crypto.randomFillSync)(W), B = 0), W.slice(B, B += 16);
55772
- }
55773
- var ne = { randomUUID: import_crypto2.randomUUID };
55774
- function Re(s, e, t) {
55775
- if (ne.randomUUID && !e && !s) return ne.randomUUID();
55776
- s = s || {};
55777
- let n = s.random ?? s.rng?.() ?? te();
55778
- if (n.length < 16) throw new Error("Random bytes length must be >= 16");
55779
- if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, e) {
55780
- if (t = t || 0, t < 0 || t + 16 > e.length) throw new RangeError(`UUID byte range ${t}:${t + 15} is out of buffer bounds`);
55781
- for (let r = 0; r < 16; ++r) e[t + r] = n[r];
55782
- return e;
55783
- }
55784
- return fe(n);
55785
- }
55786
- var I = Re;
55787
55830
  var z = class {
55788
55831
  name = "openrouter";
55789
55832
  async transformRequestIn(e) {
@@ -55799,87 +55842,87 @@ var z = class {
55799
55842
  return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
55800
55843
  } else if (e.headers.get("Content-Type")?.includes("stream")) {
55801
55844
  if (!e.body) return e;
55802
- let t = new TextDecoder(), n = new TextEncoder(), r = false, o = "", c = false, l = false, d = "", i = new ReadableStream({ async start(p) {
55803
- let _ = e.body.getReader(), C = (u, a, y) => {
55845
+ let t = new TextDecoder(), n = new TextEncoder(), o = false, r = "", c = false, d = false, l = "", i = new ReadableStream({ async start(p) {
55846
+ let _ = e.body.getReader(), k = (u, a, v) => {
55804
55847
  let h = u.split(`
55805
55848
  `);
55806
- for (let f of h) f.trim() && a.enqueue(y.encode(f + `
55849
+ for (let f of h) f.trim() && a.enqueue(v.encode(f + `
55807
55850
  `));
55808
55851
  }, g = (u, a) => {
55809
- let { controller: y, encoder: h } = a;
55852
+ let { controller: v, encoder: h } = a;
55810
55853
  if (u.startsWith("data: ") && u.trim() !== "data: [DONE]") {
55811
55854
  let f = u.slice(6);
55812
55855
  try {
55813
55856
  let m = JSON.parse(f);
55814
- if (m.usage && (v("usage", m.usage, l), m.choices[0].finish_reason = l ? "tool_calls" : "stop"), m.choices?.[0]?.finish_reason === "error" && y.enqueue(h.encode(`data: ${JSON.stringify({ error: m.choices?.[0].error })}
55857
+ if (m.usage && (y("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 })}
55815
55858
 
55816
55859
  `)), m.choices?.[0]?.delta?.content && !a.hasTextContent() && a.setHasTextContent(true), m.choices?.[0]?.delta?.reasoning) {
55817
55860
  a.appendReasoningContent(m.choices[0].delta.reasoning);
55818
55861
  let x = { ...m, choices: [{ ...m.choices?.[0], delta: { ...m.choices[0].delta, thinking: { content: m.choices[0].delta.reasoning } } }] };
55819
55862
  x.choices?.[0]?.delta && delete x.choices[0].delta.reasoning;
55820
- let R = `data: ${JSON.stringify(x)}
55863
+ let b = `data: ${JSON.stringify(x)}
55821
55864
 
55822
55865
  `;
55823
- y.enqueue(h.encode(R));
55866
+ v.enqueue(h.encode(b));
55824
55867
  return;
55825
55868
  }
55826
55869
  if (m.choices?.[0]?.delta?.content && a.reasoningContent() && !a.isReasoningComplete()) {
55827
55870
  a.setReasoningComplete(true);
55828
- let x = Date.now().toString(), R = { ...m, choices: [{ ...m.choices?.[0], delta: { ...m.choices[0].delta, content: null, thinking: { content: a.reasoningContent(), signature: x } } }] };
55829
- R.choices?.[0]?.delta && delete R.choices[0].delta.reasoning;
55830
- let X = `data: ${JSON.stringify(R)}
55871
+ let x = Date.now().toString(), b = { ...m, choices: [{ ...m.choices?.[0], delta: { ...m.choices[0].delta, content: null, thinking: { content: a.reasoningContent(), signature: x } } }] };
55872
+ b.choices?.[0]?.delta && delete b.choices[0].delta.reasoning;
55873
+ let X = `data: ${JSON.stringify(b)}
55831
55874
 
55832
55875
  `;
55833
- y.enqueue(h.encode(X));
55876
+ v.enqueue(h.encode(X));
55834
55877
  }
55835
55878
  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) => {
55836
- x.id = `call_${I()}`;
55837
- }), m.choices?.[0]?.delta?.tool_calls?.length && !l && (v("hasToolCall", true), l = true), m.choices?.[0]?.delta?.tool_calls?.length && a.hasTextContent() && (typeof m.choices[0].index == "number" ? m.choices[0].index += 1 : m.choices[0].index = 1);
55838
- let T = `data: ${JSON.stringify(m)}
55879
+ x.id = `call_${H()}`;
55880
+ }), m.choices?.[0]?.delta?.tool_calls?.length && !d && (y("hasToolCall", true), d = true), m.choices?.[0]?.delta?.tool_calls?.length && a.hasTextContent() && (typeof m.choices[0].index == "number" ? m.choices[0].index += 1 : m.choices[0].index = 1);
55881
+ let S = `data: ${JSON.stringify(m)}
55839
55882
 
55840
55883
  `;
55841
- y.enqueue(h.encode(T));
55884
+ v.enqueue(h.encode(S));
55842
55885
  } catch {
55843
- y.enqueue(h.encode(u + `
55886
+ v.enqueue(h.encode(u + `
55844
55887
  `));
55845
55888
  }
55846
- } else y.enqueue(h.encode(u + `
55889
+ } else v.enqueue(h.encode(u + `
55847
55890
  `));
55848
55891
  };
55849
55892
  try {
55850
55893
  for (; ; ) {
55851
55894
  let { done: u, value: a } = await _.read();
55852
55895
  if (u) {
55853
- d.trim() && C(d, p, n);
55896
+ l.trim() && k(l, p, n);
55854
55897
  break;
55855
55898
  }
55856
55899
  if (!a || a.length === 0) continue;
55857
- let y;
55900
+ let v;
55858
55901
  try {
55859
- y = t.decode(a, { stream: true });
55902
+ v = t.decode(a, { stream: true });
55860
55903
  } catch (f) {
55861
55904
  console.warn("Failed to decode chunk", f);
55862
55905
  continue;
55863
55906
  }
55864
- if (y.length === 0) continue;
55865
- if (d += y, d.length > 1e6) {
55907
+ if (v.length === 0) continue;
55908
+ if (l += v, l.length > 1e6) {
55866
55909
  console.warn("Buffer size exceeds limit, processing partial data");
55867
- let f = d.split(`
55910
+ let f = l.split(`
55868
55911
  `);
55869
- d = f.pop() || "";
55912
+ l = f.pop() || "";
55870
55913
  for (let m of f) if (m.trim()) try {
55871
- g(m, { controller: p, encoder: n, hasTextContent: () => r, setHasTextContent: (T) => r = T, reasoningContent: () => o, appendReasoningContent: (T) => o += T, isReasoningComplete: () => c, setReasoningComplete: (T) => c = T });
55872
- } catch (T) {
55873
- console.error("Error processing line:", m, T), p.enqueue(n.encode(m + `
55914
+ g(m, { controller: p, encoder: n, hasTextContent: () => o, setHasTextContent: (S) => o = S, reasoningContent: () => r, appendReasoningContent: (S) => r += S, isReasoningComplete: () => c, setReasoningComplete: (S) => c = S });
55915
+ } catch (S) {
55916
+ console.error("Error processing line:", m, S), p.enqueue(n.encode(m + `
55874
55917
  `));
55875
55918
  }
55876
55919
  continue;
55877
55920
  }
55878
- let h = d.split(`
55921
+ let h = l.split(`
55879
55922
  `);
55880
- d = h.pop() || "";
55923
+ l = h.pop() || "";
55881
55924
  for (let f of h) if (f.trim()) try {
55882
- g(f, { controller: p, encoder: n, hasTextContent: () => r, setHasTextContent: (m) => r = m, reasoningContent: () => o, appendReasoningContent: (m) => o += m, isReasoningComplete: () => c, setReasoningComplete: (m) => c = m });
55925
+ g(f, { controller: p, encoder: n, hasTextContent: () => o, setHasTextContent: (m) => o = m, reasoningContent: () => r, appendReasoningContent: (m) => r += m, isReasoningComplete: () => c, setReasoningComplete: (m) => c = m });
55883
55926
  } catch (m) {
55884
55927
  console.error("Error processing line:", f, m), p.enqueue(n.encode(f + `
55885
55928
  `));
@@ -55929,38 +55972,38 @@ var G = class {
55929
55972
  return new Response(JSON.stringify(t), { status: e.status, statusText: e.statusText, headers: e.headers });
55930
55973
  } else if (e.headers.get("Content-Type")?.includes("stream")) {
55931
55974
  if (!e.body) return e;
55932
- let t = new TextDecoder(), n = new TextEncoder(), r = false, o = "", c = false, l = "", d = new ReadableStream({ async start(i) {
55975
+ let t = new TextDecoder(), n = new TextEncoder(), o = false, r = "", c = false, d = "", l = new ReadableStream({ async start(i) {
55933
55976
  let p = e.body.getReader(), _ = (g, u, a) => {
55934
- let y = g.split(`
55977
+ let v = g.split(`
55935
55978
  `);
55936
- for (let h of y) h.trim() && u.enqueue(a.encode(h + `
55979
+ for (let h of v) h.trim() && u.enqueue(a.encode(h + `
55937
55980
  `));
55938
- }, C = (g, u) => {
55939
- let { controller: a, encoder: y } = u;
55981
+ }, k = (g, u) => {
55982
+ let { controller: a, encoder: v } = u;
55940
55983
  if (g.startsWith("data: ") && g.trim() !== "data: [DONE]") {
55941
55984
  let h = g.slice(6);
55942
55985
  try {
55943
55986
  let f = JSON.parse(h);
55944
55987
  if (f.error) throw new Error(JSON.stringify(f));
55945
- f.choices?.[0]?.delta?.content && !u.hasTextContent() && u.setHasTextContent(true), f.choices?.[0]?.delta?.tool_calls?.length && f.choices?.[0]?.delta?.tool_calls.forEach((T) => {
55946
- T.id = `call_${I()}`;
55988
+ f.choices?.[0]?.delta?.content && !u.hasTextContent() && u.setHasTextContent(true), f.choices?.[0]?.delta?.tool_calls?.length && f.choices?.[0]?.delta?.tool_calls.forEach((S) => {
55989
+ S.id = `call_${H()}`;
55947
55990
  }), f.choices?.[0]?.delta?.tool_calls?.length && u.hasTextContent() && (typeof f.choices[0].index == "number" ? f.choices[0].index += 1 : f.choices[0].index = 1);
55948
55991
  let m = `data: ${JSON.stringify(f)}
55949
55992
 
55950
55993
  `;
55951
- a.enqueue(y.encode(m));
55994
+ a.enqueue(v.encode(m));
55952
55995
  } catch {
55953
- a.enqueue(y.encode(g + `
55996
+ a.enqueue(v.encode(g + `
55954
55997
  `));
55955
55998
  }
55956
- } else a.enqueue(y.encode(g + `
55999
+ } else a.enqueue(v.encode(g + `
55957
56000
  `));
55958
56001
  };
55959
56002
  try {
55960
56003
  for (; ; ) {
55961
56004
  let { done: g, value: u } = await p.read();
55962
56005
  if (g) {
55963
- l.trim() && _(l, i, n);
56006
+ d.trim() && _(d, i, n);
55964
56007
  break;
55965
56008
  }
55966
56009
  if (!u || u.length === 0) continue;
@@ -55972,24 +56015,24 @@ var G = class {
55972
56015
  continue;
55973
56016
  }
55974
56017
  if (a.length === 0) continue;
55975
- if (l += a, l.length > 1e6) {
56018
+ if (d += a, d.length > 1e6) {
55976
56019
  console.warn("Buffer size exceeds limit, processing partial data");
55977
- let h = l.split(`
56020
+ let h = d.split(`
55978
56021
  `);
55979
- l = h.pop() || "";
56022
+ d = h.pop() || "";
55980
56023
  for (let f of h) if (f.trim()) try {
55981
- C(f, { controller: i, encoder: n, hasTextContent: () => r, setHasTextContent: (m) => r = m, reasoningContent: () => o, appendReasoningContent: (m) => o += m, isReasoningComplete: () => c, setReasoningComplete: (m) => c = m });
56024
+ k(f, { controller: i, encoder: n, hasTextContent: () => o, setHasTextContent: (m) => o = m, reasoningContent: () => r, appendReasoningContent: (m) => r += m, isReasoningComplete: () => c, setReasoningComplete: (m) => c = m });
55982
56025
  } catch (m) {
55983
56026
  console.error("Error processing line:", f, m), i.enqueue(n.encode(f + `
55984
56027
  `));
55985
56028
  }
55986
56029
  continue;
55987
56030
  }
55988
- let y = l.split(`
56031
+ let v = d.split(`
55989
56032
  `);
55990
- l = y.pop() || "";
55991
- for (let h of y) if (h.trim()) try {
55992
- C(h, { controller: i, encoder: n, hasTextContent: () => r, setHasTextContent: (f) => r = f, reasoningContent: () => o, appendReasoningContent: (f) => o += f, isReasoningComplete: () => c, setReasoningComplete: (f) => c = f });
56033
+ d = v.pop() || "";
56034
+ for (let h of v) if (h.trim()) try {
56035
+ k(h, { controller: i, encoder: n, hasTextContent: () => o, setHasTextContent: (f) => o = f, reasoningContent: () => r, appendReasoningContent: (f) => r += f, isReasoningComplete: () => c, setReasoningComplete: (f) => c = f });
55993
56036
  } catch (f) {
55994
56037
  console.error("Error processing line:", h, f), i.enqueue(n.encode(h + `
55995
56038
  `));
@@ -56006,7 +56049,7 @@ var G = class {
56006
56049
  i.close();
56007
56050
  }
56008
56051
  } });
56009
- return new Response(d, { status: e.status, statusText: e.statusText, headers: { "Content-Type": e.headers.get("Content-Type") || "text/plain", "Cache-Control": "no-cache", Connection: "keep-alive" } });
56052
+ 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" } });
56010
56053
  }
56011
56054
  return e;
56012
56055
  }
@@ -56021,14 +56064,14 @@ var K = class {
56021
56064
  }), e;
56022
56065
  }
56023
56066
  };
56024
- var pe = { AnthropicTransformer: U, GeminiTransformer: J, DeepseekTransformer: j, TooluseTransformer: D, OpenrouterTransformer: z, MaxTokenTransformer: V, GroqTransformer: G, CleancacheTransformer: K };
56067
+ var pe = { AnthropicTransformer: j, GeminiTransformer: D, DeepseekTransformer: B, TooluseTransformer: W, OpenrouterTransformer: z, MaxTokenTransformer: V, GroqTransformer: G, CleancacheTransformer: K };
56025
56068
  var Y = class {
56026
56069
  constructor(e) {
56027
56070
  this.configService = e;
56028
56071
  }
56029
56072
  transformers = /* @__PURE__ */ new Map();
56030
56073
  registerTransformer(e, t) {
56031
- this.transformers.set(e, t), v(`register transformer: ${e}${t.endPoint ? ` (endpoint: ${t.endPoint})` : " (no endpoint)"}`);
56074
+ this.transformers.set(e, t), y(`register transformer: ${e}${t.endPoint ? ` (endpoint: ${t.endPoint})` : " (no endpoint)"}`);
56032
56075
  }
56033
56076
  getTransformer(e) {
56034
56077
  return this.transformers.get(e);
@@ -56057,26 +56100,26 @@ var Y = class {
56057
56100
  async registerTransformerFromConfig(e) {
56058
56101
  try {
56059
56102
  let t = import_node_module.default._load;
56060
- if (import_node_module.default._load = function(n, r, o) {
56061
- return n === "claude-code-router" ? { log: v } : t.apply(import_node_module.default, arguments);
56103
+ if (import_node_module.default._load = function(n, o, r) {
56104
+ return n === "claude-code-router" ? { log: y } : t.apply(import_node_module.default, arguments);
56062
56105
  }, e.path) {
56063
56106
  let n = Z(Z.resolve(e.path));
56064
56107
  if (n) {
56065
- let r = new n(e.options);
56066
- if (!r.name) throw new Error(`Transformer instance from ${e.path} does not have a name property.`);
56067
- return this.registerTransformer(r.name, r), true;
56108
+ let o = new n(e.options);
56109
+ if (!o.name) throw new Error(`Transformer instance from ${e.path} does not have a name property.`);
56110
+ return this.registerTransformer(o.name, o), true;
56068
56111
  }
56069
56112
  }
56070
56113
  return false;
56071
56114
  } catch (t) {
56072
- return v(`load transformer (${e.path}) error:`, t.message, t.stack), false;
56115
+ return y(`load transformer (${e.path}) error:`, t.message, t.stack), false;
56073
56116
  }
56074
56117
  }
56075
56118
  async initialize() {
56076
56119
  try {
56077
56120
  await this.registerDefaultTransformersInternal(), await this.loadFromConfig();
56078
56121
  } catch (e) {
56079
- v("TransformerService init error:", e);
56122
+ y("TransformerService init error:", e);
56080
56123
  }
56081
56124
  }
56082
56125
  async registerDefaultTransformersInternal() {
@@ -56089,7 +56132,7 @@ var Y = class {
56089
56132
  }
56090
56133
  });
56091
56134
  } catch (e) {
56092
- v("transformer regist error:", e);
56135
+ y("transformer regist error:", e);
56093
56136
  }
56094
56137
  }
56095
56138
  async loadFromConfig() {
@@ -56097,7 +56140,7 @@ var Y = class {
56097
56140
  for (let t of e) await this.registerTransformerFromConfig(t);
56098
56141
  }
56099
56142
  };
56100
- function Se() {
56143
+ function Pe() {
56101
56144
  let s = (0, import_fastify.default)({ bodyLimit: 52428800 });
56102
56145
  return s.setErrorHandler(le), s.register(import_cors.default), s;
56103
56146
  }
@@ -56108,9 +56151,9 @@ var re = class {
56108
56151
  providerService;
56109
56152
  transformerService;
56110
56153
  constructor(e = {}) {
56111
- this.configService = new $(e), this.transformerService = new Y(this.configService), this.transformerService.initialize().finally(() => {
56112
- this.providerService = new F(this.configService, this.transformerService), this.llmService = new q(this.providerService);
56113
- }), this.app = Se();
56154
+ this.configService = new I(e), this.transformerService = new Y(this.configService), this.transformerService.initialize().finally(() => {
56155
+ this.providerService = new q(this.configService, this.transformerService), this.llmService = new F(this.providerService);
56156
+ }), this.app = Pe();
56114
56157
  }
56115
56158
  async register(e, t) {
56116
56159
  await this.app.register(e, t);
@@ -56120,33 +56163,33 @@ var re = class {
56120
56163
  }
56121
56164
  async start() {
56122
56165
  try {
56123
- this.app._server = this, this.app.addHook("preHandler", async (n, r) => {
56166
+ this.app._server = this, this.app.addHook("preHandler", async (n, o) => {
56124
56167
  try {
56125
- let o = n.body;
56126
- if (!o || !o.model) return r.code(400).send({ error: "Missing model in request body" });
56127
- let [c, l] = o.model.split(",");
56128
- o.model = l, n.provider = c;
56168
+ let r = n.body;
56169
+ if (!r || !r.model) return o.code(400).send({ error: "Missing model in request body" });
56170
+ let [c, d] = r.model.split(",");
56171
+ r.model = d, n.provider = c;
56129
56172
  return;
56130
- } catch (o) {
56131
- return n.log.error("Error in modelProviderMiddleware:", o), r.code(500).send({ error: "Internal server error" });
56173
+ } catch (r) {
56174
+ return n.log.error("Error in modelProviderMiddleware:", r), o.code(500).send({ error: "Internal server error" });
56132
56175
  }
56133
56176
  }), this.app.register(ue);
56134
56177
  let e = await this.app.listen({ port: parseInt(this.configService.get("PORT") || "3000", 10), host: this.configService.get("HOST") || "127.0.0.1" });
56135
- v(`\u{1F680} LLMs API server listening on ${e}`);
56178
+ y(`\u{1F680} LLMs API server listening on ${e}`);
56136
56179
  let t = async (n) => {
56137
- v(`Received ${n}, shutting down gracefully...`), await this.app.close(), process.exit(0);
56180
+ y(`Received ${n}, shutting down gracefully...`), await this.app.close(), process.exit(0);
56138
56181
  };
56139
56182
  process.on("SIGINT", () => t("SIGINT")), process.on("SIGTERM", () => t("SIGTERM"));
56140
56183
  } catch (e) {
56141
- v(`Error starting server: ${e}`), process.exit(1);
56184
+ y(`Error starting server: ${e}`), process.exit(1);
56142
56185
  }
56143
56186
  }
56144
56187
  };
56145
- var cn = re;
56188
+ var ln = re;
56146
56189
 
56147
56190
  // src/server.ts
56148
56191
  var createServer = (config) => {
56149
- const server = new cn(config);
56192
+ const server = new ln(config);
56150
56193
  return server;
56151
56194
  };
56152
56195
 
@@ -56191,6 +56234,9 @@ var getUseModel = (req, tokenCount, config) => {
56191
56234
  log("Using think model for ", req.body.thinking);
56192
56235
  return config.Router.think;
56193
56236
  }
56237
+ if (Array.isArray(req.body.tools) && req.body.tools.some((tool) => tool.type?.startsWith("web_search")) && config.Router.webSearch) {
56238
+ return config.Router.webSearch;
56239
+ }
56194
56240
  return config.Router.default;
56195
56241
  };
56196
56242
  var router = async (req, res, config) => {
@@ -56508,7 +56554,7 @@ async function executeCodeCommand(args = []) {
56508
56554
  }
56509
56555
 
56510
56556
  // package.json
56511
- var version = "1.0.22";
56557
+ var version = "1.0.23";
56512
56558
 
56513
56559
  // src/cli.ts
56514
56560
  var import_child_process2 = require("child_process");