@friskai/frisk-js 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/langchain/frisk-callback-handler.d.ts +1 -2
  3. package/dist/adapters/langchain/frisk-callback-handler.d.ts.map +1 -1
  4. package/dist/adapters/langchain/frisk-tool-middleware.d.ts.map +1 -1
  5. package/dist/adapters/langchain/index.js +1105 -1024
  6. package/dist/adapters/langchain/index.js.map +24 -25
  7. package/dist/adapters/langchain/langchain-framework-adapter/langchain-framework-adapter.d.ts +3 -3
  8. package/dist/adapters/langchain/langchain-framework-adapter/langchain-framework-adapter.d.ts.map +1 -1
  9. package/dist/core/extensions.d.ts +30 -0
  10. package/dist/core/extensions.d.ts.map +1 -0
  11. package/dist/core/frisk-session.d.ts +30 -4
  12. package/dist/core/frisk-session.d.ts.map +1 -1
  13. package/dist/core/frisk.d.ts +14 -24
  14. package/dist/core/frisk.d.ts.map +1 -1
  15. package/dist/core/tool-call-span.d.ts +1 -2
  16. package/dist/core/tool-call-span.d.ts.map +1 -1
  17. package/dist/core/types.d.ts +5 -0
  18. package/dist/core/types.d.ts.map +1 -1
  19. package/dist/errors/index.d.ts +6 -0
  20. package/dist/errors/index.d.ts.map +1 -1
  21. package/dist/framework-adapter/base-framework-adapter.d.ts +3 -3
  22. package/dist/framework-adapter/base-framework-adapter.d.ts.map +1 -1
  23. package/dist/framework-adapter/framework-adapter.d.ts +3 -3
  24. package/dist/framework-adapter/framework-adapter.d.ts.map +1 -1
  25. package/dist/framework-adapter/index.d.ts +2 -2
  26. package/dist/framework-adapter/index.d.ts.map +1 -1
  27. package/dist/generated/sdk-meta.d.ts +1 -1
  28. package/dist/index.d.ts +2 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +298 -178
  31. package/dist/index.js.map +14 -15
  32. package/dist/telemetry/constants.d.ts +3 -1
  33. package/dist/telemetry/constants.d.ts.map +1 -1
  34. package/dist/utils/redact.d.ts +5 -5
  35. package/dist/utils/redact.d.ts.map +1 -1
  36. package/package.json +3 -27
  37. package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts +0 -99
  38. package/dist/adapters/claude/claude-framework-adapter/claude-framework-adapter.d.ts.map +0 -1
  39. package/dist/adapters/claude/claude-framework-adapter/get-claude-agent-sdk-version.d.ts +0 -2
  40. package/dist/adapters/claude/claude-framework-adapter/get-claude-agent-sdk-version.d.ts.map +0 -1
  41. package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts +0 -4
  42. package/dist/adapters/claude/claude-framework-adapter/wrap-tool-with-llm-reasoning.d.ts.map +0 -1
  43. package/dist/adapters/claude/frisk-claude-session.d.ts +0 -29
  44. package/dist/adapters/claude/frisk-claude-session.d.ts.map +0 -1
  45. package/dist/adapters/claude/frisk-claude.d.ts +0 -71
  46. package/dist/adapters/claude/frisk-claude.d.ts.map +0 -1
  47. package/dist/adapters/claude/index.d.ts +0 -3
  48. package/dist/adapters/claude/index.d.ts.map +0 -1
  49. package/dist/adapters/claude/index.js +0 -65658
  50. package/dist/adapters/claude/index.js.map +0 -449
  51. package/dist/adapters/claude/resolve-claude-tool-name.d.ts +0 -2
  52. package/dist/adapters/claude/resolve-claude-tool-name.d.ts.map +0 -1
  53. package/dist/native-bindings/index.d.ts +0 -23
  54. package/dist/native-bindings/index.d.ts.map +0 -1
  55. package/native/README.md +0 -55
  56. package/native/frisk-js.darwin-arm64.node +0 -0
  57. package/native/frisk-js.darwin-x64.node +0 -0
  58. package/native/frisk-js.linux-arm64-gnu.node +0 -0
  59. package/native/frisk-js.linux-arm64-musl.node +0 -0
  60. package/native/frisk-js.linux-x64-gnu.node +0 -0
  61. package/native/frisk-js.linux-x64-musl.node +0 -0
  62. package/native/frisk-js.win32-arm64-msvc.node +0 -0
  63. package/native/frisk-js.win32-x64-msvc.node +0 -0
  64. package/native/index.cjs +0 -580
  65. package/native/index.d.ts +0 -73
@@ -1434,7 +1434,7 @@ var require_max = __commonJS((exports) => {
1434
1434
  value: true
1435
1435
  });
1436
1436
  exports.default = undefined;
1437
- var _default2 = exports.default = "ffffffff-ffff-ffff-ffff-ffffffffffff";
1437
+ var _default = exports.default = "ffffffff-ffff-ffff-ffff-ffffffffffff";
1438
1438
  });
1439
1439
 
1440
1440
  // ../../node_modules/uuid/dist/nil.js
@@ -1443,7 +1443,7 @@ var require_nil = __commonJS((exports) => {
1443
1443
  value: true
1444
1444
  });
1445
1445
  exports.default = undefined;
1446
- var _default2 = exports.default = "00000000-0000-0000-0000-000000000000";
1446
+ var _default = exports.default = "00000000-0000-0000-0000-000000000000";
1447
1447
  });
1448
1448
 
1449
1449
  // ../../node_modules/uuid/dist/regex.js
@@ -1452,7 +1452,7 @@ var require_regex = __commonJS((exports) => {
1452
1452
  value: true
1453
1453
  });
1454
1454
  exports.default = undefined;
1455
- var _default2 = exports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
1455
+ var _default = exports.default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
1456
1456
  });
1457
1457
 
1458
1458
  // ../../node_modules/uuid/dist/validate.js
@@ -1461,14 +1461,14 @@ var require_validate = __commonJS((exports) => {
1461
1461
  value: true
1462
1462
  });
1463
1463
  exports.default = undefined;
1464
- var _regex2 = _interopRequireDefault(require_regex());
1464
+ var _regex = _interopRequireDefault(require_regex());
1465
1465
  function _interopRequireDefault(e) {
1466
1466
  return e && e.__esModule ? e : { default: e };
1467
1467
  }
1468
- function validate(uuid2) {
1469
- return typeof uuid2 === "string" && _regex2.default.test(uuid2);
1468
+ function validate(uuid) {
1469
+ return typeof uuid === "string" && _regex.default.test(uuid);
1470
1470
  }
1471
- var _default2 = exports.default = validate;
1471
+ var _default = exports.default = validate;
1472
1472
  });
1473
1473
 
1474
1474
  // ../../node_modules/uuid/dist/parse.js
@@ -1481,23 +1481,23 @@ var require_parse = __commonJS((exports) => {
1481
1481
  function _interopRequireDefault(e) {
1482
1482
  return e && e.__esModule ? e : { default: e };
1483
1483
  }
1484
- function parse5(uuid2) {
1485
- if (!(0, _validate.default)(uuid2)) {
1484
+ function parse(uuid) {
1485
+ if (!(0, _validate.default)(uuid)) {
1486
1486
  throw TypeError("Invalid UUID");
1487
1487
  }
1488
1488
  let v;
1489
1489
  const arr = new Uint8Array(16);
1490
- arr[0] = (v = parseInt(uuid2.slice(0, 8), 16)) >>> 24;
1490
+ arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
1491
1491
  arr[1] = v >>> 16 & 255;
1492
1492
  arr[2] = v >>> 8 & 255;
1493
1493
  arr[3] = v & 255;
1494
- arr[4] = (v = parseInt(uuid2.slice(9, 13), 16)) >>> 8;
1494
+ arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
1495
1495
  arr[5] = v & 255;
1496
- arr[6] = (v = parseInt(uuid2.slice(14, 18), 16)) >>> 8;
1496
+ arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
1497
1497
  arr[7] = v & 255;
1498
- arr[8] = (v = parseInt(uuid2.slice(19, 23), 16)) >>> 8;
1498
+ arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
1499
1499
  arr[9] = v & 255;
1500
- arr[10] = (v = parseInt(uuid2.slice(24, 36), 16)) / 1099511627776 & 255;
1500
+ arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
1501
1501
  arr[11] = v / 4294967296 & 255;
1502
1502
  arr[12] = v >>> 24 & 255;
1503
1503
  arr[13] = v >>> 16 & 255;
@@ -1505,7 +1505,7 @@ var require_parse = __commonJS((exports) => {
1505
1505
  arr[15] = v & 255;
1506
1506
  return arr;
1507
1507
  }
1508
- var _default2 = exports.default = parse5;
1508
+ var _default = exports.default = parse;
1509
1509
  });
1510
1510
 
1511
1511
  // ../../node_modules/uuid/dist/stringify.js
@@ -1527,13 +1527,13 @@ var require_stringify = __commonJS((exports) => {
1527
1527
  return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
1528
1528
  }
1529
1529
  function stringify(arr, offset = 0) {
1530
- const uuid2 = unsafeStringify(arr, offset);
1531
- if (!(0, _validate.default)(uuid2)) {
1530
+ const uuid = unsafeStringify(arr, offset);
1531
+ if (!(0, _validate.default)(uuid)) {
1532
1532
  throw TypeError("Stringified UUID is invalid");
1533
1533
  }
1534
- return uuid2;
1534
+ return uuid;
1535
1535
  }
1536
- var _default2 = exports.default = stringify;
1536
+ var _default = exports.default = stringify;
1537
1537
  });
1538
1538
 
1539
1539
  // ../../node_modules/uuid/dist/rng.js
@@ -1635,7 +1635,7 @@ var require_v1 = __commonJS((exports) => {
1635
1635
  }
1636
1636
  return buf || (0, _stringify.unsafeStringify)(b);
1637
1637
  }
1638
- var _default2 = exports.default = v1;
1638
+ var _default = exports.default = v1;
1639
1639
  });
1640
1640
 
1641
1641
  // ../../node_modules/uuid/dist/v1ToV6.js
@@ -1644,15 +1644,15 @@ var require_v1ToV6 = __commonJS((exports) => {
1644
1644
  value: true
1645
1645
  });
1646
1646
  exports.default = v1ToV6;
1647
- var _parse2 = _interopRequireDefault(require_parse());
1647
+ var _parse = _interopRequireDefault(require_parse());
1648
1648
  var _stringify = require_stringify();
1649
1649
  function _interopRequireDefault(e) {
1650
1650
  return e && e.__esModule ? e : { default: e };
1651
1651
  }
1652
- function v1ToV6(uuid2) {
1653
- const v1Bytes = typeof uuid2 === "string" ? (0, _parse2.default)(uuid2) : uuid2;
1652
+ function v1ToV6(uuid) {
1653
+ const v1Bytes = typeof uuid === "string" ? (0, _parse.default)(uuid) : uuid;
1654
1654
  const v6Bytes = _v1ToV6(v1Bytes);
1655
- return typeof uuid2 === "string" ? (0, _stringify.unsafeStringify)(v6Bytes) : v6Bytes;
1655
+ return typeof uuid === "string" ? (0, _stringify.unsafeStringify)(v6Bytes) : v6Bytes;
1656
1656
  }
1657
1657
  function _v1ToV6(v1Bytes, randomize = false) {
1658
1658
  return Uint8Array.of((v1Bytes[6] & 15) << 4 | v1Bytes[7] >> 4 & 15, (v1Bytes[7] & 15) << 4 | (v1Bytes[4] & 240) >> 4, (v1Bytes[4] & 15) << 4 | (v1Bytes[5] & 240) >> 4, (v1Bytes[5] & 15) << 4 | (v1Bytes[0] & 240) >> 4, (v1Bytes[0] & 15) << 4 | (v1Bytes[1] & 240) >> 4, (v1Bytes[1] & 15) << 4 | (v1Bytes[2] & 240) >> 4, 96 | v1Bytes[2] & 15, v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);
@@ -1667,7 +1667,7 @@ var require_v35 = __commonJS((exports) => {
1667
1667
  exports.URL = exports.DNS = undefined;
1668
1668
  exports.default = v35;
1669
1669
  var _stringify = require_stringify();
1670
- var _parse2 = _interopRequireDefault(require_parse());
1670
+ var _parse = _interopRequireDefault(require_parse());
1671
1671
  function _interopRequireDefault(e) {
1672
1672
  return e && e.__esModule ? e : { default: e };
1673
1673
  }
@@ -1681,14 +1681,14 @@ var require_v35 = __commonJS((exports) => {
1681
1681
  }
1682
1682
  var DNS = exports.DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
1683
1683
  var URL2 = exports.URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
1684
- function v35(name, version2, hashfunc) {
1684
+ function v35(name, version, hashfunc) {
1685
1685
  function generateUUID(value, namespace, buf, offset) {
1686
1686
  var _namespace;
1687
1687
  if (typeof value === "string") {
1688
1688
  value = stringToBytes(value);
1689
1689
  }
1690
1690
  if (typeof namespace === "string") {
1691
- namespace = (0, _parse2.default)(namespace);
1691
+ namespace = (0, _parse.default)(namespace);
1692
1692
  }
1693
1693
  if (((_namespace = namespace) === null || _namespace === undefined ? undefined : _namespace.length) !== 16) {
1694
1694
  throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
@@ -1697,7 +1697,7 @@ var require_v35 = __commonJS((exports) => {
1697
1697
  bytes.set(namespace);
1698
1698
  bytes.set(value, namespace.length);
1699
1699
  bytes = hashfunc(bytes);
1700
- bytes[6] = bytes[6] & 15 | version2;
1700
+ bytes[6] = bytes[6] & 15 | version;
1701
1701
  bytes[8] = bytes[8] & 63 | 128;
1702
1702
  if (buf) {
1703
1703
  offset = offset || 0;
@@ -1735,7 +1735,7 @@ var require_md5 = __commonJS((exports) => {
1735
1735
  }
1736
1736
  return _nodeCrypto.default.createHash("md5").update(bytes).digest();
1737
1737
  }
1738
- var _default2 = exports.default = md5;
1738
+ var _default = exports.default = md5;
1739
1739
  });
1740
1740
 
1741
1741
  // ../../node_modules/uuid/dist/v3.js
@@ -1750,7 +1750,7 @@ var require_v3 = __commonJS((exports) => {
1750
1750
  return e && e.__esModule ? e : { default: e };
1751
1751
  }
1752
1752
  var v3 = (0, _v.default)("v3", 48, _md.default);
1753
- var _default2 = exports.default = v3;
1753
+ var _default = exports.default = v3;
1754
1754
  });
1755
1755
 
1756
1756
  // ../../node_modules/uuid/dist/native.js
@@ -1763,7 +1763,7 @@ var require_native = __commonJS((exports) => {
1763
1763
  function _interopRequireDefault(e) {
1764
1764
  return e && e.__esModule ? e : { default: e };
1765
1765
  }
1766
- var _default2 = exports.default = {
1766
+ var _default = exports.default = {
1767
1767
  randomUUID: _nodeCrypto.default.randomUUID
1768
1768
  };
1769
1769
  });
@@ -1797,7 +1797,7 @@ var require_v4 = __commonJS((exports) => {
1797
1797
  }
1798
1798
  return (0, _stringify.unsafeStringify)(rnds);
1799
1799
  }
1800
- var _default2 = exports.default = v4;
1800
+ var _default = exports.default = v4;
1801
1801
  });
1802
1802
 
1803
1803
  // ../../node_modules/uuid/dist/sha1.js
@@ -1818,7 +1818,7 @@ var require_sha1 = __commonJS((exports) => {
1818
1818
  }
1819
1819
  return _nodeCrypto.default.createHash("sha1").update(bytes).digest();
1820
1820
  }
1821
- var _default2 = exports.default = sha1;
1821
+ var _default = exports.default = sha1;
1822
1822
  });
1823
1823
 
1824
1824
  // ../../node_modules/uuid/dist/v5.js
@@ -1833,7 +1833,7 @@ var require_v5 = __commonJS((exports) => {
1833
1833
  return e && e.__esModule ? e : { default: e };
1834
1834
  }
1835
1835
  var v5 = (0, _v.default)("v5", 80, _sha.default);
1836
- var _default2 = exports.default = v5;
1836
+ var _default = exports.default = v5;
1837
1837
  });
1838
1838
 
1839
1839
  // ../../node_modules/uuid/dist/v6.js
@@ -1870,15 +1870,15 @@ var require_v6ToV1 = __commonJS((exports) => {
1870
1870
  value: true
1871
1871
  });
1872
1872
  exports.default = v6ToV1;
1873
- var _parse2 = _interopRequireDefault(require_parse());
1873
+ var _parse = _interopRequireDefault(require_parse());
1874
1874
  var _stringify = require_stringify();
1875
1875
  function _interopRequireDefault(e) {
1876
1876
  return e && e.__esModule ? e : { default: e };
1877
1877
  }
1878
- function v6ToV1(uuid2) {
1879
- const v6Bytes = typeof uuid2 === "string" ? (0, _parse2.default)(uuid2) : uuid2;
1878
+ function v6ToV1(uuid) {
1879
+ const v6Bytes = typeof uuid === "string" ? (0, _parse.default)(uuid) : uuid;
1880
1880
  const v1Bytes = _v6ToV1(v6Bytes);
1881
- return typeof uuid2 === "string" ? (0, _stringify.unsafeStringify)(v1Bytes) : v1Bytes;
1881
+ return typeof uuid === "string" ? (0, _stringify.unsafeStringify)(v1Bytes) : v1Bytes;
1882
1882
  }
1883
1883
  function _v6ToV1(v6Bytes) {
1884
1884
  return Uint8Array.of((v6Bytes[3] & 15) << 4 | v6Bytes[4] >> 4 & 15, (v6Bytes[4] & 15) << 4 | (v6Bytes[5] & 240) >> 4, (v6Bytes[5] & 15) << 4 | v6Bytes[6] & 15, v6Bytes[7], (v6Bytes[1] & 15) << 4 | (v6Bytes[2] & 240) >> 4, (v6Bytes[2] & 15) << 4 | (v6Bytes[3] & 240) >> 4, 16 | (v6Bytes[0] & 240) >> 4, (v6Bytes[0] & 15) << 4 | (v6Bytes[1] & 240) >> 4, v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]);
@@ -1960,7 +1960,7 @@ var require_v7 = __commonJS((exports) => {
1960
1960
  b[i++] = rnds[15];
1961
1961
  return buf || (0, _stringify.unsafeStringify)(b);
1962
1962
  }
1963
- var _default2 = exports.default = v7;
1963
+ var _default = exports.default = v7;
1964
1964
  });
1965
1965
 
1966
1966
  // ../../node_modules/uuid/dist/version.js
@@ -1973,13 +1973,13 @@ var require_version2 = __commonJS((exports) => {
1973
1973
  function _interopRequireDefault(e) {
1974
1974
  return e && e.__esModule ? e : { default: e };
1975
1975
  }
1976
- function version2(uuid2) {
1977
- if (!(0, _validate.default)(uuid2)) {
1976
+ function version(uuid) {
1977
+ if (!(0, _validate.default)(uuid)) {
1978
1978
  throw TypeError("Invalid UUID");
1979
1979
  }
1980
- return parseInt(uuid2.slice(14, 15), 16);
1980
+ return parseInt(uuid.slice(14, 15), 16);
1981
1981
  }
1982
- var _default2 = exports.default = version2;
1982
+ var _default = exports.default = version;
1983
1983
  });
1984
1984
 
1985
1985
  // ../../node_modules/uuid/dist/index.js
@@ -2002,7 +2002,7 @@ var require_dist = __commonJS((exports) => {
2002
2002
  Object.defineProperty(exports, "parse", {
2003
2003
  enumerable: true,
2004
2004
  get: function() {
2005
- return _parse2.default;
2005
+ return _parse.default;
2006
2006
  }
2007
2007
  });
2008
2008
  Object.defineProperty(exports, "stringify", {
@@ -2073,7 +2073,7 @@ var require_dist = __commonJS((exports) => {
2073
2073
  });
2074
2074
  var _max = _interopRequireDefault(require_max());
2075
2075
  var _nil = _interopRequireDefault(require_nil());
2076
- var _parse2 = _interopRequireDefault(require_parse());
2076
+ var _parse = _interopRequireDefault(require_parse());
2077
2077
  var _stringify = _interopRequireDefault(require_stringify());
2078
2078
  var _v = _interopRequireDefault(require_v1());
2079
2079
  var _v1ToV = _interopRequireDefault(require_v1ToV6());
@@ -2234,7 +2234,7 @@ var require_logging = __commonJS((exports) => {
2234
2234
  var _d;
2235
2235
  Object.defineProperty(exports, "__esModule", { value: true });
2236
2236
  exports.log = exports.setLoggerVerbosity = exports.setLogger = exports.getLogger = undefined;
2237
- exports.trace = trace2;
2237
+ exports.trace = trace3;
2238
2238
  exports.isTracerEnabled = isTracerEnabled;
2239
2239
  var constants_1 = require_constants();
2240
2240
  var process_1 = __require("process");
@@ -2314,7 +2314,7 @@ var require_logging = __commonJS((exports) => {
2314
2314
  }
2315
2315
  }
2316
2316
  var allEnabled = enabledTracers.has("all");
2317
- function trace2(severity, tracer, text) {
2317
+ function trace3(severity, tracer, text) {
2318
2318
  if (isTracerEnabled(tracer)) {
2319
2319
  (0, exports.log)(severity, new Date().toISOString() + " | v" + clientVersion + " " + process_1.pid + " | " + tracer + " | " + text);
2320
2320
  }
@@ -2542,7 +2542,7 @@ var require_call_credentials = __commonJS((exports) => {
2542
2542
  if (isCurrentOauth2Client(googleCredentials)) {
2543
2543
  getHeaders = googleCredentials.getRequestHeaders(options.service_url);
2544
2544
  } else {
2545
- getHeaders = new Promise((resolve2, reject) => {
2545
+ getHeaders = new Promise((resolve, reject) => {
2546
2546
  googleCredentials.getRequestMetadata(options.service_url, (err, headers) => {
2547
2547
  if (err) {
2548
2548
  reject(err);
@@ -2552,7 +2552,7 @@ var require_call_credentials = __commonJS((exports) => {
2552
2552
  reject(new Error("Headers not set by metadata plugin"));
2553
2553
  return;
2554
2554
  }
2555
- resolve2(headers);
2555
+ resolve(headers);
2556
2556
  });
2557
2557
  });
2558
2558
  }
@@ -2607,10 +2607,10 @@ var require_call_credentials = __commonJS((exports) => {
2607
2607
  this.metadataGenerator = metadataGenerator;
2608
2608
  }
2609
2609
  generateMetadata(options) {
2610
- return new Promise((resolve2, reject) => {
2610
+ return new Promise((resolve, reject) => {
2611
2611
  this.metadataGenerator(options, (err, metadata) => {
2612
2612
  if (metadata !== undefined) {
2613
- resolve2(metadata);
2613
+ resolve(metadata);
2614
2614
  } else {
2615
2615
  reject(err);
2616
2616
  }
@@ -2932,14 +2932,14 @@ var require_channel_credentials = __commonJS((exports) => {
2932
2932
  }
2933
2933
  connect(socket) {
2934
2934
  const tlsConnectOptions = Object.assign({ socket }, this.connectionOptions);
2935
- return new Promise((resolve2, reject) => {
2935
+ return new Promise((resolve, reject) => {
2936
2936
  const tlsSocket = (0, tls_1.connect)(tlsConnectOptions, () => {
2937
2937
  var _a2;
2938
2938
  if (((_a2 = this.connectionOptions.rejectUnauthorized) !== null && _a2 !== undefined ? _a2 : true) && !tlsSocket.authorized) {
2939
2939
  reject(tlsSocket.authorizationError);
2940
2940
  return;
2941
2941
  }
2942
- resolve2({
2942
+ resolve({
2943
2943
  socket: tlsSocket,
2944
2944
  secure: true
2945
2945
  });
@@ -3059,8 +3059,8 @@ var require_channel_credentials = __commonJS((exports) => {
3059
3059
  if (this.hasReceivedUpdates()) {
3060
3060
  return Promise.resolve(this.getLatestSecureContext());
3061
3061
  } else {
3062
- return new Promise((resolve2) => {
3063
- this.secureContextWatchers.push(resolve2);
3062
+ return new Promise((resolve) => {
3063
+ this.secureContextWatchers.push(resolve);
3064
3064
  });
3065
3065
  }
3066
3066
  }
@@ -3093,7 +3093,7 @@ var require_channel_credentials = __commonJS((exports) => {
3093
3093
  this.callCredentials = callCredentials;
3094
3094
  }
3095
3095
  connect(socket) {
3096
- return new Promise((resolve2, reject) => {
3096
+ return new Promise((resolve, reject) => {
3097
3097
  const secureContext = this.parent.getLatestSecureContext();
3098
3098
  if (!secureContext) {
3099
3099
  reject(new Error("Failed to load credentials"));
@@ -3118,7 +3118,7 @@ var require_channel_credentials = __commonJS((exports) => {
3118
3118
  reject(tlsSocket.authorizationError);
3119
3119
  return;
3120
3120
  }
3121
- resolve2({
3121
+ resolve({
3122
3122
  socket: tlsSocket,
3123
3123
  secure: true
3124
3124
  });
@@ -3931,7 +3931,7 @@ var require_resolving_load_balancer = __commonJS((exports) => {
3931
3931
  var uri_parser_1 = require_uri_parser();
3932
3932
  var load_balancer_child_handler_1 = require_load_balancer_child_handler();
3933
3933
  var TRACER_NAME2 = "resolving_load_balancer";
3934
- function trace2(text) {
3934
+ function trace3(text) {
3935
3935
  logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
3936
3936
  }
3937
3937
  var NAME_MATCH_LEVEL_ORDER = [
@@ -4025,7 +4025,7 @@ var require_resolving_load_balancer = __commonJS((exports) => {
4025
4025
  createSubchannel: channelControlHelper.createSubchannel.bind(channelControlHelper),
4026
4026
  requestReresolution: () => {
4027
4027
  if (this.backoffTimeout.isRunning()) {
4028
- trace2("requestReresolution delayed by backoff timer until " + this.backoffTimeout.getEndTime().toISOString());
4028
+ trace3("requestReresolution delayed by backoff timer until " + this.backoffTimeout.getEndTime().toISOString());
4029
4029
  this.continueResolving = true;
4030
4030
  } else {
4031
4031
  this.updateResolution();
@@ -4100,7 +4100,7 @@ var require_resolving_load_balancer = __commonJS((exports) => {
4100
4100
  this.backoffTimeout.runOnce();
4101
4101
  }
4102
4102
  updateState(connectivityState, picker, errorMessage) {
4103
- trace2((0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[connectivityState]);
4103
+ trace3((0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[connectivityState]);
4104
4104
  if (connectivityState === connectivity_state_1.ConnectivityState.IDLE) {
4105
4105
  picker = new picker_1.QueuePicker(this, picker);
4106
4106
  }
@@ -5317,14 +5317,14 @@ ${callerStack}`;
5317
5317
  }
5318
5318
  _write(chunk, encoding, cb) {
5319
5319
  var _a2;
5320
- const context2 = {
5320
+ const context3 = {
5321
5321
  callback: cb
5322
5322
  };
5323
5323
  const flags = Number(encoding);
5324
5324
  if (!Number.isNaN(flags)) {
5325
- context2.flags = flags;
5325
+ context3.flags = flags;
5326
5326
  }
5327
- (_a2 = this.call) === null || _a2 === undefined || _a2.sendMessageWithContext(context2, chunk);
5327
+ (_a2 = this.call) === null || _a2 === undefined || _a2.sendMessageWithContext(context3, chunk);
5328
5328
  }
5329
5329
  _final(cb) {
5330
5330
  var _a2;
@@ -5358,14 +5358,14 @@ ${callerStack}`;
5358
5358
  }
5359
5359
  _write(chunk, encoding, cb) {
5360
5360
  var _a2;
5361
- const context2 = {
5361
+ const context3 = {
5362
5362
  callback: cb
5363
5363
  };
5364
5364
  const flags = Number(encoding);
5365
5365
  if (!Number.isNaN(flags)) {
5366
- context2.flags = flags;
5366
+ context3.flags = flags;
5367
5367
  }
5368
- (_a2 = this.call) === null || _a2 === undefined || _a2.sendMessageWithContext(context2, chunk);
5368
+ (_a2 = this.call) === null || _a2 === undefined || _a2.sendMessageWithContext(context3, chunk);
5369
5369
  }
5370
5370
  _final(cb) {
5371
5371
  var _a2;
@@ -5629,15 +5629,15 @@ var require_client_interceptors = __commonJS((exports) => {
5629
5629
  this.processPendingHalfClose();
5630
5630
  });
5631
5631
  }
5632
- sendMessageWithContext(context2, message) {
5632
+ sendMessageWithContext(context3, message) {
5633
5633
  this.processingMessage = true;
5634
5634
  this.requester.sendMessage(message, (finalMessage) => {
5635
5635
  this.processingMessage = false;
5636
5636
  if (this.processingMetadata) {
5637
- this.pendingMessageContext = context2;
5637
+ this.pendingMessageContext = context3;
5638
5638
  this.pendingMessage = message;
5639
5639
  } else {
5640
- this.nextCall.sendMessageWithContext(context2, finalMessage);
5640
+ this.nextCall.sendMessageWithContext(context3, finalMessage);
5641
5641
  this.processPendingHalfClose();
5642
5642
  }
5643
5643
  });
@@ -5687,7 +5687,7 @@ var require_client_interceptors = __commonJS((exports) => {
5687
5687
  getPeer() {
5688
5688
  return this.call.getPeer();
5689
5689
  }
5690
- sendMessageWithContext(context2, message) {
5690
+ sendMessageWithContext(context3, message) {
5691
5691
  let serialized;
5692
5692
  try {
5693
5693
  serialized = this.methodDefinition.requestSerialize(message);
@@ -5695,7 +5695,7 @@ var require_client_interceptors = __commonJS((exports) => {
5695
5695
  this.call.cancelWithStatus(constants_1.Status.INTERNAL, `Request message serialization failure: ${(0, error_1.getErrorMessage)(e)}`);
5696
5696
  return;
5697
5697
  }
5698
- this.call.sendMessageWithContext(context2, serialized);
5698
+ this.call.sendMessageWithContext(context3, serialized);
5699
5699
  }
5700
5700
  sendMessage(message) {
5701
5701
  this.sendMessageWithContext({}, message);
@@ -6646,7 +6646,7 @@ var require_aspromise = __commonJS((exports, module) => {
6646
6646
  var params = new Array(arguments.length - 1), offset = 0, index = 2, pending = true;
6647
6647
  while (index < arguments.length)
6648
6648
  params[offset++] = arguments[index++];
6649
- return new Promise(function executor(resolve2, reject) {
6649
+ return new Promise(function executor(resolve, reject) {
6650
6650
  params[offset] = function callback(err) {
6651
6651
  if (pending) {
6652
6652
  pending = false;
@@ -6656,7 +6656,7 @@ var require_aspromise = __commonJS((exports, module) => {
6656
6656
  var params2 = new Array(arguments.length - 1), offset2 = 0;
6657
6657
  while (offset2 < params2.length)
6658
6658
  params2[offset2++] = arguments[offset2];
6659
- resolve2.apply(null, params2);
6659
+ resolve.apply(null, params2);
6660
6660
  }
6661
6661
  }
6662
6662
  };
@@ -8044,7 +8044,7 @@ var require_path = __commonJS((exports) => {
8044
8044
  }
8045
8045
  return prefix + parts.join("/");
8046
8046
  };
8047
- path.resolve = function resolve2(originPath, includePath, alreadyNormalized) {
8047
+ path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
8048
8048
  if (!alreadyNormalized)
8049
8049
  includePath = normalize(includePath);
8050
8050
  if (isAbsolute(includePath))
@@ -8357,7 +8357,7 @@ var require_mapfield = __commonJS((exports, module) => {
8357
8357
  keepComments ? this.comment : undefined
8358
8358
  ]);
8359
8359
  };
8360
- MapField.prototype.resolve = function resolve2() {
8360
+ MapField.prototype.resolve = function resolve() {
8361
8361
  if (this.resolved)
8362
8362
  return this;
8363
8363
  if (types.mapKey[this.keyType] === undefined)
@@ -8430,7 +8430,7 @@ var require_method = __commonJS((exports, module) => {
8430
8430
  this.parsedOptions
8431
8431
  ]);
8432
8432
  };
8433
- Method.prototype.resolve = function resolve2() {
8433
+ Method.prototype.resolve = function resolve() {
8434
8434
  if (this.resolved)
8435
8435
  return this;
8436
8436
  this.resolvedRequestType = this.parent.lookupType(this.requestType);
@@ -9830,7 +9830,7 @@ var require_field = __commonJS((exports, module) => {
9830
9830
  keepComments ? this.comment : undefined
9831
9831
  ]);
9832
9832
  };
9833
- Field.prototype.resolve = function resolve2() {
9833
+ Field.prototype.resolve = function resolve() {
9834
9834
  if (this.resolved)
9835
9835
  return this;
9836
9836
  if ((this.typeDefault = types.defaults[this.type]) === undefined) {
@@ -10084,7 +10084,7 @@ var require_object = __commonJS((exports, module) => {
10084
10084
  this.parent = null;
10085
10085
  this.resolved = false;
10086
10086
  };
10087
- ReflectionObject.prototype.resolve = function resolve2() {
10087
+ ReflectionObject.prototype.resolve = function resolve() {
10088
10088
  if (this.resolved)
10089
10089
  return this;
10090
10090
  if (this.root instanceof Root)
@@ -15635,18 +15635,18 @@ var require_compression_filter = __commonJS((exports) => {
15635
15635
  this.maxRecvMessageLength = maxRecvMessageLength;
15636
15636
  }
15637
15637
  compressMessage(message) {
15638
- return new Promise((resolve2, reject) => {
15638
+ return new Promise((resolve, reject) => {
15639
15639
  zlib.deflate(message, (err, output) => {
15640
15640
  if (err) {
15641
15641
  reject(err);
15642
15642
  } else {
15643
- resolve2(output);
15643
+ resolve(output);
15644
15644
  }
15645
15645
  });
15646
15646
  });
15647
15647
  }
15648
15648
  decompressMessage(message) {
15649
- return new Promise((resolve2, reject) => {
15649
+ return new Promise((resolve, reject) => {
15650
15650
  let totalLength = 0;
15651
15651
  const messageParts = [];
15652
15652
  const decompresser = zlib.createInflate();
@@ -15662,7 +15662,7 @@ var require_compression_filter = __commonJS((exports) => {
15662
15662
  }
15663
15663
  });
15664
15664
  decompresser.on("end", () => {
15665
- resolve2(Buffer.concat(messageParts));
15665
+ resolve(Buffer.concat(messageParts));
15666
15666
  });
15667
15667
  decompresser.write(message);
15668
15668
  decompresser.end();
@@ -15676,18 +15676,18 @@ var require_compression_filter = __commonJS((exports) => {
15676
15676
  this.maxRecvMessageLength = maxRecvMessageLength;
15677
15677
  }
15678
15678
  compressMessage(message) {
15679
- return new Promise((resolve2, reject) => {
15679
+ return new Promise((resolve, reject) => {
15680
15680
  zlib.gzip(message, (err, output) => {
15681
15681
  if (err) {
15682
15682
  reject(err);
15683
15683
  } else {
15684
- resolve2(output);
15684
+ resolve(output);
15685
15685
  }
15686
15686
  });
15687
15687
  });
15688
15688
  }
15689
15689
  decompressMessage(message) {
15690
- return new Promise((resolve2, reject) => {
15690
+ return new Promise((resolve, reject) => {
15691
15691
  let totalLength = 0;
15692
15692
  const messageParts = [];
15693
15693
  const decompresser = zlib.createGunzip();
@@ -15703,7 +15703,7 @@ var require_compression_filter = __commonJS((exports) => {
15703
15703
  }
15704
15704
  });
15705
15705
  decompresser.on("end", () => {
15706
- resolve2(Buffer.concat(messageParts));
15706
+ resolve(Buffer.concat(messageParts));
15707
15707
  });
15708
15708
  decompresser.write(message);
15709
15709
  decompresser.end();
@@ -16120,17 +16120,17 @@ var require_single_subchannel_channel = __commonJS((exports) => {
16120
16120
  this.childCall.halfClose();
16121
16121
  }
16122
16122
  }
16123
- async sendMessageWithContext(context2, message) {
16123
+ async sendMessageWithContext(context3, message) {
16124
16124
  this.writeFilterPending = true;
16125
- const filteredMessage = await this.filterStack.sendMessage(Promise.resolve({ message, flags: context2.flags }));
16125
+ const filteredMessage = await this.filterStack.sendMessage(Promise.resolve({ message, flags: context3.flags }));
16126
16126
  this.writeFilterPending = false;
16127
16127
  if (this.childCall) {
16128
- this.childCall.sendMessageWithContext(context2, filteredMessage.message);
16128
+ this.childCall.sendMessageWithContext(context3, filteredMessage.message);
16129
16129
  if (this.halfClosePending) {
16130
16130
  this.childCall.halfClose();
16131
16131
  }
16132
16132
  } else {
16133
- this.pendingMessage = { context: context2, message: filteredMessage.message };
16133
+ this.pendingMessage = { context: context3, message: filteredMessage.message };
16134
16134
  }
16135
16135
  }
16136
16136
  startRead() {
@@ -16522,7 +16522,7 @@ var require_resolver_dns = __commonJS((exports) => {
16522
16522
  var backoff_timeout_1 = require_backoff_timeout();
16523
16523
  var environment_1 = require_environment();
16524
16524
  var TRACER_NAME2 = "dns_resolver";
16525
- function trace2(text) {
16525
+ function trace3(text) {
16526
16526
  logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
16527
16527
  }
16528
16528
  exports.DEFAULT_PORT = 443;
@@ -16542,7 +16542,7 @@ var require_resolver_dns = __commonJS((exports) => {
16542
16542
  this.isServiceConfigEnabled = true;
16543
16543
  this.returnedIpResult = false;
16544
16544
  this.alternativeResolver = new dns_1.promises.Resolver;
16545
- trace2("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
16545
+ trace3("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
16546
16546
  if (target.authority) {
16547
16547
  this.alternativeResolver.setServers([target.authority]);
16548
16548
  }
@@ -16597,7 +16597,7 @@ var require_resolver_dns = __commonJS((exports) => {
16597
16597
  startResolution() {
16598
16598
  if (this.ipResult !== null) {
16599
16599
  if (!this.returnedIpResult) {
16600
- trace2("Returning IP address for target " + (0, uri_parser_1.uriToString)(this.target));
16600
+ trace3("Returning IP address for target " + (0, uri_parser_1.uriToString)(this.target));
16601
16601
  setImmediate(() => {
16602
16602
  this.listener((0, call_interface_1.statusOrFromValue)(this.ipResult), {}, null, "");
16603
16603
  });
@@ -16609,7 +16609,7 @@ var require_resolver_dns = __commonJS((exports) => {
16609
16609
  return;
16610
16610
  }
16611
16611
  if (this.dnsHostname === null) {
16612
- trace2("Failed to parse DNS address " + (0, uri_parser_1.uriToString)(this.target));
16612
+ trace3("Failed to parse DNS address " + (0, uri_parser_1.uriToString)(this.target));
16613
16613
  setImmediate(() => {
16614
16614
  this.listener((0, call_interface_1.statusOrFromError)({
16615
16615
  code: constants_1.Status.UNAVAILABLE,
@@ -16621,7 +16621,7 @@ var require_resolver_dns = __commonJS((exports) => {
16621
16621
  if (this.pendingLookupPromise !== null) {
16622
16622
  return;
16623
16623
  }
16624
- trace2("Looking up DNS hostname " + this.dnsHostname);
16624
+ trace3("Looking up DNS hostname " + this.dnsHostname);
16625
16625
  this.latestLookupResult = null;
16626
16626
  const hostname = this.dnsHostname;
16627
16627
  this.pendingLookupPromise = this.lookup(hostname);
@@ -16634,14 +16634,14 @@ var require_resolver_dns = __commonJS((exports) => {
16634
16634
  addresses: [address]
16635
16635
  })));
16636
16636
  const allAddressesString = "[" + addressList.map((addr) => addr.host + ":" + addr.port).join(",") + "]";
16637
- trace2("Resolved addresses for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + allAddressesString);
16637
+ trace3("Resolved addresses for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + allAddressesString);
16638
16638
  const healthStatus = this.listener(this.latestLookupResult, {}, this.latestServiceConfigResult, "");
16639
16639
  this.handleHealthStatus(healthStatus);
16640
16640
  }, (err) => {
16641
16641
  if (this.pendingLookupPromise === null) {
16642
16642
  return;
16643
16643
  }
16644
- trace2("Resolution error for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + err.message);
16644
+ trace3("Resolution error for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + err.message);
16645
16645
  this.pendingLookupPromise = null;
16646
16646
  this.stopNextResolutionTimer();
16647
16647
  this.listener((0, call_interface_1.statusOrFromError)(this.defaultResolutionError), {}, this.latestServiceConfigResult, "");
@@ -16684,7 +16684,7 @@ var require_resolver_dns = __commonJS((exports) => {
16684
16684
  }
16685
16685
  async lookup(hostname) {
16686
16686
  if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
16687
- trace2("Using alternative DNS resolver.");
16687
+ trace3("Using alternative DNS resolver.");
16688
16688
  const records = await Promise.allSettled([
16689
16689
  this.alternativeResolver.resolve4(hostname),
16690
16690
  this.alternativeResolver.resolve6(hostname)
@@ -16704,7 +16704,7 @@ var require_resolver_dns = __commonJS((exports) => {
16704
16704
  }
16705
16705
  async resolveTxt(hostname) {
16706
16706
  if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
16707
- trace2("Using alternative DNS resolver.");
16707
+ trace3("Using alternative DNS resolver.");
16708
16708
  return this.alternativeResolver.resolveTxt(hostname);
16709
16709
  }
16710
16710
  return dns_1.promises.resolveTxt(hostname);
@@ -16737,9 +16737,9 @@ var require_resolver_dns = __commonJS((exports) => {
16737
16737
  if (this.pendingLookupPromise === null) {
16738
16738
  if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) {
16739
16739
  if (this.isNextResolutionTimerRunning) {
16740
- trace2('resolution update delayed by "min time between resolutions" rate limit');
16740
+ trace3('resolution update delayed by "min time between resolutions" rate limit');
16741
16741
  } else {
16742
- trace2("resolution update delayed by backoff timer until " + this.backoff.getEndTime().toISOString());
16742
+ trace3("resolution update delayed by backoff timer until " + this.backoff.getEndTime().toISOString());
16743
16743
  }
16744
16744
  this.continueResolving = true;
16745
16745
  } else {
@@ -16784,7 +16784,7 @@ var require_http_proxy = __commonJS((exports) => {
16784
16784
  var url_1 = __require("url");
16785
16785
  var resolver_dns_1 = require_resolver_dns();
16786
16786
  var TRACER_NAME2 = "proxy";
16787
- function trace2(text) {
16787
+ function trace3(text) {
16788
16788
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
16789
16789
  }
16790
16790
  function getProxyInfo() {
@@ -16833,7 +16833,7 @@ var require_http_proxy = __commonJS((exports) => {
16833
16833
  if (userCred) {
16834
16834
  result.creds = userCred;
16835
16835
  }
16836
- trace2("Proxy server " + result.address + " set by environment variable " + envVar);
16836
+ trace3("Proxy server " + result.address + " set by environment variable " + envVar);
16837
16837
  return result;
16838
16838
  }
16839
16839
  function getNoProxyHostList() {
@@ -16844,7 +16844,7 @@ var require_http_proxy = __commonJS((exports) => {
16844
16844
  envVar = "no_proxy";
16845
16845
  }
16846
16846
  if (noProxyStr) {
16847
- trace2("No proxy server list set by environment variable " + envVar);
16847
+ trace3("No proxy server list set by environment variable " + envVar);
16848
16848
  return noProxyStr.split(",");
16849
16849
  } else {
16850
16850
  return [];
@@ -16906,7 +16906,7 @@ var require_http_proxy = __commonJS((exports) => {
16906
16906
  }
16907
16907
  const serverHost = hostPort.host;
16908
16908
  if (hostMatchesNoProxyList(serverHost)) {
16909
- trace2("Not using proxy for target in no_proxy list: " + (0, uri_parser_1.uriToString)(target));
16909
+ trace3("Not using proxy for target in no_proxy list: " + (0, uri_parser_1.uriToString)(target));
16910
16910
  return noProxyResult;
16911
16911
  }
16912
16912
  const extraOptions = {
@@ -16956,19 +16956,19 @@ var require_http_proxy = __commonJS((exports) => {
16956
16956
  }
16957
16957
  options.headers = headers;
16958
16958
  const proxyAddressString = (0, subchannel_address_1.subchannelAddressToString)(address);
16959
- trace2("Using proxy " + proxyAddressString + " to connect to " + options.path);
16960
- return new Promise((resolve2, reject) => {
16959
+ trace3("Using proxy " + proxyAddressString + " to connect to " + options.path);
16960
+ return new Promise((resolve, reject) => {
16961
16961
  const request = http.request(options);
16962
16962
  request.once("connect", (res, socket, head) => {
16963
16963
  request.removeAllListeners();
16964
16964
  socket.removeAllListeners();
16965
16965
  if (res.statusCode === 200) {
16966
- trace2("Successfully connected to " + options.path + " through proxy " + proxyAddressString);
16966
+ trace3("Successfully connected to " + options.path + " through proxy " + proxyAddressString);
16967
16967
  if (head.length > 0) {
16968
16968
  socket.unshift(head);
16969
16969
  }
16970
- trace2("Successfully established a plaintext connection to " + options.path + " through proxy " + proxyAddressString);
16971
- resolve2(socket);
16970
+ trace3("Successfully established a plaintext connection to " + options.path + " through proxy " + proxyAddressString);
16971
+ resolve(socket);
16972
16972
  } else {
16973
16973
  (0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to connect to " + options.path + " through proxy " + proxyAddressString + " with status " + res.statusCode);
16974
16974
  reject();
@@ -17433,7 +17433,7 @@ var require_subchannel_call = __commonJS((exports) => {
17433
17433
  }
17434
17434
  this.http2Stream.resume();
17435
17435
  }
17436
- sendMessageWithContext(context2, message) {
17436
+ sendMessageWithContext(context3, message) {
17437
17437
  this.trace("write() called with message of length " + message.length);
17438
17438
  const cb = (error2) => {
17439
17439
  process.nextTick(() => {
@@ -17445,7 +17445,7 @@ var require_subchannel_call = __commonJS((exports) => {
17445
17445
  if (error2) {
17446
17446
  this.cancelWithStatus(code, `Write error: ${error2.message}`);
17447
17447
  }
17448
- (_a2 = context2.callback) === null || _a2 === undefined || _a2.call(context2);
17448
+ (_a2 = context3.callback) === null || _a2 === undefined || _a2.call(context3);
17449
17449
  });
17450
17450
  };
17451
17451
  this.trace("sending data chunk of length " + message.length);
@@ -17840,7 +17840,7 @@ var require_transport = __commonJS((exports) => {
17840
17840
  if (secureConnectResult.socket.closed) {
17841
17841
  return Promise.reject("Connection closed before starting HTTP/2 handshake");
17842
17842
  }
17843
- return new Promise((resolve2, reject) => {
17843
+ return new Promise((resolve, reject) => {
17844
17844
  var _a2, _b, _c, _d, _e, _f, _g, _h;
17845
17845
  let remoteName = null;
17846
17846
  let realTarget = this.channelTarget;
@@ -17905,7 +17905,7 @@ var require_transport = __commonJS((exports) => {
17905
17905
  session.removeAllListeners();
17906
17906
  secureConnectResult.socket.removeListener("close", closeHandler);
17907
17907
  secureConnectResult.socket.removeListener("error", errorHandler);
17908
- resolve2(new Http2Transport(session, address, options, remoteName));
17908
+ resolve(new Http2Transport(session, address, options, remoteName));
17909
17909
  this.session = null;
17910
17910
  });
17911
17911
  session.once("close", closeHandler);
@@ -17919,7 +17919,7 @@ var require_transport = __commonJS((exports) => {
17919
17919
  if (proxiedSocket) {
17920
17920
  return proxiedSocket;
17921
17921
  } else {
17922
- return new Promise((resolve2, reject) => {
17922
+ return new Promise((resolve, reject) => {
17923
17923
  const closeCallback = () => {
17924
17924
  reject(new Error("Socket closed"));
17925
17925
  };
@@ -17929,7 +17929,7 @@ var require_transport = __commonJS((exports) => {
17929
17929
  const socket = net.connect(address, () => {
17930
17930
  socket.removeListener("close", closeCallback);
17931
17931
  socket.removeListener("error", errorCallback);
17932
- resolve2(socket);
17932
+ resolve(socket);
17933
17933
  });
17934
17934
  socket.once("close", closeCallback);
17935
17935
  socket.once("error", errorCallback);
@@ -18247,12 +18247,12 @@ var require_load_balancing_call = __commonJS((exports) => {
18247
18247
  this.metadata = metadata;
18248
18248
  this.doPick();
18249
18249
  }
18250
- sendMessageWithContext(context2, message) {
18250
+ sendMessageWithContext(context3, message) {
18251
18251
  this.trace("write() called with message of length " + message.length);
18252
18252
  if (this.child) {
18253
- this.child.sendMessageWithContext(context2, message);
18253
+ this.child.sendMessageWithContext(context3, message);
18254
18254
  } else {
18255
- this.pendingMessage = { context: context2, message };
18255
+ this.pendingMessage = { context: context3, message };
18256
18256
  }
18257
18257
  }
18258
18258
  startRead() {
@@ -18399,15 +18399,15 @@ var require_resolving_call = __commonJS((exports) => {
18399
18399
  });
18400
18400
  }
18401
18401
  }
18402
- sendMessageOnChild(context2, message) {
18402
+ sendMessageOnChild(context3, message) {
18403
18403
  if (!this.child) {
18404
18404
  throw new Error("sendMessageonChild called with child not populated");
18405
18405
  }
18406
18406
  const child = this.child;
18407
18407
  this.writeFilterPending = true;
18408
- this.filterStack.sendMessage(Promise.resolve({ message, flags: context2.flags })).then((filteredMessage) => {
18408
+ this.filterStack.sendMessage(Promise.resolve({ message, flags: context3.flags })).then((filteredMessage) => {
18409
18409
  this.writeFilterPending = false;
18410
- child.sendMessageWithContext(context2, filteredMessage.message);
18410
+ child.sendMessageWithContext(context3, filteredMessage.message);
18411
18411
  if (this.pendingHalfClose) {
18412
18412
  child.halfClose();
18413
18413
  }
@@ -18526,12 +18526,12 @@ var require_resolving_call = __commonJS((exports) => {
18526
18526
  this.listener = listener;
18527
18527
  this.getConfig();
18528
18528
  }
18529
- sendMessageWithContext(context2, message) {
18529
+ sendMessageWithContext(context3, message) {
18530
18530
  this.trace("write() called with message of length " + message.length);
18531
18531
  if (this.child) {
18532
- this.sendMessageOnChild(context2, message);
18532
+ this.sendMessageOnChild(context3, message);
18533
18533
  } else {
18534
- this.pendingMessage = { context: context2, message };
18534
+ this.pendingMessage = { context: context3, message };
18535
18535
  }
18536
18536
  }
18537
18537
  startRead() {
@@ -19107,11 +19107,11 @@ var require_retrying_call = __commonJS((exports) => {
19107
19107
  }
19108
19108
  }
19109
19109
  }
19110
- sendMessageWithContext(context2, message) {
19110
+ sendMessageWithContext(context3, message) {
19111
19111
  this.trace("write() called with message of length " + message.length);
19112
19112
  const writeObj = {
19113
19113
  message,
19114
- flags: context2.flags
19114
+ flags: context3.flags
19115
19115
  };
19116
19116
  const messageIndex = this.getNextBufferIndex();
19117
19117
  const bufferEntry = {
@@ -19123,7 +19123,7 @@ var require_retrying_call = __commonJS((exports) => {
19123
19123
  if (bufferEntry.allocated) {
19124
19124
  process.nextTick(() => {
19125
19125
  var _a2;
19126
- (_a2 = context2.callback) === null || _a2 === undefined || _a2.call(context2);
19126
+ (_a2 = context3.callback) === null || _a2 === undefined || _a2.call(context3);
19127
19127
  });
19128
19128
  for (const [callIndex, call] of this.underlyingCalls.entries()) {
19129
19129
  if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
@@ -19140,7 +19140,7 @@ var require_retrying_call = __commonJS((exports) => {
19140
19140
  return;
19141
19141
  }
19142
19142
  const call = this.underlyingCalls[this.committedCallIndex];
19143
- bufferEntry.callback = context2.callback;
19143
+ bufferEntry.callback = context3.callback;
19144
19144
  if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
19145
19145
  call.call.sendMessageWithContext({
19146
19146
  callback: (error2) => {
@@ -20685,7 +20685,7 @@ var require_server_interceptors = __commonJS((exports) => {
20685
20685
  var tls_1 = __require("tls");
20686
20686
  var orca_1 = require_orca();
20687
20687
  var TRACER_NAME2 = "server_call";
20688
- function trace2(text) {
20688
+ function trace3(text) {
20689
20689
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
20690
20690
  }
20691
20691
 
@@ -21016,7 +21016,7 @@ var require_server_interceptors = __commonJS((exports) => {
21016
21016
  this.stream.once("error", (err) => {});
21017
21017
  this.stream.once("close", () => {
21018
21018
  var _a3;
21019
- trace2("Request to method " + ((_a3 = this.handler) === null || _a3 === undefined ? undefined : _a3.path) + " stream closed with rstCode " + this.stream.rstCode);
21019
+ trace3("Request to method " + ((_a3 = this.handler) === null || _a3 === undefined ? undefined : _a3.path) + " stream closed with rstCode " + this.stream.rstCode);
21020
21020
  if (this.callEventTracker && !this.streamEnded) {
21021
21021
  this.streamEnded = true;
21022
21022
  this.callEventTracker.onStreamEnd(false);
@@ -21045,7 +21045,7 @@ var require_server_interceptors = __commonJS((exports) => {
21045
21045
  this.decoder = new stream_decoder_1.StreamDecoder(this.maxReceiveMessageSize);
21046
21046
  const metadata = metadata_1.Metadata.fromHttp2Headers(headers);
21047
21047
  if (logging.isTracerEnabled(TRACER_NAME2)) {
21048
- trace2("Request to " + this.handler.path + " received headers " + JSON.stringify(metadata.toJSON()));
21048
+ trace3("Request to " + this.handler.path + " received headers " + JSON.stringify(metadata.toJSON()));
21049
21049
  }
21050
21050
  const timeoutHeader = metadata.get(GRPC_TIMEOUT_HEADER);
21051
21051
  if (timeoutHeader.length > 0) {
@@ -21143,7 +21143,7 @@ var require_server_interceptors = __commonJS((exports) => {
21143
21143
  } else {
21144
21144
  decompresser = zlib.createGunzip();
21145
21145
  }
21146
- return new Promise((resolve2, reject) => {
21146
+ return new Promise((resolve, reject) => {
21147
21147
  let totalLength = 0;
21148
21148
  const messageParts = [];
21149
21149
  decompresser.on("data", (chunk) => {
@@ -21158,7 +21158,7 @@ var require_server_interceptors = __commonJS((exports) => {
21158
21158
  }
21159
21159
  });
21160
21160
  decompresser.on("end", () => {
21161
- resolve2(Buffer.concat(messageParts));
21161
+ resolve(Buffer.concat(messageParts));
21162
21162
  });
21163
21163
  decompresser.write(messageContents);
21164
21164
  decompresser.end();
@@ -21211,7 +21211,7 @@ var require_server_interceptors = __commonJS((exports) => {
21211
21211
  if (this.checkCancelled()) {
21212
21212
  return;
21213
21213
  }
21214
- trace2("Request to " + this.handler.path + " received data frame of size " + data.length);
21214
+ trace3("Request to " + this.handler.path + " received data frame of size " + data.length);
21215
21215
  let rawMessages;
21216
21216
  try {
21217
21217
  rawMessages = this.decoder.write(data);
@@ -21241,7 +21241,7 @@ var require_server_interceptors = __commonJS((exports) => {
21241
21241
  this.maybePushNextMessage();
21242
21242
  }
21243
21243
  start(listener) {
21244
- trace2("Request to " + this.handler.path + " start called");
21244
+ trace3("Request to " + this.handler.path + " start called");
21245
21245
  if (this.checkCancelled()) {
21246
21246
  return;
21247
21247
  }
@@ -21284,7 +21284,7 @@ var require_server_interceptors = __commonJS((exports) => {
21284
21284
  return;
21285
21285
  }
21286
21286
  this.maybeSendMetadata();
21287
- trace2("Request to " + this.handler.path + " sent data frame of size " + response.length);
21287
+ trace3("Request to " + this.handler.path + " sent data frame of size " + response.length);
21288
21288
  this.stream.write(response, (error2) => {
21289
21289
  var _a2;
21290
21290
  if (error2) {
@@ -21304,7 +21304,7 @@ var require_server_interceptors = __commonJS((exports) => {
21304
21304
  if (this.checkCancelled()) {
21305
21305
  return;
21306
21306
  }
21307
- trace2("Request to method " + ((_a2 = this.handler) === null || _a2 === undefined ? undefined : _a2.path) + " ended with status code: " + constants_1.Status[status.code] + " details: " + status.details);
21307
+ trace3("Request to method " + ((_a2 = this.handler) === null || _a2 === undefined ? undefined : _a2.path) + " ended with status code: " + constants_1.Status[status.code] + " details: " + status.details);
21308
21308
  const statusMetadata = (_c = (_b = status.metadata) === null || _b === undefined ? undefined : _b.clone()) !== null && _c !== undefined ? _c : new metadata_1.Metadata;
21309
21309
  if (this.shouldSendMetrics) {
21310
21310
  statusMetadata.set(orca_1.GRPC_METRICS_HEADER, this.metricsRecorder.serialize());
@@ -21338,7 +21338,7 @@ var require_server_interceptors = __commonJS((exports) => {
21338
21338
  }
21339
21339
  }
21340
21340
  startRead() {
21341
- trace2("Request to " + this.handler.path + " startRead called");
21341
+ trace3("Request to " + this.handler.path + " startRead called");
21342
21342
  if (this.checkCancelled()) {
21343
21343
  return;
21344
21344
  }
@@ -21425,17 +21425,17 @@ var require_server = __commonJS((exports) => {
21425
21425
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
21426
21426
  var _, done = false;
21427
21427
  for (var i = decorators.length - 1;i >= 0; i--) {
21428
- var context2 = {};
21428
+ var context3 = {};
21429
21429
  for (var p in contextIn)
21430
- context2[p] = p === "access" ? {} : contextIn[p];
21430
+ context3[p] = p === "access" ? {} : contextIn[p];
21431
21431
  for (var p in contextIn.access)
21432
- context2.access[p] = contextIn.access[p];
21433
- context2.addInitializer = function(f) {
21432
+ context3.access[p] = contextIn.access[p];
21433
+ context3.addInitializer = function(f) {
21434
21434
  if (done)
21435
21435
  throw new TypeError("Cannot add initializers after decoration has completed");
21436
21436
  extraInitializers.push(accept(f || null));
21437
21437
  };
21438
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
21438
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context3);
21439
21439
  if (kind === "accessor") {
21440
21440
  if (result === undefined)
21441
21441
  continue;
@@ -21483,7 +21483,7 @@ var require_server = __commonJS((exports) => {
21483
21483
  }
21484
21484
  function noop() {}
21485
21485
  function deprecate(message) {
21486
- return function(target, context2) {
21486
+ return function(target, context3) {
21487
21487
  return util.deprecate(target, message);
21488
21488
  };
21489
21489
  }
@@ -21751,10 +21751,10 @@ var require_server = __commonJS((exports) => {
21751
21751
  bindOneAddress(address, boundPortObject) {
21752
21752
  this.trace("Attempting to bind " + (0, subchannel_address_1.subchannelAddressToString)(address));
21753
21753
  const http2Server = this.createHttp2Server(boundPortObject.credentials);
21754
- return new Promise((resolve2, reject) => {
21754
+ return new Promise((resolve, reject) => {
21755
21755
  const onError = (err) => {
21756
21756
  this.trace("Failed to bind " + (0, subchannel_address_1.subchannelAddressToString)(address) + " with error " + err.message);
21757
- resolve2({
21757
+ resolve({
21758
21758
  port: "port" in address ? address.port : 1,
21759
21759
  error: err.message
21760
21760
  });
@@ -21782,7 +21782,7 @@ var require_server = __commonJS((exports) => {
21782
21782
  });
21783
21783
  boundPortObject.listeningServers.add(http2Server);
21784
21784
  this.trace("Successfully bound " + (0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress));
21785
- resolve2({
21785
+ resolve({
21786
21786
  port: "port" in boundSubchannelAddress ? boundSubchannelAddress.port : 1
21787
21787
  });
21788
21788
  http2Server.removeListener("error", onError);
@@ -21835,7 +21835,7 @@ var require_server = __commonJS((exports) => {
21835
21835
  }
21836
21836
  }
21837
21837
  resolvePort(port) {
21838
- return new Promise((resolve2, reject) => {
21838
+ return new Promise((resolve, reject) => {
21839
21839
  let seenResolution = false;
21840
21840
  const resolverListener = (endpointList, attributes, serviceConfig, resolutionNote) => {
21841
21841
  if (seenResolution) {
@@ -21851,7 +21851,7 @@ var require_server = __commonJS((exports) => {
21851
21851
  reject(new Error(`No addresses resolved for port ${port}`));
21852
21852
  return true;
21853
21853
  }
21854
- resolve2(addressList);
21854
+ resolve(addressList);
21855
21855
  return true;
21856
21856
  };
21857
21857
  const resolver = (0, resolver_1.createResolver)(port, resolverListener, this.options);
@@ -22879,7 +22879,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
22879
22879
  var net_1 = __require("net");
22880
22880
  var call_interface_1 = require_call_interface();
22881
22881
  var TRACER_NAME2 = "pick_first";
22882
- function trace2(text) {
22882
+ function trace3(text) {
22883
22883
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
22884
22884
  }
22885
22885
  var TYPE_NAME = "pick_first";
@@ -23094,7 +23094,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
23094
23094
  clearTimeout(this.connectionDelayTimeout);
23095
23095
  this.currentSubchannelIndex = subchannelIndex;
23096
23096
  if (this.children[subchannelIndex].subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.IDLE) {
23097
- trace2("Start connecting to subchannel with address " + this.children[subchannelIndex].subchannel.getAddress());
23097
+ trace3("Start connecting to subchannel with address " + this.children[subchannelIndex].subchannel.getAddress());
23098
23098
  process.nextTick(() => {
23099
23099
  var _a3;
23100
23100
  (_a3 = this.children[subchannelIndex]) === null || _a3 === undefined || _a3.subchannel.startConnecting();
@@ -23106,7 +23106,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
23106
23106
  (_b = (_a2 = this.connectionDelayTimeout).unref) === null || _b === undefined || _b.call(_a2);
23107
23107
  }
23108
23108
  pickSubchannel(subchannel) {
23109
- trace2("Pick subchannel with address " + subchannel.getAddress());
23109
+ trace3("Pick subchannel with address " + subchannel.getAddress());
23110
23110
  this.stickyTransientFailureMode = false;
23111
23111
  subchannel.ref();
23112
23112
  this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
@@ -23119,7 +23119,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
23119
23119
  this.calculateAndReportNewState();
23120
23120
  }
23121
23121
  updateState(newState, picker, errorMessage) {
23122
- trace2(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
23122
+ trace3(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
23123
23123
  this.currentState = newState;
23124
23124
  this.channelControlHelper.updateState(newState, picker, errorMessage);
23125
23125
  }
@@ -23133,7 +23133,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
23133
23133
  this.children = [];
23134
23134
  }
23135
23135
  connectToAddressList(addressList, options) {
23136
- trace2("connectToAddressList([" + addressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
23136
+ trace3("connectToAddressList([" + addressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
23137
23137
  const newChildrenList = addressList.map((address) => ({
23138
23138
  subchannel: this.channelControlHelper.createSubchannel(address, options),
23139
23139
  hasReportedTransientFailure: false
@@ -23177,7 +23177,7 @@ var require_load_balancer_pick_first = __commonJS((exports) => {
23177
23177
  endpointList = shuffled(endpointList);
23178
23178
  }
23179
23179
  const rawAddressList = [].concat(...endpointList.map((endpoint) => endpoint.addresses));
23180
- trace2("updateAddressList([" + rawAddressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
23180
+ trace3("updateAddressList([" + rawAddressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
23181
23181
  const addressList = interleaveAddressFamilies(rawAddressList);
23182
23182
  this.latestAddressList = addressList;
23183
23183
  this.latestOptions = options;
@@ -23265,7 +23265,7 @@ var require_certificate_provider = __commonJS((exports) => {
23265
23265
  var constants_1 = require_constants();
23266
23266
  var util_1 = __require("util");
23267
23267
  var TRACER_NAME2 = "certificate_provider";
23268
- function trace2(text) {
23268
+ function trace3(text) {
23269
23269
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
23270
23270
  }
23271
23271
  var readFilePromise = (0, util_1.promisify)(fs.readFile);
@@ -23286,7 +23286,7 @@ var require_certificate_provider = __commonJS((exports) => {
23286
23286
  if (config2.certificateFile === undefined && config2.caCertificateFile === undefined) {
23287
23287
  throw new Error("At least one of certificateFile and caCertificateFile must be set");
23288
23288
  }
23289
- trace2("File watcher constructed with config " + JSON.stringify(config2));
23289
+ trace3("File watcher constructed with config " + JSON.stringify(config2));
23290
23290
  }
23291
23291
  updateCertificates() {
23292
23292
  if (this.fileResultPromise) {
@@ -23301,7 +23301,7 @@ var require_certificate_provider = __commonJS((exports) => {
23301
23301
  if (!this.refreshTimer) {
23302
23302
  return;
23303
23303
  }
23304
- trace2("File watcher read certificates certificate " + certificateResult.status + ", privateKey " + privateKeyResult.status + ", CA certificate " + caCertificateResult.status);
23304
+ trace3("File watcher read certificates certificate " + certificateResult.status + ", privateKey " + privateKeyResult.status + ", CA certificate " + caCertificateResult.status);
23305
23305
  this.lastUpdateTime = new Date;
23306
23306
  this.fileResultPromise = null;
23307
23307
  if (certificateResult.status === "fulfilled" && privateKeyResult.status === "fulfilled") {
@@ -23326,7 +23326,7 @@ var require_certificate_provider = __commonJS((exports) => {
23326
23326
  listener(this.latestCaUpdate);
23327
23327
  }
23328
23328
  });
23329
- trace2("File watcher initiated certificate update");
23329
+ trace3("File watcher initiated certificate update");
23330
23330
  }
23331
23331
  maybeStartWatchingFiles() {
23332
23332
  if (!this.refreshTimer) {
@@ -23339,7 +23339,7 @@ var require_certificate_provider = __commonJS((exports) => {
23339
23339
  this.latestIdentityUpdate = undefined;
23340
23340
  }
23341
23341
  this.refreshTimer = setInterval(() => this.updateCertificates(), this.config.refreshIntervalMs);
23342
- trace2("File watcher started watching");
23342
+ trace3("File watcher started watching");
23343
23343
  }
23344
23344
  }
23345
23345
  maybeStopWatchingFiles() {
@@ -23558,7 +23558,7 @@ var require_resolver_ip = __commonJS((exports) => {
23558
23558
  var uri_parser_1 = require_uri_parser();
23559
23559
  var logging = require_logging();
23560
23560
  var TRACER_NAME2 = "ip_resolver";
23561
- function trace2(text) {
23561
+ function trace3(text) {
23562
23562
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
23563
23563
  }
23564
23564
  var IPV4_SCHEME = "ipv4";
@@ -23572,7 +23572,7 @@ var require_resolver_ip = __commonJS((exports) => {
23572
23572
  this.endpoints = [];
23573
23573
  this.error = null;
23574
23574
  this.hasReturnedResult = false;
23575
- trace2("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
23575
+ trace3("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
23576
23576
  const addresses = [];
23577
23577
  if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) {
23578
23578
  this.error = {
@@ -23607,7 +23607,7 @@ var require_resolver_ip = __commonJS((exports) => {
23607
23607
  });
23608
23608
  }
23609
23609
  this.endpoints = addresses.map((address) => ({ addresses: [address] }));
23610
- trace2("Parsed " + target.scheme + " address list " + addresses.map(subchannel_address_1.subchannelAddressToString));
23610
+ trace3("Parsed " + target.scheme + " address list " + addresses.map(subchannel_address_1.subchannelAddressToString));
23611
23611
  }
23612
23612
  updateResolution() {
23613
23613
  if (!this.hasReturnedResult) {
@@ -23647,7 +23647,7 @@ var require_load_balancer_round_robin = __commonJS((exports) => {
23647
23647
  var subchannel_address_1 = require_subchannel_address();
23648
23648
  var load_balancer_pick_first_1 = require_load_balancer_pick_first();
23649
23649
  var TRACER_NAME2 = "round_robin";
23650
- function trace2(text) {
23650
+ function trace3(text) {
23651
23651
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
23652
23652
  }
23653
23653
  var TYPE_NAME = "round_robin";
@@ -23743,7 +23743,7 @@ var require_load_balancer_round_robin = __commonJS((exports) => {
23743
23743
  }
23744
23744
  }
23745
23745
  updateState(newState, picker, errorMessage) {
23746
- trace2(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
23746
+ trace3(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
23747
23747
  if (newState === connectivity_state_1.ConnectivityState.READY) {
23748
23748
  this.currentReadyPicker = picker;
23749
23749
  } else {
@@ -23775,7 +23775,7 @@ var require_load_balancer_round_robin = __commonJS((exports) => {
23775
23775
  const errorMessage = `No addresses resolved. Resolution note: ${resolutionNote}`;
23776
23776
  this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({ details: errorMessage }), errorMessage);
23777
23777
  }
23778
- trace2("Connect to endpoint list " + endpointList.map(subchannel_address_1.endpointToString));
23778
+ trace3("Connect to endpoint list " + endpointList.map(subchannel_address_1.endpointToString));
23779
23779
  this.updatesPaused = true;
23780
23780
  this.children = endpointList.map((endpoint) => new load_balancer_pick_first_1.LeafLoadBalancer(endpoint, this.childChannelControlHelper, options, resolutionNote));
23781
23781
  for (const child of this.children) {
@@ -23817,7 +23817,7 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
23817
23817
  var subchannel_interface_1 = require_subchannel_interface();
23818
23818
  var logging = require_logging();
23819
23819
  var TRACER_NAME2 = "outlier_detection";
23820
- function trace2(text) {
23820
+ function trace3(text) {
23821
23821
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
23822
23822
  }
23823
23823
  var TYPE_NAME = "outlier_detection";
@@ -24091,20 +24091,20 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24091
24091
  if (!successRateConfig) {
24092
24092
  return;
24093
24093
  }
24094
- trace2("Running success rate check");
24094
+ trace3("Running success rate check");
24095
24095
  const targetRequestVolume = successRateConfig.request_volume;
24096
24096
  let addresesWithTargetVolume = 0;
24097
24097
  const successRates = [];
24098
24098
  for (const [endpoint, mapEntry] of this.entryMap.entries()) {
24099
24099
  const successes = mapEntry.counter.getLastSuccesses();
24100
24100
  const failures = mapEntry.counter.getLastFailures();
24101
- trace2("Stats for " + (0, subchannel_address_1.endpointToString)(endpoint) + ": successes=" + successes + " failures=" + failures + " targetRequestVolume=" + targetRequestVolume);
24101
+ trace3("Stats for " + (0, subchannel_address_1.endpointToString)(endpoint) + ": successes=" + successes + " failures=" + failures + " targetRequestVolume=" + targetRequestVolume);
24102
24102
  if (successes + failures >= targetRequestVolume) {
24103
24103
  addresesWithTargetVolume += 1;
24104
24104
  successRates.push(successes / (successes + failures));
24105
24105
  }
24106
24106
  }
24107
- trace2("Found " + addresesWithTargetVolume + " success rate candidates; currentEjectionPercent=" + this.getCurrentEjectionPercent() + " successRates=[" + successRates + "]");
24107
+ trace3("Found " + addresesWithTargetVolume + " success rate candidates; currentEjectionPercent=" + this.getCurrentEjectionPercent() + " successRates=[" + successRates + "]");
24108
24108
  if (addresesWithTargetVolume < successRateConfig.minimum_hosts) {
24109
24109
  return;
24110
24110
  }
@@ -24117,7 +24117,7 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24117
24117
  const successRateVariance = successRateDeviationSum / successRates.length;
24118
24118
  const successRateStdev = Math.sqrt(successRateVariance);
24119
24119
  const ejectionThreshold = successRateMean - successRateStdev * (successRateConfig.stdev_factor / 1000);
24120
- trace2("stdev=" + successRateStdev + " ejectionThreshold=" + ejectionThreshold);
24120
+ trace3("stdev=" + successRateStdev + " ejectionThreshold=" + ejectionThreshold);
24121
24121
  for (const [address, mapEntry] of this.entryMap.entries()) {
24122
24122
  if (this.getCurrentEjectionPercent() >= this.latestConfig.getMaxEjectionPercent()) {
24123
24123
  break;
@@ -24128,12 +24128,12 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24128
24128
  continue;
24129
24129
  }
24130
24130
  const successRate = successes / (successes + failures);
24131
- trace2("Checking candidate " + address + " successRate=" + successRate);
24131
+ trace3("Checking candidate " + address + " successRate=" + successRate);
24132
24132
  if (successRate < ejectionThreshold) {
24133
24133
  const randomNumber = Math.random() * 100;
24134
- trace2("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + successRateConfig.enforcement_percentage);
24134
+ trace3("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + successRateConfig.enforcement_percentage);
24135
24135
  if (randomNumber < successRateConfig.enforcement_percentage) {
24136
- trace2("Ejecting candidate " + address);
24136
+ trace3("Ejecting candidate " + address);
24137
24137
  this.eject(mapEntry, ejectionTimestamp);
24138
24138
  }
24139
24139
  }
@@ -24147,7 +24147,7 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24147
24147
  if (!failurePercentageConfig) {
24148
24148
  return;
24149
24149
  }
24150
- trace2("Running failure percentage check. threshold=" + failurePercentageConfig.threshold + " request volume threshold=" + failurePercentageConfig.request_volume);
24150
+ trace3("Running failure percentage check. threshold=" + failurePercentageConfig.threshold + " request volume threshold=" + failurePercentageConfig.request_volume);
24151
24151
  let addressesWithTargetVolume = 0;
24152
24152
  for (const mapEntry of this.entryMap.values()) {
24153
24153
  const successes = mapEntry.counter.getLastSuccesses();
@@ -24165,16 +24165,16 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24165
24165
  }
24166
24166
  const successes = mapEntry.counter.getLastSuccesses();
24167
24167
  const failures = mapEntry.counter.getLastFailures();
24168
- trace2("Candidate successes=" + successes + " failures=" + failures);
24168
+ trace3("Candidate successes=" + successes + " failures=" + failures);
24169
24169
  if (successes + failures < failurePercentageConfig.request_volume) {
24170
24170
  continue;
24171
24171
  }
24172
24172
  const failurePercentage = failures * 100 / (failures + successes);
24173
24173
  if (failurePercentage > failurePercentageConfig.threshold) {
24174
24174
  const randomNumber = Math.random() * 100;
24175
- trace2("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + failurePercentageConfig.enforcement_percentage);
24175
+ trace3("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + failurePercentageConfig.enforcement_percentage);
24176
24176
  if (randomNumber < failurePercentageConfig.enforcement_percentage) {
24177
- trace2("Ejecting candidate " + address);
24177
+ trace3("Ejecting candidate " + address);
24178
24178
  this.eject(mapEntry, ejectionTimestamp);
24179
24179
  }
24180
24180
  }
@@ -24205,7 +24205,7 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24205
24205
  }
24206
24206
  runChecks() {
24207
24207
  const ejectionTimestamp = new Date;
24208
- trace2("Ejection timer running");
24208
+ trace3("Ejection timer running");
24209
24209
  this.switchAllBuckets();
24210
24210
  if (!this.latestConfig) {
24211
24211
  return;
@@ -24225,7 +24225,7 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24225
24225
  const returnTime = new Date(mapEntry.currentEjectionTimestamp.getTime());
24226
24226
  returnTime.setMilliseconds(returnTime.getMilliseconds() + Math.min(baseEjectionTimeMs * mapEntry.ejectionTimeMultiplier, Math.max(baseEjectionTimeMs, maxEjectionTimeMs)));
24227
24227
  if (returnTime < new Date) {
24228
- trace2("Unejecting " + address);
24228
+ trace3("Unejecting " + address);
24229
24229
  this.uneject(mapEntry);
24230
24230
  }
24231
24231
  }
@@ -24235,11 +24235,11 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24235
24235
  if (!(lbConfig instanceof OutlierDetectionLoadBalancingConfig)) {
24236
24236
  return false;
24237
24237
  }
24238
- trace2("Received update with config: " + JSON.stringify(lbConfig.toJsonObject(), undefined, 2));
24238
+ trace3("Received update with config: " + JSON.stringify(lbConfig.toJsonObject(), undefined, 2));
24239
24239
  if (endpointList.ok) {
24240
24240
  for (const endpoint of endpointList.value) {
24241
24241
  if (!this.entryMap.has(endpoint)) {
24242
- trace2("Adding map entry for " + (0, subchannel_address_1.endpointToString)(endpoint));
24242
+ trace3("Adding map entry for " + (0, subchannel_address_1.endpointToString)(endpoint));
24243
24243
  this.entryMap.set(endpoint, {
24244
24244
  counter: new CallCounter,
24245
24245
  currentEjectionTimestamp: null,
@@ -24254,18 +24254,18 @@ var require_load_balancer_outlier_detection = __commonJS((exports) => {
24254
24254
  this.childBalancer.updateAddressList(endpointList, childPolicy, options, resolutionNote);
24255
24255
  if (lbConfig.getSuccessRateEjectionConfig() || lbConfig.getFailurePercentageEjectionConfig()) {
24256
24256
  if (this.timerStartTime) {
24257
- trace2("Previous timer existed. Replacing timer");
24257
+ trace3("Previous timer existed. Replacing timer");
24258
24258
  clearTimeout(this.ejectionTimer);
24259
24259
  const remainingDelay = lbConfig.getIntervalMs() - (new Date().getTime() - this.timerStartTime.getTime());
24260
24260
  this.startTimer(remainingDelay);
24261
24261
  } else {
24262
- trace2("Starting new timer");
24262
+ trace3("Starting new timer");
24263
24263
  this.timerStartTime = new Date;
24264
24264
  this.startTimer(lbConfig.getIntervalMs());
24265
24265
  this.switchAllBuckets();
24266
24266
  }
24267
24267
  } else {
24268
- trace2("Counting disabled. Cancelling timer.");
24268
+ trace3("Counting disabled. Cancelling timer.");
24269
24269
  this.timerStartTime = null;
24270
24270
  clearTimeout(this.ejectionTimer);
24271
24271
  for (const mapEntry of this.entryMap.values()) {
@@ -24385,7 +24385,7 @@ var require_load_balancer_weighted_round_robin = __commonJS((exports) => {
24385
24385
  var priority_queue_1 = require_priority_queue();
24386
24386
  var subchannel_address_1 = require_subchannel_address();
24387
24387
  var TRACER_NAME2 = "weighted_round_robin";
24388
- function trace2(text) {
24388
+ function trace3(text) {
24389
24389
  logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
24390
24390
  }
24391
24391
  var TYPE_NAME = "weighted_round_robin";
@@ -24581,7 +24581,7 @@ var require_load_balancer_weighted_round_robin = __commonJS((exports) => {
24581
24581
  weight: this.getWeight(entry)
24582
24582
  });
24583
24583
  }
24584
- trace2("Created picker with weights: " + weightedPickers.map((entry) => entry.endpointName + ":" + entry.weight).join(","));
24584
+ trace3("Created picker with weights: " + weightedPickers.map((entry) => entry.endpointName + ":" + entry.weight).join(","));
24585
24585
  let metricsHandler;
24586
24586
  if (!this.latestConfig.getEnableOobLoadReport()) {
24587
24587
  metricsHandler = (loadReport, endpointName) => {
@@ -24611,7 +24611,7 @@ var require_load_balancer_weighted_round_robin = __commonJS((exports) => {
24611
24611
  }
24612
24612
  }
24613
24613
  updateState(newState, picker, errorMessage) {
24614
- trace2(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
24614
+ trace3(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
24615
24615
  this.currentState = newState;
24616
24616
  this.channelControlHelper.updateState(newState, picker, errorMessage);
24617
24617
  }
@@ -24631,7 +24631,7 @@ var require_load_balancer_weighted_round_robin = __commonJS((exports) => {
24631
24631
  this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({ details: errorMessage }), errorMessage);
24632
24632
  return false;
24633
24633
  }
24634
- trace2("Connect to endpoint list " + maybeEndpointList.value.map(subchannel_address_1.endpointToString));
24634
+ trace3("Connect to endpoint list " + maybeEndpointList.value.map(subchannel_address_1.endpointToString));
24635
24635
  const now = new Date;
24636
24636
  const seenEndpointNames = new Set;
24637
24637
  this.updatesPaused = true;
@@ -25011,16 +25011,16 @@ var require_suppress_tracing = __commonJS((exports) => {
25011
25011
  exports.isTracingSuppressed = exports.unsuppressTracing = exports.suppressTracing = undefined;
25012
25012
  var api_1 = require_src();
25013
25013
  var SUPPRESS_TRACING_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
25014
- function suppressTracing(context2) {
25015
- return context2.setValue(SUPPRESS_TRACING_KEY, true);
25014
+ function suppressTracing(context3) {
25015
+ return context3.setValue(SUPPRESS_TRACING_KEY, true);
25016
25016
  }
25017
25017
  exports.suppressTracing = suppressTracing;
25018
- function unsuppressTracing(context2) {
25019
- return context2.deleteValue(SUPPRESS_TRACING_KEY);
25018
+ function unsuppressTracing(context3) {
25019
+ return context3.deleteValue(SUPPRESS_TRACING_KEY);
25020
25020
  }
25021
25021
  exports.unsuppressTracing = unsuppressTracing;
25022
- function isTracingSuppressed(context2) {
25023
- return context2.getValue(SUPPRESS_TRACING_KEY) === true;
25022
+ function isTracingSuppressed(context3) {
25023
+ return context3.getValue(SUPPRESS_TRACING_KEY) === true;
25024
25024
  }
25025
25025
  exports.isTracingSuppressed = isTracingSuppressed;
25026
25026
  });
@@ -25114,9 +25114,9 @@ var require_W3CBaggagePropagator = __commonJS((exports) => {
25114
25114
  var utils_1 = require_utils3();
25115
25115
 
25116
25116
  class W3CBaggagePropagator {
25117
- inject(context2, carrier, setter) {
25118
- const baggage = api_1.propagation.getBaggage(context2);
25119
- if (!baggage || (0, suppress_tracing_1.isTracingSuppressed)(context2))
25117
+ inject(context3, carrier, setter) {
25118
+ const baggage = api_1.propagation.getBaggage(context3);
25119
+ if (!baggage || (0, suppress_tracing_1.isTracingSuppressed)(context3))
25120
25120
  return;
25121
25121
  const keyPairs = (0, utils_1.getKeyPairs)(baggage).filter((pair) => {
25122
25122
  return pair.length <= constants_1.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;
@@ -25126,14 +25126,14 @@ var require_W3CBaggagePropagator = __commonJS((exports) => {
25126
25126
  setter.set(carrier, constants_1.BAGGAGE_HEADER, headerValue);
25127
25127
  }
25128
25128
  }
25129
- extract(context2, carrier, getter) {
25129
+ extract(context3, carrier, getter) {
25130
25130
  const headerValue = getter.get(carrier, constants_1.BAGGAGE_HEADER);
25131
25131
  const baggageString = Array.isArray(headerValue) ? headerValue.join(constants_1.BAGGAGE_ITEMS_SEPARATOR) : headerValue;
25132
25132
  if (!baggageString)
25133
- return context2;
25133
+ return context3;
25134
25134
  const baggage = {};
25135
25135
  if (baggageString.length === 0) {
25136
- return context2;
25136
+ return context3;
25137
25137
  }
25138
25138
  const pairs = baggageString.split(constants_1.BAGGAGE_ITEMS_SEPARATOR);
25139
25139
  pairs.forEach((entry) => {
@@ -25147,9 +25147,9 @@ var require_W3CBaggagePropagator = __commonJS((exports) => {
25147
25147
  }
25148
25148
  });
25149
25149
  if (Object.entries(baggage).length === 0) {
25150
- return context2;
25150
+ return context3;
25151
25151
  }
25152
- return api_1.propagation.setBaggage(context2, api_1.propagation.createBaggage(baggage));
25152
+ return api_1.propagation.setBaggage(context3, api_1.propagation.createBaggage(baggage));
25153
25153
  }
25154
25154
  fields() {
25155
25155
  return [constants_1.BAGGAGE_HEADER];
@@ -27124,16 +27124,16 @@ var require_composite = __commonJS((exports) => {
27124
27124
  this._propagators = config2.propagators ?? [];
27125
27125
  this._fields = Array.from(new Set(this._propagators.map((p) => typeof p.fields === "function" ? p.fields() : []).reduce((x, y) => x.concat(y), [])));
27126
27126
  }
27127
- inject(context2, carrier, setter) {
27127
+ inject(context3, carrier, setter) {
27128
27128
  for (const propagator of this._propagators) {
27129
27129
  try {
27130
- propagator.inject(context2, carrier, setter);
27130
+ propagator.inject(context3, carrier, setter);
27131
27131
  } catch (err) {
27132
27132
  api_1.diag.warn(`Failed to inject with ${propagator.constructor.name}. Err: ${err.message}`);
27133
27133
  }
27134
27134
  }
27135
27135
  }
27136
- extract(context2, carrier, getter) {
27136
+ extract(context3, carrier, getter) {
27137
27137
  return this._propagators.reduce((ctx, propagator) => {
27138
27138
  try {
27139
27139
  return propagator.extract(ctx, carrier, getter);
@@ -27141,7 +27141,7 @@ var require_composite = __commonJS((exports) => {
27141
27141
  api_1.diag.warn(`Failed to extract with ${propagator.constructor.name}. Err: ${err.message}`);
27142
27142
  }
27143
27143
  return ctx;
27144
- }, context2);
27144
+ }, context3);
27145
27145
  }
27146
27146
  fields() {
27147
27147
  return this._fields.slice();
@@ -27269,9 +27269,9 @@ var require_W3CTraceContextPropagator = __commonJS((exports) => {
27269
27269
  exports.parseTraceParent = parseTraceParent;
27270
27270
 
27271
27271
  class W3CTraceContextPropagator {
27272
- inject(context2, carrier, setter) {
27273
- const spanContext = api_1.trace.getSpanContext(context2);
27274
- if (!spanContext || (0, suppress_tracing_1.isTracingSuppressed)(context2) || !(0, api_1.isSpanContextValid)(spanContext))
27272
+ inject(context3, carrier, setter) {
27273
+ const spanContext = api_1.trace.getSpanContext(context3);
27274
+ if (!spanContext || (0, suppress_tracing_1.isTracingSuppressed)(context3) || !(0, api_1.isSpanContextValid)(spanContext))
27275
27275
  return;
27276
27276
  const traceParent = `${VERSION}-${spanContext.traceId}-${spanContext.spanId}-0${Number(spanContext.traceFlags || api_1.TraceFlags.NONE).toString(16)}`;
27277
27277
  setter.set(carrier, exports.TRACE_PARENT_HEADER, traceParent);
@@ -27279,23 +27279,23 @@ var require_W3CTraceContextPropagator = __commonJS((exports) => {
27279
27279
  setter.set(carrier, exports.TRACE_STATE_HEADER, spanContext.traceState.serialize());
27280
27280
  }
27281
27281
  }
27282
- extract(context2, carrier, getter) {
27282
+ extract(context3, carrier, getter) {
27283
27283
  const traceParentHeader = getter.get(carrier, exports.TRACE_PARENT_HEADER);
27284
27284
  if (!traceParentHeader)
27285
- return context2;
27285
+ return context3;
27286
27286
  const traceParent = Array.isArray(traceParentHeader) ? traceParentHeader[0] : traceParentHeader;
27287
27287
  if (typeof traceParent !== "string")
27288
- return context2;
27288
+ return context3;
27289
27289
  const spanContext = parseTraceParent(traceParent);
27290
27290
  if (!spanContext)
27291
- return context2;
27291
+ return context3;
27292
27292
  spanContext.isRemote = true;
27293
27293
  const traceStateHeader = getter.get(carrier, exports.TRACE_STATE_HEADER);
27294
27294
  if (traceStateHeader) {
27295
27295
  const state = Array.isArray(traceStateHeader) ? traceStateHeader.join(",") : traceStateHeader;
27296
27296
  spanContext.traceState = new TraceState_1.TraceState(typeof state === "string" ? state : undefined);
27297
27297
  }
27298
- return api_1.trace.setSpanContext(context2, spanContext);
27298
+ return api_1.trace.setSpanContext(context3, spanContext);
27299
27299
  }
27300
27300
  fields() {
27301
27301
  return [exports.TRACE_PARENT_HEADER, exports.TRACE_STATE_HEADER];
@@ -27314,16 +27314,16 @@ var require_rpc_metadata = __commonJS((exports) => {
27314
27314
  (function(RPCType2) {
27315
27315
  RPCType2["HTTP"] = "http";
27316
27316
  })(RPCType = exports.RPCType || (exports.RPCType = {}));
27317
- function setRPCMetadata(context2, meta2) {
27318
- return context2.setValue(RPC_METADATA_KEY, meta2);
27317
+ function setRPCMetadata(context3, meta2) {
27318
+ return context3.setValue(RPC_METADATA_KEY, meta2);
27319
27319
  }
27320
27320
  exports.setRPCMetadata = setRPCMetadata;
27321
- function deleteRPCMetadata(context2) {
27322
- return context2.deleteValue(RPC_METADATA_KEY);
27321
+ function deleteRPCMetadata(context3) {
27322
+ return context3.deleteValue(RPC_METADATA_KEY);
27323
27323
  }
27324
27324
  exports.deleteRPCMetadata = deleteRPCMetadata;
27325
- function getRPCMetadata(context2) {
27326
- return context2.getValue(RPC_METADATA_KEY);
27325
+ function getRPCMetadata(context3) {
27326
+ return context3.getValue(RPC_METADATA_KEY);
27327
27327
  }
27328
27328
  exports.getRPCMetadata = getRPCMetadata;
27329
27329
  });
@@ -27564,8 +27564,8 @@ var require_promise = __commonJS((exports) => {
27564
27564
  _resolve;
27565
27565
  _reject;
27566
27566
  constructor() {
27567
- this._promise = new Promise((resolve2, reject) => {
27568
- this._resolve = resolve2;
27567
+ this._promise = new Promise((resolve, reject) => {
27568
+ this._resolve = resolve;
27569
27569
  this._reject = reject;
27570
27570
  });
27571
27571
  }
@@ -27653,9 +27653,9 @@ var require_exporter = __commonJS((exports) => {
27653
27653
  var api_1 = require_src();
27654
27654
  var suppress_tracing_1 = require_suppress_tracing();
27655
27655
  function _export(exporter, arg) {
27656
- return new Promise((resolve2) => {
27656
+ return new Promise((resolve) => {
27657
27657
  api_1.context.with((0, suppress_tracing_1.suppressTracing)(api_1.context.active()), () => {
27658
- exporter.export(arg, resolve2);
27658
+ exporter.export(arg, resolve);
27659
27659
  });
27660
27660
  });
27661
27661
  }
@@ -28111,22 +28111,22 @@ var require_grpc_exporter_transport = __commonJS((exports) => {
28111
28111
  });
28112
28112
  }
28113
28113
  }
28114
- return new Promise((resolve2) => {
28114
+ return new Promise((resolve) => {
28115
28115
  const deadline = Date.now() + timeoutMillis;
28116
28116
  if (this._metadata == null) {
28117
- return resolve2({
28117
+ return resolve({
28118
28118
  error: new Error("metadata was null"),
28119
28119
  status: "failure"
28120
28120
  });
28121
28121
  }
28122
28122
  this._client.export(buffer, this._metadata, { deadline }, (err, response) => {
28123
28123
  if (err) {
28124
- resolve2({
28124
+ resolve({
28125
28125
  status: "failure",
28126
28126
  error: err
28127
28127
  });
28128
28128
  } else {
28129
- resolve2({
28129
+ resolve({
28130
28130
  data: response,
28131
28131
  status: "success"
28132
28132
  });
@@ -28469,9 +28469,9 @@ var require_http_exporter_transport = __commonJS((exports) => {
28469
28469
  async send(data, timeoutMillis) {
28470
28470
  const { agent, request } = await this._loadUtils();
28471
28471
  const headers = await this._parameters.headers();
28472
- return new Promise((resolve2) => {
28472
+ return new Promise((resolve) => {
28473
28473
  (0, http_transport_utils_1.sendWithHttp)(request, this._parameters.url, headers, this._parameters.compression, this._parameters.userAgent, agent, data, (result) => {
28474
- resolve2(result);
28474
+ resolve(result);
28475
28475
  }, timeoutMillis);
28476
28476
  });
28477
28477
  }
@@ -28520,9 +28520,9 @@ var require_retrying_transport = __commonJS((exports) => {
28520
28520
  this._transport = transport;
28521
28521
  }
28522
28522
  retry(data, timeoutMillis, inMillis) {
28523
- return new Promise((resolve2, reject) => {
28523
+ return new Promise((resolve, reject) => {
28524
28524
  setTimeout(() => {
28525
- this._transport.send(data, timeoutMillis).then(resolve2, reject);
28525
+ this._transport.send(data, timeoutMillis).then(resolve, reject);
28526
28526
  }, inMillis);
28527
28527
  });
28528
28528
  }
@@ -30857,8 +30857,8 @@ var require_root2 = __commonJS((exports, module) => {
30857
30857
  return resource;
30858
30858
  }();
30859
30859
  proto.trace = function() {
30860
- var trace2 = {};
30861
- trace2.v1 = function() {
30860
+ var trace3 = {};
30861
+ trace3.v1 = function() {
30862
30862
  var v12 = {};
30863
30863
  v12.TracesData = function() {
30864
30864
  function TracesData(properties) {
@@ -32270,13 +32270,13 @@ var require_root2 = __commonJS((exports, module) => {
32270
32270
  }();
32271
32271
  return v12;
32272
32272
  }();
32273
- return trace2;
32273
+ return trace3;
32274
32274
  }();
32275
32275
  proto.collector = function() {
32276
32276
  var collector = {};
32277
32277
  collector.trace = function() {
32278
- var trace2 = {};
32279
- trace2.v1 = function() {
32278
+ var trace3 = {};
32279
+ trace3.v1 = function() {
32280
32280
  var v12 = {};
32281
32281
  v12.TraceService = function() {
32282
32282
  function TraceService(rpcImpl, requestDelimited, responseDelimited) {
@@ -32604,7 +32604,7 @@ var require_root2 = __commonJS((exports, module) => {
32604
32604
  }();
32605
32605
  return v12;
32606
32606
  }();
32607
- return trace2;
32607
+ return trace3;
32608
32608
  }();
32609
32609
  collector.metrics = function() {
32610
32610
  var metrics = {};
@@ -40093,7 +40093,7 @@ var require_Instruments = __commonJS((exports) => {
40093
40093
  this._writableMetricStorage = writableMetricStorage;
40094
40094
  this._descriptor = descriptor;
40095
40095
  }
40096
- _record(value, attributes = {}, context2 = api_1.context.active()) {
40096
+ _record(value, attributes = {}, context3 = api_1.context.active()) {
40097
40097
  if (typeof value !== "number") {
40098
40098
  api_1.diag.warn(`non-number value provided to metric ${this._descriptor.name}: ${value}`);
40099
40099
  return;
@@ -40105,7 +40105,7 @@ var require_Instruments = __commonJS((exports) => {
40105
40105
  return;
40106
40106
  }
40107
40107
  }
40108
- this._writableMetricStorage.record(value, attributes, context2, (0, core_1.millisToHrTime)(Date.now()));
40108
+ this._writableMetricStorage.record(value, attributes, context3, (0, core_1.millisToHrTime)(Date.now()));
40109
40109
  }
40110
40110
  }
40111
40111
  exports.SyncInstrument = SyncInstrument;
@@ -40713,9 +40713,9 @@ var require_MultiWritableMetricStorage = __commonJS((exports) => {
40713
40713
  constructor(backingStorages) {
40714
40714
  this._backingStorages = backingStorages;
40715
40715
  }
40716
- record(value, attributes, context2, recordTime) {
40716
+ record(value, attributes, context3, recordTime) {
40717
40717
  this._backingStorages.forEach((it) => {
40718
- it.record(value, attributes, context2, recordTime);
40718
+ it.record(value, attributes, context3, recordTime);
40719
40719
  });
40720
40720
  }
40721
40721
  }
@@ -40905,9 +40905,9 @@ var require_SyncMetricStorage = __commonJS((exports) => {
40905
40905
  this._temporalMetricStorage = new TemporalMetricProcessor_1.TemporalMetricProcessor(aggregator, collectorHandles);
40906
40906
  this._attributesProcessor = attributesProcessor;
40907
40907
  }
40908
- record(value, attributes, context2, recordTime) {
40909
- attributes = this._attributesProcessor.process(attributes, context2);
40910
- this._deltaMetricStorage.record(value, attributes, context2, recordTime);
40908
+ record(value, attributes, context3, recordTime) {
40909
+ attributes = this._attributesProcessor.process(attributes, context3);
40910
+ this._deltaMetricStorage.record(value, attributes, context3, recordTime);
40911
40911
  }
40912
40912
  collect(collector, collectionTime) {
40913
40913
  const accumulations = this._deltaMetricStorage.collect();
@@ -40933,10 +40933,10 @@ var require_AttributesProcessor = __commonJS((exports) => {
40933
40933
  constructor(processors) {
40934
40934
  this._processors = processors;
40935
40935
  }
40936
- process(incoming, context2) {
40936
+ process(incoming, context3) {
40937
40937
  let filteredAttributes = incoming;
40938
40938
  for (const processor of this._processors) {
40939
- filteredAttributes = processor.process(filteredAttributes, context2);
40939
+ filteredAttributes = processor.process(filteredAttributes, context3);
40940
40940
  }
40941
40941
  return filteredAttributes;
40942
40942
  }
@@ -41953,19 +41953,19 @@ var require_AbstractAsyncHooksContextManager = __commonJS((exports) => {
41953
41953
  ];
41954
41954
 
41955
41955
  class AbstractAsyncHooksContextManager {
41956
- bind(context2, target) {
41956
+ bind(context3, target) {
41957
41957
  if (target instanceof events_1.EventEmitter) {
41958
- return this._bindEventEmitter(context2, target);
41958
+ return this._bindEventEmitter(context3, target);
41959
41959
  }
41960
41960
  if (typeof target === "function") {
41961
- return this._bindFunction(context2, target);
41961
+ return this._bindFunction(context3, target);
41962
41962
  }
41963
41963
  return target;
41964
41964
  }
41965
- _bindFunction(context2, target) {
41965
+ _bindFunction(context3, target) {
41966
41966
  const manager = this;
41967
41967
  const contextWrapper = function(...args) {
41968
- return manager.with(context2, () => target.apply(this, args));
41968
+ return manager.with(context3, () => target.apply(this, args));
41969
41969
  };
41970
41970
  Object.defineProperty(contextWrapper, "length", {
41971
41971
  enumerable: false,
@@ -41975,7 +41975,7 @@ var require_AbstractAsyncHooksContextManager = __commonJS((exports) => {
41975
41975
  });
41976
41976
  return contextWrapper;
41977
41977
  }
41978
- _bindEventEmitter(context2, ee) {
41978
+ _bindEventEmitter(context3, ee) {
41979
41979
  const map = this._getPatchMap(ee);
41980
41980
  if (map !== undefined)
41981
41981
  return ee;
@@ -41983,7 +41983,7 @@ var require_AbstractAsyncHooksContextManager = __commonJS((exports) => {
41983
41983
  ADD_LISTENER_METHODS.forEach((methodName) => {
41984
41984
  if (ee[methodName] === undefined)
41985
41985
  return;
41986
- ee[methodName] = this._patchAddListener(ee, ee[methodName], context2);
41986
+ ee[methodName] = this._patchAddListener(ee, ee[methodName], context3);
41987
41987
  });
41988
41988
  if (typeof ee.removeListener === "function") {
41989
41989
  ee.removeListener = this._patchRemoveListener(ee, ee.removeListener);
@@ -42021,7 +42021,7 @@ var require_AbstractAsyncHooksContextManager = __commonJS((exports) => {
42021
42021
  return original.apply(this, arguments);
42022
42022
  };
42023
42023
  }
42024
- _patchAddListener(ee, original, context2) {
42024
+ _patchAddListener(ee, original, context3) {
42025
42025
  const contextManager = this;
42026
42026
  return function(event, listener) {
42027
42027
  if (contextManager._wrapped) {
@@ -42036,7 +42036,7 @@ var require_AbstractAsyncHooksContextManager = __commonJS((exports) => {
42036
42036
  listeners = new WeakMap;
42037
42037
  map[event] = listeners;
42038
42038
  }
42039
- const patchedListener = contextManager.bind(context2, listener);
42039
+ const patchedListener = contextManager.bind(context3, listener);
42040
42040
  listeners.set(listener, patchedListener);
42041
42041
  contextManager._wrapped = true;
42042
42042
  try {
@@ -42085,8 +42085,8 @@ var require_AsyncHooksContextManager = __commonJS((exports) => {
42085
42085
  active() {
42086
42086
  return this._stack[this._stack.length - 1] ?? api_1.ROOT_CONTEXT;
42087
42087
  }
42088
- with(context2, fn, thisArg, ...args) {
42089
- this._enterContext(context2);
42088
+ with(context3, fn, thisArg, ...args) {
42089
+ this._enterContext(context3);
42090
42090
  try {
42091
42091
  return fn.call(thisArg, ...args);
42092
42092
  } finally {
@@ -42106,25 +42106,25 @@ var require_AsyncHooksContextManager = __commonJS((exports) => {
42106
42106
  _init(uid, type) {
42107
42107
  if (type === "TIMERWRAP")
42108
42108
  return;
42109
- const context2 = this._stack[this._stack.length - 1];
42110
- if (context2 !== undefined) {
42111
- this._contexts.set(uid, context2);
42109
+ const context3 = this._stack[this._stack.length - 1];
42110
+ if (context3 !== undefined) {
42111
+ this._contexts.set(uid, context3);
42112
42112
  }
42113
42113
  }
42114
42114
  _destroy(uid) {
42115
42115
  this._contexts.delete(uid);
42116
42116
  }
42117
42117
  _before(uid) {
42118
- const context2 = this._contexts.get(uid);
42119
- if (context2 !== undefined) {
42120
- this._enterContext(context2);
42118
+ const context3 = this._contexts.get(uid);
42119
+ if (context3 !== undefined) {
42120
+ this._enterContext(context3);
42121
42121
  }
42122
42122
  }
42123
42123
  _after() {
42124
42124
  this._exitContext();
42125
42125
  }
42126
- _enterContext(context2) {
42127
- this._stack.push(context2);
42126
+ _enterContext(context3) {
42127
+ this._stack.push(context3);
42128
42128
  }
42129
42129
  _exitContext() {
42130
42130
  this._stack.pop();
@@ -42150,9 +42150,9 @@ var require_AsyncLocalStorageContextManager = __commonJS((exports) => {
42150
42150
  active() {
42151
42151
  return this._asyncLocalStorage.getStore() ?? api_1.ROOT_CONTEXT;
42152
42152
  }
42153
- with(context2, fn, thisArg, ...args) {
42153
+ with(context3, fn, thisArg, ...args) {
42154
42154
  const cb = thisArg == null ? fn : fn.bind(thisArg);
42155
- return this._asyncLocalStorage.run(context2, cb, ...args);
42155
+ return this._asyncLocalStorage.run(context3, cb, ...args);
42156
42156
  }
42157
42157
  enable() {
42158
42158
  return this;
@@ -42518,21 +42518,21 @@ var require_ParentBasedSampler = __commonJS((exports) => {
42518
42518
  this._localParentSampled = config2.localParentSampled ?? new AlwaysOnSampler_1.AlwaysOnSampler;
42519
42519
  this._localParentNotSampled = config2.localParentNotSampled ?? new AlwaysOffSampler_1.AlwaysOffSampler;
42520
42520
  }
42521
- shouldSample(context2, traceId, spanName, spanKind, attributes, links) {
42522
- const parentContext = api_1.trace.getSpanContext(context2);
42521
+ shouldSample(context3, traceId, spanName, spanKind, attributes, links) {
42522
+ const parentContext = api_1.trace.getSpanContext(context3);
42523
42523
  if (!parentContext || !(0, api_1.isSpanContextValid)(parentContext)) {
42524
- return this._root.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
42524
+ return this._root.shouldSample(context3, traceId, spanName, spanKind, attributes, links);
42525
42525
  }
42526
42526
  if (parentContext.isRemote) {
42527
42527
  if (parentContext.traceFlags & api_1.TraceFlags.SAMPLED) {
42528
- return this._remoteParentSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
42528
+ return this._remoteParentSampled.shouldSample(context3, traceId, spanName, spanKind, attributes, links);
42529
42529
  }
42530
- return this._remoteParentNotSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
42530
+ return this._remoteParentNotSampled.shouldSample(context3, traceId, spanName, spanKind, attributes, links);
42531
42531
  }
42532
42532
  if (parentContext.traceFlags & api_1.TraceFlags.SAMPLED) {
42533
- return this._localParentSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
42533
+ return this._localParentSampled.shouldSample(context3, traceId, spanName, spanKind, attributes, links);
42534
42534
  }
42535
- return this._localParentNotSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
42535
+ return this._localParentNotSampled.shouldSample(context3, traceId, spanName, spanKind, attributes, links);
42536
42536
  }
42537
42537
  toString() {
42538
42538
  return `ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`;
@@ -42555,7 +42555,7 @@ var require_TraceIdRatioBasedSampler = __commonJS((exports) => {
42555
42555
  this._ratio = this._normalize(ratio);
42556
42556
  this._upperBound = Math.floor(this._ratio * 4294967295);
42557
42557
  }
42558
- shouldSample(context2, traceId) {
42558
+ shouldSample(context3, traceId) {
42559
42559
  return {
42560
42560
  decision: (0, api_1.isValidTraceId)(traceId) && this._accumulate(traceId) < this._upperBound ? Sampler_1.SamplingDecision.RECORD_AND_SAMPLED : Sampler_1.SamplingDecision.NOT_RECORD
42561
42561
  };
@@ -42765,14 +42765,14 @@ var require_BatchSpanProcessorBase = __commonJS((exports) => {
42765
42765
  this._maybeStartTimer();
42766
42766
  }
42767
42767
  _flushAll() {
42768
- return new Promise((resolve2, reject) => {
42768
+ return new Promise((resolve, reject) => {
42769
42769
  const promises = [];
42770
42770
  const count = Math.ceil(this._finishedSpans.length / this._maxExportBatchSize);
42771
42771
  for (let i = 0, j = count;i < j; i++) {
42772
42772
  promises.push(this._flushOneBatch());
42773
42773
  }
42774
42774
  Promise.all(promises).then(() => {
42775
- resolve2();
42775
+ resolve();
42776
42776
  }).catch(reject);
42777
42777
  });
42778
42778
  }
@@ -42781,7 +42781,7 @@ var require_BatchSpanProcessorBase = __commonJS((exports) => {
42781
42781
  if (this._finishedSpans.length === 0) {
42782
42782
  return Promise.resolve();
42783
42783
  }
42784
- return new Promise((resolve2, reject) => {
42784
+ return new Promise((resolve, reject) => {
42785
42785
  const timer = setTimeout(() => {
42786
42786
  reject(new Error("Timeout"));
42787
42787
  }, this._exportTimeoutMillis);
@@ -42796,7 +42796,7 @@ var require_BatchSpanProcessorBase = __commonJS((exports) => {
42796
42796
  const doExport = () => this._exporter.export(spans, (result) => {
42797
42797
  clearTimeout(timer);
42798
42798
  if (result.code === core_1.ExportResultCode.SUCCESS) {
42799
- resolve2();
42799
+ resolve();
42800
42800
  } else {
42801
42801
  reject(result.error ?? new Error("BatchSpanProcessor: span export failed"));
42802
42802
  }
@@ -42935,7 +42935,7 @@ var require_Tracer = __commonJS((exports) => {
42935
42935
  var utility_1 = require_utility();
42936
42936
  var platform_1 = require_platform4();
42937
42937
 
42938
- class Tracer {
42938
+ class Tracer2 {
42939
42939
  _sampler;
42940
42940
  _generalLimits;
42941
42941
  _spanLimits;
@@ -42953,12 +42953,12 @@ var require_Tracer = __commonJS((exports) => {
42953
42953
  this._spanProcessor = spanProcessor;
42954
42954
  this.instrumentationScope = instrumentationScope;
42955
42955
  }
42956
- startSpan(name, options = {}, context2 = api2.context.active()) {
42956
+ startSpan(name, options = {}, context3 = api2.context.active()) {
42957
42957
  if (options.root) {
42958
- context2 = api2.trace.deleteSpan(context2);
42958
+ context3 = api2.trace.deleteSpan(context3);
42959
42959
  }
42960
- const parentSpan = api2.trace.getSpan(context2);
42961
- if ((0, core_1.isTracingSuppressed)(context2)) {
42960
+ const parentSpan = api2.trace.getSpan(context3);
42961
+ if ((0, core_1.isTracingSuppressed)(context3)) {
42962
42962
  api2.diag.debug("Instrumentation suppressed, returning Noop Span");
42963
42963
  const nonRecordingSpan = api2.trace.wrapSpanContext(api2.INVALID_SPAN_CONTEXT);
42964
42964
  return nonRecordingSpan;
@@ -42983,7 +42983,7 @@ var require_Tracer = __commonJS((exports) => {
42983
42983
  };
42984
42984
  });
42985
42985
  const attributes = (0, core_1.sanitizeAttributes)(options.attributes);
42986
- const samplingResult = this._sampler.shouldSample(context2, traceId, name, spanKind, attributes, links);
42986
+ const samplingResult = this._sampler.shouldSample(context3, traceId, name, spanKind, attributes, links);
42987
42987
  traceState = samplingResult.traceState ?? traceState;
42988
42988
  const traceFlags = samplingResult.decision === api2.SamplingDecision.RECORD_AND_SAMPLED ? api2.TraceFlags.SAMPLED : api2.TraceFlags.NONE;
42989
42989
  const spanContext = { traceId, spanId, traceFlags, traceState };
@@ -42996,7 +42996,7 @@ var require_Tracer = __commonJS((exports) => {
42996
42996
  const span = new Span_1.SpanImpl({
42997
42997
  resource: this._resource,
42998
42998
  scope: this.instrumentationScope,
42999
- context: context2,
42999
+ context: context3,
43000
43000
  spanContext,
43001
43001
  name,
43002
43002
  kind: spanKind,
@@ -43037,7 +43037,7 @@ var require_Tracer = __commonJS((exports) => {
43037
43037
  return this._spanLimits;
43038
43038
  }
43039
43039
  }
43040
- exports.Tracer = Tracer;
43040
+ exports.Tracer = Tracer2;
43041
43041
  });
43042
43042
 
43043
43043
  // ../../node_modules/@opentelemetry/sdk-trace-base/build/src/MultiSpanProcessor.js
@@ -43056,18 +43056,18 @@ var require_MultiSpanProcessor = __commonJS((exports) => {
43056
43056
  for (const spanProcessor of this._spanProcessors) {
43057
43057
  promises.push(spanProcessor.forceFlush());
43058
43058
  }
43059
- return new Promise((resolve2) => {
43059
+ return new Promise((resolve) => {
43060
43060
  Promise.all(promises).then(() => {
43061
- resolve2();
43061
+ resolve();
43062
43062
  }).catch((error2) => {
43063
43063
  (0, core_1.globalErrorHandler)(error2 || new Error("MultiSpanProcessor: forceFlush failed"));
43064
- resolve2();
43064
+ resolve();
43065
43065
  });
43066
43066
  });
43067
43067
  }
43068
- onStart(span, context2) {
43068
+ onStart(span, context3) {
43069
43069
  for (const spanProcessor of this._spanProcessors) {
43070
- spanProcessor.onStart(span, context2);
43070
+ spanProcessor.onStart(span, context3);
43071
43071
  }
43072
43072
  }
43073
43073
  onEnding(span) {
@@ -43087,9 +43087,9 @@ var require_MultiSpanProcessor = __commonJS((exports) => {
43087
43087
  for (const spanProcessor of this._spanProcessors) {
43088
43088
  promises.push(spanProcessor.shutdown());
43089
43089
  }
43090
- return new Promise((resolve2, reject) => {
43090
+ return new Promise((resolve, reject) => {
43091
43091
  Promise.all(promises).then(() => {
43092
- resolve2();
43092
+ resolve();
43093
43093
  }, reject);
43094
43094
  });
43095
43095
  }
@@ -43142,32 +43142,32 @@ var require_BasicTracerProvider = __commonJS((exports) => {
43142
43142
  forceFlush() {
43143
43143
  const timeout = this._config.forceFlushTimeoutMillis;
43144
43144
  const promises = this._activeSpanProcessor["_spanProcessors"].map((spanProcessor) => {
43145
- return new Promise((resolve2) => {
43145
+ return new Promise((resolve) => {
43146
43146
  let state;
43147
43147
  const timeoutInterval = setTimeout(() => {
43148
- resolve2(new Error(`Span processor did not completed within timeout period of ${timeout} ms`));
43148
+ resolve(new Error(`Span processor did not completed within timeout period of ${timeout} ms`));
43149
43149
  state = ForceFlushState.timeout;
43150
43150
  }, timeout);
43151
43151
  spanProcessor.forceFlush().then(() => {
43152
43152
  clearTimeout(timeoutInterval);
43153
43153
  if (state !== ForceFlushState.timeout) {
43154
43154
  state = ForceFlushState.resolved;
43155
- resolve2(state);
43155
+ resolve(state);
43156
43156
  }
43157
43157
  }).catch((error2) => {
43158
43158
  clearTimeout(timeoutInterval);
43159
43159
  state = ForceFlushState.error;
43160
- resolve2(error2);
43160
+ resolve(error2);
43161
43161
  });
43162
43162
  });
43163
43163
  });
43164
- return new Promise((resolve2, reject) => {
43164
+ return new Promise((resolve, reject) => {
43165
43165
  Promise.all(promises).then((results) => {
43166
43166
  const errors3 = results.filter((result) => result !== ForceFlushState.resolved);
43167
43167
  if (errors3.length > 0) {
43168
43168
  reject(errors3);
43169
43169
  } else {
43170
- resolve2();
43170
+ resolve();
43171
43171
  }
43172
43172
  }).catch((error2) => reject([error2]));
43173
43173
  });
@@ -43486,9 +43486,300 @@ var require_src15 = __commonJS((exports) => {
43486
43486
  });
43487
43487
 
43488
43488
  // src/adapters/langchain/frisk-callback-handler.ts
43489
- var import_api = __toESM(require_src(), 1);
43490
43489
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
43491
43490
 
43491
+ // src/core/frisk-session.ts
43492
+ var import_api2 = __toESM(require_src(), 1);
43493
+
43494
+ // ../../node_modules/uuid/wrapper.mjs
43495
+ var import_dist = __toESM(require_dist(), 1);
43496
+ var v1 = import_dist.default.v1;
43497
+ var v1ToV6 = import_dist.default.v1ToV6;
43498
+ var v3 = import_dist.default.v3;
43499
+ var v4 = import_dist.default.v4;
43500
+ var v5 = import_dist.default.v5;
43501
+ var v6 = import_dist.default.v6;
43502
+ var v6ToV1 = import_dist.default.v6ToV1;
43503
+ var v7 = import_dist.default.v7;
43504
+ var NIL = import_dist.default.NIL;
43505
+ var MAX = import_dist.default.MAX;
43506
+ var version = import_dist.default.version;
43507
+ var validate = import_dist.default.validate;
43508
+ var stringify = import_dist.default.stringify;
43509
+ var parse = import_dist.default.parse;
43510
+
43511
+ // src/errors/index.ts
43512
+ class FriskError extends Error {
43513
+ context;
43514
+ constructor(message, options) {
43515
+ super(message, options);
43516
+ this.name = "FriskError";
43517
+ this.context = options?.context;
43518
+ if (Error.captureStackTrace) {
43519
+ Error.captureStackTrace(this, this.constructor);
43520
+ }
43521
+ }
43522
+ }
43523
+
43524
+ class MissingAPIKeyError extends FriskError {
43525
+ constructor(options) {
43526
+ super("Frisk API key is required. Provide it via the apiKey parameter or set the FRISK_API_KEY environment variable.", options);
43527
+ this.name = "MissingAPIKeyError";
43528
+ }
43529
+ }
43530
+
43531
+ class MissingBaseURLError extends FriskError {
43532
+ constructor(options) {
43533
+ super("Frisk base URL is required. Provide it via the baseUrl parameter or set the FRISK_BASE_URL environment variable.", options);
43534
+ this.name = "MissingBaseURLError";
43535
+ }
43536
+ }
43537
+
43538
+ class MissingOtlpEndpointError extends FriskError {
43539
+ constructor(options) {
43540
+ super("Frisk telemetry endpoint is required. Provide it via the telemetryEndpoint parameter or set the FRISK_TELEMETRY_ENDPOINT environment variable.", options);
43541
+ this.name = "MissingTelemetryEndpointError";
43542
+ }
43543
+ }
43544
+
43545
+ class SessionNotFoundError extends FriskError {
43546
+ constructor(sessionId, options) {
43547
+ super(`Session with ID ${sessionId} was not found in the registry.`, options);
43548
+ this.name = "SessionNotFoundError";
43549
+ }
43550
+ }
43551
+
43552
+ class MissingFriskSessionContextError extends FriskError {
43553
+ constructor(options) {
43554
+ super("Frisk session context is missing. Ensure you have created a session with frisk.session() and passed it to the context.", options);
43555
+ this.name = "MissingFriskSessionContextError";
43556
+ }
43557
+ }
43558
+
43559
+ class InvalidFriskSessionError extends FriskError {
43560
+ constructor(options) {
43561
+ super("Invalid Frisk session. The session may have expired or been invalidated.", options);
43562
+ this.name = "InvalidFriskSessionError";
43563
+ }
43564
+ }
43565
+
43566
+ class FriskNotInitializedError extends FriskError {
43567
+ constructor(options) {
43568
+ super("Frisk SDK is not initialized. Call frisk.connect() before using the SDK.", options);
43569
+ this.name = "FriskNotInitializedError";
43570
+ }
43571
+ }
43572
+
43573
+ class UnsupportedToolSchemaError extends FriskError {
43574
+ constructor(expectedType, options) {
43575
+ super(`Unsupported tool schema type. Expected ${expectedType} schema but received an incompatible schema type.`, options);
43576
+ this.name = "UnsupportedToolSchemaError";
43577
+ }
43578
+ }
43579
+
43580
+ class ToolCallEvaluationError extends FriskError {
43581
+ originalError;
43582
+ constructor(originalError, options) {
43583
+ const message = `An error occurred while evaluating the tool call.
43584
+ The tool call will be allowed by default.
43585
+ Original error:
43586
+ ${originalError}`;
43587
+ super(message, { ...options, cause: originalError });
43588
+ this.name = "ToolCallEvaluationError";
43589
+ this.originalError = originalError;
43590
+ }
43591
+ }
43592
+
43593
+ class InvalidAccessTokenError extends Error {
43594
+ constructor(message = "Invalid access token format") {
43595
+ super(message);
43596
+ this.name = "InvalidAccessTokenError";
43597
+ }
43598
+ }
43599
+
43600
+ class FriskBaseURLNotFoundError extends Error {
43601
+ constructor(message = "Frisk base URL not reachable") {
43602
+ super(message);
43603
+ this.name = "FriskBaseURLNotFoundError";
43604
+ }
43605
+ }
43606
+
43607
+ class FriskInvalidAPIKeyError extends Error {
43608
+ constructor(message = "Invalid Frisk API key") {
43609
+ super(message);
43610
+ this.name = "FriskInvalidAPIKeyError";
43611
+ }
43612
+ }
43613
+
43614
+ class UnexpectedFriskServerResponseError extends Error {
43615
+ constructor(message = "Unexpected response from Frisk server") {
43616
+ super(message);
43617
+ this.name = "UnexpectedFriskServerResponseError";
43618
+ }
43619
+ }
43620
+
43621
+ class MissingToolPoliciesExtensionError extends FriskError {
43622
+ constructor(options) {
43623
+ super("decide_tool_call requires the tool policies extension. Install and register the @friskai/frisk-js-tool-policies extension; calling frisk.connect() alone is not sufficient.", options);
43624
+ this.name = "MissingToolPoliciesExtensionError";
43625
+ }
43626
+ }
43627
+
43628
+ class ToolCallSpanNotInitializedError extends Error {
43629
+ constructor(message = "Tool call span has not been initialized. Call enter() first.") {
43630
+ super(message);
43631
+ this.name = "ToolCallSpanNotInitializedError";
43632
+ }
43633
+ }
43634
+
43635
+ // src/logging/console-logger.ts
43636
+ var LEVEL_PRIORITY = {
43637
+ error: 0,
43638
+ warn: 1,
43639
+ info: 2,
43640
+ debug: 3,
43641
+ trace: 4
43642
+ };
43643
+ function shouldLog(configured, level) {
43644
+ if (configured === "silent")
43645
+ return false;
43646
+ return LEVEL_PRIORITY[level] <= LEVEL_PRIORITY[configured];
43647
+ }
43648
+ function isErrorLike(value) {
43649
+ return value instanceof Error || typeof value === "object" && value !== null && "message" in value && "stack" in value;
43650
+ }
43651
+ function formatArgs(level, bindings, args) {
43652
+ const prefix = bindings ? `[sdk=${bindings.sdk ?? "sdk"}${bindings.component ? `:${bindings.component}` : ""}]` : "";
43653
+ if (args.length === 0)
43654
+ return [prefix];
43655
+ const [first, ...rest] = args;
43656
+ if (isErrorLike(first)) {
43657
+ return [
43658
+ prefix,
43659
+ first,
43660
+ ...rest,
43661
+ bindings ? { ...bindings } : undefined
43662
+ ].filter(Boolean);
43663
+ }
43664
+ return [prefix, ...args, bindings ? { ...bindings } : undefined].filter(Boolean);
43665
+ }
43666
+ function consoleLogger(level = "info", bindings) {
43667
+ const make = (method) => (...args) => {
43668
+ if (!shouldLog(level, method))
43669
+ return;
43670
+ const formatted = formatArgs(method, bindings, args);
43671
+ switch (method) {
43672
+ case "error":
43673
+ console.error(...formatted);
43674
+ break;
43675
+ case "warn":
43676
+ console.warn(...formatted);
43677
+ break;
43678
+ case "info":
43679
+ console.info(...formatted);
43680
+ break;
43681
+ case "debug":
43682
+ console.debug(...formatted);
43683
+ break;
43684
+ case "trace":
43685
+ console.trace(...formatted);
43686
+ break;
43687
+ }
43688
+ };
43689
+ return {
43690
+ error: make("error"),
43691
+ warn: make("warn"),
43692
+ info: make("info"),
43693
+ debug: make("debug"),
43694
+ trace: make("trace"),
43695
+ child(childBindings) {
43696
+ return consoleLogger(level, {
43697
+ ...bindings,
43698
+ ...childBindings
43699
+ });
43700
+ }
43701
+ };
43702
+ }
43703
+
43704
+ // src/logging/derive-sdk-logger.ts
43705
+ function deriveSdkLogger(options = {}, bindings = {}) {
43706
+ const { logger, logLevel = "error" } = options;
43707
+ if (!logger) {
43708
+ return consoleLogger(logLevel, bindings);
43709
+ }
43710
+ let scoped;
43711
+ if (typeof logger.child === "function") {
43712
+ scoped = logger.child(bindings);
43713
+ if (logLevel !== "silent" && "level" in scoped) {
43714
+ try {
43715
+ scoped.level = logLevel;
43716
+ } catch {}
43717
+ }
43718
+ return scoped;
43719
+ }
43720
+ return wrapLogger(logger, bindings);
43721
+ }
43722
+ function wrapLogger(base, bindings) {
43723
+ const wrap = (method) => (...args) => {
43724
+ if (typeof base[method] !== "function")
43725
+ return;
43726
+ base[method](...args, bindings);
43727
+ };
43728
+ return {
43729
+ trace: wrap("trace"),
43730
+ debug: wrap("debug"),
43731
+ info: wrap("info"),
43732
+ warn: wrap("warn"),
43733
+ error: wrap("error")
43734
+ };
43735
+ }
43736
+ // src/logging/log-error.ts
43737
+ function logError(logger, message, error, meta) {
43738
+ if (!logger?.error) {
43739
+ return;
43740
+ }
43741
+ if (error !== undefined) {
43742
+ logger.error(error, message, meta);
43743
+ } else if (meta) {
43744
+ logger.error(message, meta);
43745
+ } else {
43746
+ logger.error(message);
43747
+ }
43748
+ }
43749
+ // src/errors/capture-error.ts
43750
+ function captureError(e, logger, meta) {
43751
+ logError(logger, e.message, e, meta);
43752
+ }
43753
+
43754
+ // src/telemetry/constants.ts
43755
+ var TRACER_NAME = "frisk_js_sdk";
43756
+ var TRACER_VERSION = "0.1.0";
43757
+ var SPAN_NAME_DECIDE_TOOL_CALL = "frisk.tool_call.decide";
43758
+ var SPAN_NAME_OBSERVE_TOOL_CALL = "frisk.tool_call.observation";
43759
+ var SPAN_NAME_FRISK_SESSION = "frisk.session";
43760
+ var ATTRIBUTE_NAME_SESSION_PROMPT = "frisk.session.prompt";
43761
+ var ATTRIBUTE_NAME_SESSION_ID = "frisk.session.id";
43762
+ var ATTRIBUTE_NAME_REMOTE_SESSION_ID = "frisk.session.remote_id";
43763
+ var ATTRIBUTE_NAME_LLM_REASONING = "frisk.llm_reasoning";
43764
+ var ATTRIBUTE_NAME_TOOL_NAME = "frisk.tool.name";
43765
+ var ATTRIBUTE_NAME_FRISK_TOOL_ID = "frisk.tool.id";
43766
+ var ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID = "frisk.tool.version_id";
43767
+ var ATTRIBUTE_NAME_TOOL_CALL_ID = "frisk.tool_call.id";
43768
+ var ATTRIBUTE_NAME_TOOL_ARGS_JSON = "frisk.tool.args.json";
43769
+ var ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON = "frisk.tool.args_redacted_paths.json";
43770
+ var ATTRIBUTE_NAME_AGENT_STATE_JSON = "frisk.agent_state.json";
43771
+ var ATTRIBUTE_NAME_AGENT_STATE_REDACTED_PATHS_JSON = "frisk.agent_state_redacted_paths.json";
43772
+ var ATTRIBUTE_NAME_DECISION_MATCHED_RULE_COUNT = "frisk.decision.matched_rule_count";
43773
+ var ATTRIBUTE_NAME_DECISION_OUTCOME = "frisk.decision.outcome";
43774
+ var ATTRIBUTE_NAME_DECISION_REASON = "frisk.decision.reason";
43775
+ var ATTRIBUTE_NAME_ERROR_TYPE = "error.type";
43776
+ var ATTRIBUTE_NAME_ERROR_MESSAGE = "error.message";
43777
+ var ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS = "frisk.tool_call.is_success";
43778
+ var ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR = "frisk.tool_call.is_error";
43779
+ var ATTRIBUTE_NAME_TOOL_CALL_COUNT = "frisk.tool_calls.count";
43780
+ var ATTRIBUTE_NAME_TOOL_CALL_ERROR_COUNT = "frisk.tool_calls.error_count";
43781
+ var ATTRIBUTE_NAME_TOOL_CALL_SEQUENCE_NUMBER = "frisk.tool_call.sequence_number";
43782
+
43492
43783
  // ../../node_modules/zod/v4/core/core.js
43493
43784
  var NEVER = Object.freeze({
43494
43785
  status: "aborted"
@@ -44391,10 +44682,10 @@ var ksuid = /^[A-Za-z0-9]{27}$/;
44391
44682
  var nanoid = /^[a-zA-Z0-9_-]{21}$/;
44392
44683
  var duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
44393
44684
  var guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
44394
- var uuid = (version) => {
44395
- if (!version)
44685
+ var uuid2 = (version2) => {
44686
+ if (!version2)
44396
44687
  return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
44397
- return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
44688
+ return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version2}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
44398
44689
  };
44399
44690
  var email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
44400
44691
  var _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
@@ -44701,7 +44992,7 @@ class Doc {
44701
44992
  }
44702
44993
 
44703
44994
  // ../../node_modules/zod/v4/core/versions.js
44704
- var version = {
44995
+ var version2 = {
44705
44996
  major: 4,
44706
44997
  minor: 3,
44707
44998
  patch: 6
@@ -44713,7 +45004,7 @@ var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
44713
45004
  inst ?? (inst = {});
44714
45005
  inst._zod.def = def;
44715
45006
  inst._zod.bag = inst._zod.bag || {};
44716
- inst._zod.version = version;
45007
+ inst._zod.version = version2;
44717
45008
  const checks = [...inst._zod.def.checks ?? []];
44718
45009
  if (inst._zod.traits.has("$ZodCheck")) {
44719
45010
  checks.unshift(inst);
@@ -44859,9 +45150,9 @@ var $ZodUUID = /* @__PURE__ */ $constructor("$ZodUUID", (inst, def) => {
44859
45150
  const v = versionMap[def.version];
44860
45151
  if (v === undefined)
44861
45152
  throw new Error(`Invalid UUID version: "${def.version}"`);
44862
- def.pattern ?? (def.pattern = uuid(v));
45153
+ def.pattern ?? (def.pattern = uuid2(v));
44863
45154
  } else
44864
- def.pattern ?? (def.pattern = uuid());
45155
+ def.pattern ?? (def.pattern = uuid2());
44865
45156
  $ZodStringFormat.init(inst, def);
44866
45157
  });
44867
45158
  var $ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => {
@@ -47332,7 +47623,7 @@ var ZodRealError = $constructor("ZodError", initializer2, {
47332
47623
  });
47333
47624
 
47334
47625
  // ../../node_modules/zod/v4/classic/parse.js
47335
- var parse3 = /* @__PURE__ */ _parse(ZodRealError);
47626
+ var parse4 = /* @__PURE__ */ _parse(ZodRealError);
47336
47627
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
47337
47628
  var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
47338
47629
  var safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
@@ -47375,7 +47666,7 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
47375
47666
  reg.add(inst, meta2);
47376
47667
  return inst;
47377
47668
  };
47378
- inst.parse = (data, params) => parse3(inst, data, params, { callee: inst.parse });
47669
+ inst.parse = (data, params) => parse4(inst, data, params, { callee: inst.parse });
47379
47670
  inst.safeParse = (data, params) => safeParse2(inst, data, params);
47380
47671
  inst.parseAsync = async (data, params) => parseAsync2(inst, data, params, { callee: inst.parseAsync });
47381
47672
  inst.safeParseAsync = async (data, params) => safeParseAsync2(inst, data, params);
@@ -47890,157 +48181,388 @@ function removeLlmReasoningArg(input) {
47890
48181
  return inputClone;
47891
48182
  }
47892
48183
 
47893
- // src/logging/console-logger.ts
47894
- var LEVEL_PRIORITY = {
47895
- error: 0,
47896
- warn: 1,
47897
- info: 2,
47898
- debug: 3,
47899
- trace: 4
47900
- };
47901
- function shouldLog(configured, level) {
47902
- if (configured === "silent")
47903
- return false;
47904
- return LEVEL_PRIORITY[level] <= LEVEL_PRIORITY[configured];
48184
+ // src/core/session-registry.ts
48185
+ class SessionRegistry {
48186
+ static instance = null;
48187
+ sessions = new Map;
48188
+ static getInstance() {
48189
+ if (!SessionRegistry.instance) {
48190
+ SessionRegistry.instance = new SessionRegistry;
48191
+ }
48192
+ return SessionRegistry.instance;
48193
+ }
48194
+ constructor() {}
48195
+ register(sessionId, session) {
48196
+ this.sessions.set(sessionId, session);
48197
+ }
48198
+ get(sessionId) {
48199
+ const session = this.sessions.get(sessionId);
48200
+ if (!session) {
48201
+ throw new SessionNotFoundError(sessionId);
48202
+ }
48203
+ return session;
48204
+ }
48205
+ has(sessionId) {
48206
+ return this.sessions.has(sessionId);
48207
+ }
48208
+ unregister(sessionId) {
48209
+ return this.sessions.delete(sessionId);
48210
+ }
48211
+ clear() {
48212
+ this.sessions.clear();
48213
+ }
48214
+ get size() {
48215
+ return this.sessions.size;
48216
+ }
47905
48217
  }
47906
- function isErrorLike(value) {
47907
- return value instanceof Error || typeof value === "object" && value !== null && "message" in value && "stack" in value;
48218
+
48219
+ // src/core/tool-call-span.ts
48220
+ var import_api = __toESM(require_src(), 1);
48221
+
48222
+ // src/core/redaction-options.ts
48223
+ function resolveRedactionOptions(options) {
48224
+ return {
48225
+ redactToolArgs: options?.redactToolArgs ?? false,
48226
+ redactAgentState: options?.redactAgentState ?? false
48227
+ };
47908
48228
  }
47909
- function formatArgs(level, bindings, args) {
47910
- const prefix = bindings ? `[sdk=${bindings.sdk ?? "sdk"}${bindings.component ? `:${bindings.component}` : ""}]` : "";
47911
- if (args.length === 0)
47912
- return [prefix];
47913
- const [first, ...rest] = args;
47914
- if (isErrorLike(first)) {
47915
- return [
47916
- prefix,
47917
- first,
47918
- ...rest,
47919
- bindings ? { ...bindings } : undefined
47920
- ].filter(Boolean);
48229
+
48230
+ // src/core/tool-call-span.ts
48231
+ class ToolCallSpan {
48232
+ adapter;
48233
+ toolCall;
48234
+ friskToolId;
48235
+ agentState;
48236
+ parent;
48237
+ tracer;
48238
+ redaction;
48239
+ _span = null;
48240
+ _traceContextCarrier = null;
48241
+ sessionId;
48242
+ friskToolVersionId;
48243
+ constructor({
48244
+ sessionId,
48245
+ adapter,
48246
+ toolCall,
48247
+ friskToolId,
48248
+ friskToolVersionId,
48249
+ agentState,
48250
+ parent,
48251
+ tracer,
48252
+ redact
48253
+ }) {
48254
+ this.sessionId = sessionId;
48255
+ this.adapter = adapter;
48256
+ this.toolCall = toolCall;
48257
+ this.friskToolId = friskToolId ?? null;
48258
+ this.friskToolVersionId = friskToolVersionId ?? null;
48259
+ this.agentState = agentState;
48260
+ this.parent = parent;
48261
+ this.tracer = tracer;
48262
+ this.redaction = resolveRedactionOptions(redact);
47921
48263
  }
47922
- return [prefix, ...args, bindings ? { ...bindings } : undefined].filter(Boolean);
47923
- }
47924
- function consoleLogger(level = "info", bindings) {
47925
- const make = (method) => (...args) => {
47926
- if (!shouldLog(level, method))
48264
+ get span() {
48265
+ if (!this._span) {
48266
+ throw new ToolCallSpanNotInitializedError;
48267
+ }
48268
+ return this._span;
48269
+ }
48270
+ get traceContextCarrier() {
48271
+ return this._traceContextCarrier;
48272
+ }
48273
+ run(callback) {
48274
+ this.enter();
48275
+ try {
48276
+ return callback(this);
48277
+ } finally {
48278
+ this.exit();
48279
+ }
48280
+ }
48281
+ async runAsync(callback) {
48282
+ this.enter();
48283
+ try {
48284
+ return await callback(this);
48285
+ } finally {
48286
+ this.exit();
48287
+ }
48288
+ }
48289
+ setAttribute(key, value) {
48290
+ this.span.setAttribute(key, value);
48291
+ }
48292
+ setAttributes(attributes) {
48293
+ this.span.setAttributes(attributes);
48294
+ }
48295
+ saveResult(decision) {
48296
+ if (!this.span) {
47927
48297
  return;
47928
- const formatted = formatArgs(method, bindings, args);
47929
- switch (method) {
47930
- case "error":
47931
- console.error(...formatted);
47932
- break;
47933
- case "warn":
47934
- console.warn(...formatted);
47935
- break;
47936
- case "info":
47937
- console.info(...formatted);
47938
- break;
47939
- case "debug":
47940
- console.debug(...formatted);
47941
- break;
47942
- case "trace":
47943
- console.trace(...formatted);
47944
- break;
47945
48298
  }
47946
- };
47947
- return {
47948
- error: make("error"),
47949
- warn: make("warn"),
47950
- info: make("info"),
47951
- debug: make("debug"),
47952
- trace: make("trace"),
47953
- child(childBindings) {
47954
- return consoleLogger(level, {
47955
- ...bindings,
47956
- ...childBindings
47957
- });
48299
+ this.setAttributes({
48300
+ [ATTRIBUTE_NAME_DECISION_OUTCOME]: decision.outcome,
48301
+ [ATTRIBUTE_NAME_DECISION_MATCHED_RULE_COUNT]: Number(decision.rulesMatchedCount)
48302
+ });
48303
+ if (decision.reason) {
48304
+ this.setAttribute(ATTRIBUTE_NAME_DECISION_REASON, decision.reason);
47958
48305
  }
47959
- };
48306
+ }
48307
+ saveError(error2) {
48308
+ if (!this.span) {
48309
+ return;
48310
+ }
48311
+ const errorMessage = error2 instanceof Error ? error2.message : String(error2);
48312
+ const errorType = error2 instanceof Error ? error2.constructor.name : typeof error2;
48313
+ this.setAttributes({
48314
+ [ATTRIBUTE_NAME_ERROR_TYPE]: errorType,
48315
+ [ATTRIBUTE_NAME_ERROR_MESSAGE]: errorMessage
48316
+ });
48317
+ }
48318
+ enter() {
48319
+ const parentContext = this.parent ? import_api.trace.setSpan(import_api.context.active(), this.parent) : import_api.context.active();
48320
+ const redactedToolArgsResult = this.adapter.serializeToolArgs(removeLlmReasoningArg(this.toolCall.args), { redact: this.redaction.redactToolArgs });
48321
+ const redactedAgentStateResult = this.adapter.serializeAgentState(this.agentState, { redact: this.redaction.redactAgentState });
48322
+ this._span = this.tracer.startSpan(SPAN_NAME_DECIDE_TOOL_CALL, {
48323
+ attributes: {
48324
+ [ATTRIBUTE_NAME_SESSION_ID]: this.sessionId,
48325
+ [ATTRIBUTE_NAME_TOOL_NAME]: this.toolCall.name,
48326
+ ...this.friskToolId !== null ? { [ATTRIBUTE_NAME_FRISK_TOOL_ID]: this.friskToolId } : {},
48327
+ ...this.friskToolVersionId !== null ? {
48328
+ [ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID]: this.friskToolVersionId
48329
+ } : {},
48330
+ [ATTRIBUTE_NAME_TOOL_CALL_ID]: this.toolCall.id,
48331
+ [ATTRIBUTE_NAME_TOOL_ARGS_JSON]: redactedToolArgsResult.value ?? "",
48332
+ [ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON]: JSON.stringify(redactedToolArgsResult.redactedPaths),
48333
+ [ATTRIBUTE_NAME_AGENT_STATE_JSON]: redactedAgentStateResult.value ?? "",
48334
+ [ATTRIBUTE_NAME_AGENT_STATE_REDACTED_PATHS_JSON]: JSON.stringify(redactedAgentStateResult.redactedPaths)
48335
+ }
48336
+ }, parentContext);
48337
+ this._traceContextCarrier = {};
48338
+ const spanContext = import_api.trace.setSpan(import_api.context.active(), this.span);
48339
+ import_api.propagation.inject(spanContext, this._traceContextCarrier);
48340
+ }
48341
+ exit() {
48342
+ if (!this.span) {
48343
+ return;
48344
+ }
48345
+ this.span.end();
48346
+ }
47960
48347
  }
47961
48348
 
47962
- // src/logging/derive-sdk-logger.ts
47963
- function deriveSdkLogger(options = {}, bindings = {}) {
47964
- const { logger, logLevel = "error" } = options;
47965
- if (!logger) {
47966
- return consoleLogger(logLevel, bindings);
48349
+ // src/core/types.ts
48350
+ var DecisionOutcome;
48351
+ ((DecisionOutcome2) => {
48352
+ DecisionOutcome2["ALLOW"] = "allow";
48353
+ DecisionOutcome2["DENY"] = "deny";
48354
+ DecisionOutcome2["ERROR"] = "error";
48355
+ DecisionOutcome2["ESCALATE"] = "escalate";
48356
+ })(DecisionOutcome ||= {});
48357
+
48358
+ // src/core/frisk-session.ts
48359
+ class FriskSession {
48360
+ frisk;
48361
+ id;
48362
+ _rootSpan = null;
48363
+ redaction;
48364
+ tracer;
48365
+ logger;
48366
+ _rootRunId = null;
48367
+ _isTracing = false;
48368
+ _agentState = null;
48369
+ toolCallSequenceNumber = 0;
48370
+ toolCallSequenceGenerator = this.createToolCallSequenceGenerator();
48371
+ toolCallErrorCount = 0;
48372
+ constructor({ frisk, redact, tracer, logging }) {
48373
+ const sessionId = this.constructor.generateSessionId();
48374
+ this.logger = deriveSdkLogger(logging, {
48375
+ component: "FriskSession"
48376
+ });
48377
+ this.frisk = frisk;
48378
+ this.id = sessionId;
48379
+ this.redaction = redact;
48380
+ this.tracer = tracer;
47967
48381
  }
47968
- let scoped;
47969
- if (typeof logger.child === "function") {
47970
- scoped = logger.child(bindings);
47971
- if (logLevel !== "silent" && "level" in scoped) {
48382
+ get rootSpan() {
48383
+ return this._rootSpan;
48384
+ }
48385
+ getTracer() {
48386
+ return this.tracer;
48387
+ }
48388
+ get isTracing() {
48389
+ return this._isTracing;
48390
+ }
48391
+ get rootRunId() {
48392
+ return this._rootRunId;
48393
+ }
48394
+ async createToolCallSpan({
48395
+ name,
48396
+ args: toolArgsInput,
48397
+ agentState
48398
+ }) {
48399
+ const toolArgs = this.validateToolArgs(toolArgsInput);
48400
+ const redactedToolArgsResult = this.frisk.adapter?.serializeToolArgs(removeLlmReasoningArg(toolArgs), { redact: this.redaction.redactToolArgs }) ?? {
48401
+ value: "{}",
48402
+ redactedPaths: []
48403
+ };
48404
+ const agentStateToUse = agentState ?? this._agentState ?? {};
48405
+ const redactedAgentStateResult = this.frisk.adapter?.serializeAgentState(agentStateToUse, { redact: this.redaction.redactAgentState }) ?? {
48406
+ value: "{}",
48407
+ redactedPaths: []
48408
+ };
48409
+ const sessionSpan = this.rootSpan;
48410
+ const parentContext = sessionSpan ? import_api2.trace.setSpan(import_api2.context.active(), sessionSpan) : import_api2.context.active();
48411
+ const spanAttributes = {
48412
+ [ATTRIBUTE_NAME_SESSION_ID]: this.id,
48413
+ [ATTRIBUTE_NAME_TOOL_NAME]: name,
48414
+ [ATTRIBUTE_NAME_TOOL_ARGS_JSON]: redactedToolArgsResult.value,
48415
+ [ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON]: JSON.stringify(redactedToolArgsResult.redactedPaths),
48416
+ [ATTRIBUTE_NAME_AGENT_STATE_JSON]: redactedAgentStateResult.value ?? "{}",
48417
+ [ATTRIBUTE_NAME_AGENT_STATE_REDACTED_PATHS_JSON]: JSON.stringify(redactedAgentStateResult.redactedPaths),
48418
+ [ATTRIBUTE_NAME_TOOL_CALL_SEQUENCE_NUMBER]: this.toolCallSequenceGenerator.next().value
48419
+ };
48420
+ await this.frisk.toolRegistrationComplete;
48421
+ const registeredTool = this.frisk.getRegisteredTool(name);
48422
+ if (registeredTool) {
48423
+ spanAttributes[ATTRIBUTE_NAME_FRISK_TOOL_ID] = registeredTool.id;
48424
+ spanAttributes[ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID] = registeredTool.versionId;
48425
+ }
48426
+ const span = this.getTracer().startSpan(SPAN_NAME_OBSERVE_TOOL_CALL, {
48427
+ attributes: spanAttributes
48428
+ }, parentContext);
48429
+ return span;
48430
+ }
48431
+ closeToolCallSpan({
48432
+ toolCallId,
48433
+ span,
48434
+ err,
48435
+ status
48436
+ }) {
48437
+ if (toolCallId) {
48438
+ span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_ID, toolCallId);
48439
+ }
48440
+ if (status === "error" /* Error */ || !!err) {
48441
+ this.incrementToolCallErrors();
48442
+ span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR, true);
48443
+ span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS, false);
48444
+ } else if (status === "success" /* Success */) {
48445
+ span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS, true);
48446
+ span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR, false);
48447
+ }
48448
+ if (err && err instanceof Error) {
48449
+ span.setAttribute(ATTRIBUTE_NAME_ERROR_MESSAGE, `${err}`);
48450
+ span.setAttribute(ATTRIBUTE_NAME_ERROR_TYPE, `${err.constructor.name}`);
48451
+ }
48452
+ span.end();
48453
+ }
48454
+ validateToolArgs(parsedToolArgs) {
48455
+ const isPlainObject2 = typeof parsedToolArgs === "object" && parsedToolArgs !== null && !Array.isArray(parsedToolArgs) && (Object.getPrototypeOf(parsedToolArgs) === Object.prototype || Object.getPrototypeOf(parsedToolArgs) === null);
48456
+ const toolArgs = isPlainObject2 ? parsedToolArgs : {};
48457
+ return toolArgs;
48458
+ }
48459
+ decideToolCall({
48460
+ toolCall,
48461
+ agentState
48462
+ }) {
48463
+ const registeredTool = this.frisk.getRegisteredTool(toolCall.name);
48464
+ const toolCallSpan = new ToolCallSpan({
48465
+ sessionId: this.id,
48466
+ adapter: this.frisk.adapter,
48467
+ toolCall,
48468
+ friskToolId: registeredTool?.id ?? null,
48469
+ friskToolVersionId: registeredTool?.versionId ?? null,
48470
+ agentState,
48471
+ parent: this._rootSpan,
48472
+ tracer: this.tracer,
48473
+ redact: this.redaction
48474
+ });
48475
+ const toolArgs = toolCall.args;
48476
+ return toolCallSpan.run((span) => {
47972
48477
  try {
47973
- scoped.level = logLevel;
47974
- } catch {}
48478
+ if (LLM_REASONING_ARG_NAME in toolArgs) {
48479
+ const llmReasoning = toolArgs[LLM_REASONING_ARG_NAME];
48480
+ span.setAttribute(ATTRIBUTE_NAME_LLM_REASONING, llmReasoning);
48481
+ }
48482
+ const baseToolCallArgs = removeLlmReasoningArg(toolCall.args);
48483
+ const coreResult = this.frisk.decideToolCall({
48484
+ toolCall: {
48485
+ ...toolCall,
48486
+ args: baseToolCallArgs
48487
+ },
48488
+ agentState,
48489
+ traceContextCarrier: span.traceContextCarrier ?? undefined
48490
+ });
48491
+ const result = {
48492
+ outcome: coreResult.outcome,
48493
+ rulesMatchedCount: coreResult.rulesMatchedCount,
48494
+ reason: coreResult.reason,
48495
+ policyId: coreResult.policyId,
48496
+ policyVersionId: coreResult.policyVersionId
48497
+ };
48498
+ span.saveResult(result);
48499
+ return result;
48500
+ } catch (error2) {
48501
+ const wrapped = new ToolCallEvaluationError(error2);
48502
+ captureError(wrapped, this.logger, {
48503
+ toolName: toolCall.name,
48504
+ toolCallId: toolCall.id
48505
+ });
48506
+ span.saveError(wrapped);
48507
+ return {
48508
+ outcome: "error" /* ERROR */,
48509
+ rulesMatchedCount: 0,
48510
+ reason: wrapped.message
48511
+ };
48512
+ }
48513
+ });
48514
+ }
48515
+ *createToolCallSequenceGenerator() {
48516
+ while (true) {
48517
+ yield this.toolCallSequenceNumber++;
47975
48518
  }
47976
- return scoped;
47977
48519
  }
47978
- return wrapLogger(logger, bindings);
47979
- }
47980
- function wrapLogger(base, bindings) {
47981
- const wrap = (method) => (...args) => {
47982
- if (typeof base[method] !== "function")
47983
- return;
47984
- base[method](...args, bindings);
47985
- };
47986
- return {
47987
- trace: wrap("trace"),
47988
- debug: wrap("debug"),
47989
- info: wrap("info"),
47990
- warn: wrap("warn"),
47991
- error: wrap("error")
47992
- };
47993
- }
47994
- // src/logging/log-error.ts
47995
- function logError(logger, message, error2, meta2) {
47996
- if (!logger?.error) {
47997
- return;
48520
+ getToolCallCount() {
48521
+ return this.toolCallSequenceNumber;
47998
48522
  }
47999
- if (error2 !== undefined) {
48000
- logger.error(error2, message, meta2);
48001
- } else if (meta2) {
48002
- logger.error(message, meta2);
48003
- } else {
48004
- logger.error(message);
48523
+ incrementToolCallErrors() {
48524
+ this.toolCallErrorCount += 1;
48525
+ }
48526
+ getToolCallErrorCount() {
48527
+ return this.toolCallErrorCount;
48528
+ }
48529
+ initTracing({ runId, agentState }) {
48530
+ this._rootRunId = runId;
48531
+ this._isTracing = true;
48532
+ this._agentState = agentState;
48533
+ const span = this.tracer.startSpan(SPAN_NAME_FRISK_SESSION);
48534
+ span.setAttribute(ATTRIBUTE_NAME_SESSION_ID, this.id);
48535
+ span.setAttribute(ATTRIBUTE_NAME_REMOTE_SESSION_ID, runId);
48536
+ const userPrompt = this.frisk.adapter.extractPrompt?.(agentState);
48537
+ if (userPrompt) {
48538
+ span.setAttribute(ATTRIBUTE_NAME_SESSION_PROMPT, userPrompt);
48539
+ }
48540
+ this.setRootSpan(span);
48541
+ return span;
48542
+ }
48543
+ endTracing() {
48544
+ if (this._rootSpan) {
48545
+ this._rootSpan.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_COUNT, this.getToolCallCount());
48546
+ this._rootSpan.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_ERROR_COUNT, this.getToolCallErrorCount());
48547
+ this._rootSpan.end();
48548
+ }
48549
+ this._isTracing = false;
48550
+ const registry2 = SessionRegistry.getInstance();
48551
+ registry2.unregister(this.id);
48552
+ }
48553
+ setRootSpan(span) {
48554
+ this._rootSpan = span;
48555
+ }
48556
+ static generateSessionId() {
48557
+ return v4();
48005
48558
  }
48006
- }
48007
- // src/errors/capture-error.ts
48008
- function captureError(e, logger, meta2) {
48009
- logError(logger, e.message, e, meta2);
48010
48559
  }
48011
48560
 
48012
- // src/telemetry/constants.ts
48013
- var TRACER_NAME = "frisk_js_sdk";
48014
- var TRACER_VERSION = "0.1.0";
48015
- var SPAN_NAME_DECIDE_TOOL_CALL = "frisk.tool_call.decide";
48016
- var SPAN_NAME_OBSERVE_TOOL_CALL = "frisk.tool_call.observation";
48017
- var SPAN_NAME_FRISK_SESSION = "frisk.session";
48018
- var ATTRIBUTE_NAME_SESSION_PROMPT = "frisk.session.prompt";
48019
- var ATTRIBUTE_NAME_SESSION_ID = "frisk.session.id";
48020
- var ATTRIBUTE_NAME_REMOTE_SESSION_ID = "frisk.session.remote_id";
48021
- var ATTRIBUTE_NAME_LLM_REASONING = "frisk.llm_reasoning";
48022
- var ATTRIBUTE_NAME_TOOL_NAME = "frisk.tool.name";
48023
- var ATTRIBUTE_NAME_FRISK_TOOL_ID = "frisk.tool.id";
48024
- var ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID = "frisk.tool.version_id";
48025
- var ATTRIBUTE_NAME_TOOL_CALL_ID = "frisk.tool_call.id";
48026
- var ATTRIBUTE_NAME_TOOL_ARGS_JSON = "frisk.tool.args.json";
48027
- var ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON = "frisk.tool.args_redacted_paths.json";
48028
- var ATTRIBUTE_NAME_AGENT_STATE_JSON = "frisk.agent_state.json";
48029
- var ATTRIBUTE_NAME_AGENT_STATE_REDACTED_PATHS_JSON = "frisk.agent_state_redacted_paths.json";
48030
- var ATTRIBUTE_NAME_DECISION_MATCHED_RULE_COUNT = "frisk.decision.matched_rule_count";
48031
- var ATTRIBUTE_NAME_DECISION_OUTCOME = "frisk.decision.outcome";
48032
- var ATTRIBUTE_NAME_DECISION_REASON = "frisk.decision.reason";
48033
- var ATTRIBUTE_NAME_ERROR_TYPE = "error.type";
48034
- var ATTRIBUTE_NAME_ERROR_MESSAGE = "error.message";
48035
- var ATTRIBUTE_NAME_LATENCY_NS = "latency_ns";
48036
- var ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS = "frisk.tool_call.is_success";
48037
- var ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR = "frisk.tool_call.is_error";
48038
48561
  // src/adapters/langchain/frisk-callback-handler.ts
48039
48562
  class FriskCallbackHandler extends BaseCallbackHandler {
48040
48563
  name = "FriskCallbackHandler";
48041
48564
  session;
48042
48565
  spansByRunId;
48043
- startTimesByRunId;
48044
48566
  frisk;
48045
48567
  logger;
48046
48568
  constructor({
@@ -48052,7 +48574,6 @@ class FriskCallbackHandler extends BaseCallbackHandler {
48052
48574
  this.session = session;
48053
48575
  this.frisk = frisk;
48054
48576
  this.spansByRunId = new Map;
48055
- this.startTimesByRunId = new Map;
48056
48577
  this.logger = deriveSdkLogger(logging, {
48057
48578
  component: "FriskCallbackHandler"
48058
48579
  });
@@ -48061,7 +48582,7 @@ class FriskCallbackHandler extends BaseCallbackHandler {
48061
48582
  if (parentRunId === undefined) {
48062
48583
  this.session.initTracing({
48063
48584
  runId,
48064
- inputs
48585
+ agentState: inputs
48065
48586
  });
48066
48587
  }
48067
48588
  }
@@ -48076,7 +48597,6 @@ class FriskCallbackHandler extends BaseCallbackHandler {
48076
48597
  captureError(new Error(`Langchain invoked handleToolStart without a tool name. This tool call won't be included in Frisk telemetry data.`), this.logger);
48077
48598
  return;
48078
48599
  }
48079
- this.startTimesByRunId.set(runId, process.hrtime.bigint());
48080
48600
  let parsedToolArgs = {};
48081
48601
  try {
48082
48602
  parsedToolArgs = JSON.parse(input);
@@ -48086,118 +48606,60 @@ class FriskCallbackHandler extends BaseCallbackHandler {
48086
48606
  }), this.logger);
48087
48607
  parsedToolArgs = {};
48088
48608
  }
48089
- const isPlainObject2 = typeof parsedToolArgs === "object" && parsedToolArgs !== null && !Array.isArray(parsedToolArgs) && (Object.getPrototypeOf(parsedToolArgs) === Object.prototype || Object.getPrototypeOf(parsedToolArgs) === null);
48090
- const toolArgs = isPlainObject2 ? parsedToolArgs : {};
48091
- const redactedToolArgsResult = this.frisk.adapter?.serializeToolArgs(removeLlmReasoningArg(toolArgs), { redact: this.frisk.redaction.redactToolArgs }) ?? {
48092
- value: "{}",
48093
- redactedPaths: []
48094
- };
48095
- await this.frisk.toolRegistrationComplete;
48096
- const registeredTool = this.frisk.getRegisteredTool(toolName);
48097
- const spanAttributes = {
48098
- [ATTRIBUTE_NAME_SESSION_ID]: this.session.id,
48099
- [ATTRIBUTE_NAME_TOOL_NAME]: toolName,
48100
- [ATTRIBUTE_NAME_TOOL_ARGS_JSON]: redactedToolArgsResult.value,
48101
- [ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON]: JSON.stringify(redactedToolArgsResult.redactedPaths)
48102
- };
48103
- if (registeredTool) {
48104
- spanAttributes[ATTRIBUTE_NAME_FRISK_TOOL_ID] = registeredTool.id;
48105
- spanAttributes[ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID] = registeredTool.versionId;
48106
- }
48107
- const sessionSpan = this.session.rootSpan;
48108
- const parentContext = sessionSpan ? import_api.trace.setSpan(import_api.context.active(), sessionSpan) : import_api.context.active();
48109
- const span = this.session.getTracer().startSpan(SPAN_NAME_OBSERVE_TOOL_CALL, {
48110
- attributes: spanAttributes
48111
- }, parentContext);
48609
+ const span = await this.session.createToolCallSpan({
48610
+ name: toolName,
48611
+ args: parsedToolArgs
48612
+ });
48112
48613
  this.spansByRunId.set(runId, span);
48113
48614
  }
48114
48615
  async handleToolEnd(output, runId, parentRunId, tags) {
48115
48616
  const span = this.spansByRunId.get(runId);
48116
48617
  if (!span) {
48117
48618
  captureError(new Error("Langchain invoked handleToolEnd but no span was found for the given runId. This tool call won't be included in Frisk telemetry data."), this.logger);
48118
- this.startTimesByRunId.delete(runId);
48119
48619
  return;
48120
48620
  }
48121
48621
  const toolCallId = output.tool_call_id;
48122
48622
  const status = output.status;
48123
- const startTimeNs = this.startTimesByRunId.get(runId);
48124
- this.closeSpan({
48623
+ this.closeToolCallSpan({
48125
48624
  toolCallId,
48126
48625
  span,
48127
- startTimeNs,
48128
48626
  status,
48129
48627
  err: null
48130
48628
  });
48131
- this.startTimesByRunId.delete(runId);
48132
48629
  this.spansByRunId.delete(runId);
48133
48630
  }
48134
48631
  async handleToolError(err, runId, parentRunId, tags) {
48135
48632
  const span = this.spansByRunId.get(runId);
48136
48633
  if (!span) {
48137
48634
  captureError(new Error("Langchain invoked handleToolError but no span was found for the given runId. This tool call won't be included in Frisk telemetry data."), this.logger);
48138
- this.startTimesByRunId.delete(runId);
48139
48635
  return;
48140
48636
  }
48141
- const startTimeNs = this.startTimesByRunId.get(runId);
48142
- this.closeSpan({
48637
+ this.closeToolCallSpan({
48143
48638
  toolCallId: null,
48144
48639
  span,
48145
- startTimeNs,
48146
48640
  status: "error",
48147
48641
  err
48148
48642
  });
48149
- this.startTimesByRunId.delete(runId);
48150
48643
  this.spansByRunId.delete(runId);
48151
48644
  }
48152
- closeSpan({
48645
+ closeToolCallSpan({
48153
48646
  toolCallId,
48154
48647
  span,
48155
- startTimeNs,
48156
48648
  status,
48157
48649
  err
48158
48650
  }) {
48159
- if (toolCallId) {
48160
- span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_ID, toolCallId);
48161
- }
48162
- if (startTimeNs) {
48163
- const endTimeNs = process.hrtime.bigint();
48164
- const latencyNs = endTimeNs - startTimeNs;
48165
- span.setAttribute(ATTRIBUTE_NAME_LATENCY_NS, Number(latencyNs));
48166
- }
48167
- if (status === "success") {
48168
- span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS, true);
48169
- span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR, false);
48170
- } else if (status === "error") {
48171
- span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_ERROR, true);
48172
- span.setAttribute(ATTRIBUTE_NAME_TOOL_CALL_IS_SUCCESS, false);
48173
- }
48174
- if (err && err instanceof Error) {
48175
- span.setAttribute(ATTRIBUTE_NAME_ERROR_MESSAGE, `${err}`);
48176
- span.setAttribute(ATTRIBUTE_NAME_ERROR_TYPE, `${err.constructor.name}`);
48177
- }
48178
- span.end();
48651
+ const coreToolCallStatus = status === "success" ? "success" /* Success */ : status === "error" ? "error" /* Error */ : null;
48652
+ this.session.closeToolCallSpan({
48653
+ toolCallId,
48654
+ span,
48655
+ err,
48656
+ status: coreToolCallStatus
48657
+ });
48179
48658
  }
48180
48659
  }
48181
48660
  // src/adapters/langchain/frisk-langchain.ts
48182
48661
  import { createMiddleware } from "langchain";
48183
48662
 
48184
- // ../../node_modules/uuid/wrapper.mjs
48185
- var import_dist = __toESM(require_dist(), 1);
48186
- var v1 = import_dist.default.v1;
48187
- var v1ToV6 = import_dist.default.v1ToV6;
48188
- var v3 = import_dist.default.v3;
48189
- var v4 = import_dist.default.v4;
48190
- var v5 = import_dist.default.v5;
48191
- var v6 = import_dist.default.v6;
48192
- var v6ToV1 = import_dist.default.v6ToV1;
48193
- var v7 = import_dist.default.v7;
48194
- var NIL = import_dist.default.NIL;
48195
- var MAX = import_dist.default.MAX;
48196
- var version2 = import_dist.default.version;
48197
- var validate = import_dist.default.validate;
48198
- var stringify = import_dist.default.stringify;
48199
- var parse5 = import_dist.default.parse;
48200
-
48201
48663
  // src/env/index.ts
48202
48664
  var FRISK_API_KEY = "FRISK_API_KEY";
48203
48665
  var FRISK_BASE_URL = "FRISK_BASE_URL";
@@ -48215,123 +48677,6 @@ function requireEnv(name) {
48215
48677
  return value;
48216
48678
  }
48217
48679
 
48218
- // src/errors/index.ts
48219
- class FriskError extends Error {
48220
- context;
48221
- constructor(message, options) {
48222
- super(message, options);
48223
- this.name = "FriskError";
48224
- this.context = options?.context;
48225
- if (Error.captureStackTrace) {
48226
- Error.captureStackTrace(this, this.constructor);
48227
- }
48228
- }
48229
- }
48230
-
48231
- class MissingAPIKeyError extends FriskError {
48232
- constructor(options) {
48233
- super("Frisk API key is required. Provide it via the apiKey parameter or set the FRISK_API_KEY environment variable.", options);
48234
- this.name = "MissingAPIKeyError";
48235
- }
48236
- }
48237
-
48238
- class MissingBaseURLError extends FriskError {
48239
- constructor(options) {
48240
- super("Frisk base URL is required. Provide it via the baseUrl parameter or set the FRISK_BASE_URL environment variable.", options);
48241
- this.name = "MissingBaseURLError";
48242
- }
48243
- }
48244
-
48245
- class MissingOtlpEndpointError extends FriskError {
48246
- constructor(options) {
48247
- super("Frisk telemetry endpoint is required. Provide it via the telemetryEndpoint parameter or set the FRISK_TELEMETRY_ENDPOINT environment variable.", options);
48248
- this.name = "MissingTelemetryEndpointError";
48249
- }
48250
- }
48251
-
48252
- class SessionNotFoundError extends FriskError {
48253
- constructor(sessionId, options) {
48254
- super(`Session with ID ${sessionId} was not found in the registry.`, options);
48255
- this.name = "SessionNotFoundError";
48256
- }
48257
- }
48258
-
48259
- class MissingFriskSessionContextError extends FriskError {
48260
- constructor(options) {
48261
- super("Frisk session context is missing. Ensure you have created a session with frisk.session() and passed it to the context.", options);
48262
- this.name = "MissingFriskSessionContextError";
48263
- }
48264
- }
48265
-
48266
- class InvalidFriskSessionError extends FriskError {
48267
- constructor(options) {
48268
- super("Invalid Frisk session. The session may have expired or been invalidated.", options);
48269
- this.name = "InvalidFriskSessionError";
48270
- }
48271
- }
48272
-
48273
- class FriskNotInitializedError extends FriskError {
48274
- constructor(options) {
48275
- super("Frisk SDK is not initialized. Call frisk.connect() before using the SDK.", options);
48276
- this.name = "FriskNotInitializedError";
48277
- }
48278
- }
48279
-
48280
- class UnsupportedToolSchemaError extends FriskError {
48281
- constructor(expectedType, options) {
48282
- super(`Unsupported tool schema type. Expected ${expectedType} schema but received an incompatible schema type.`, options);
48283
- this.name = "UnsupportedToolSchemaError";
48284
- }
48285
- }
48286
-
48287
- class ToolCallEvaluationError extends FriskError {
48288
- originalError;
48289
- constructor(originalError, options) {
48290
- const message = `An error occurred while evaluating the tool call.
48291
- The tool call will be allowed by default.
48292
- Original error:
48293
- ${originalError}`;
48294
- super(message, { ...options, cause: originalError });
48295
- this.name = "ToolCallEvaluationError";
48296
- this.originalError = originalError;
48297
- }
48298
- }
48299
-
48300
- class InvalidAccessTokenError extends Error {
48301
- constructor(message = "Invalid access token format") {
48302
- super(message);
48303
- this.name = "InvalidAccessTokenError";
48304
- }
48305
- }
48306
-
48307
- class FriskBaseURLNotFoundError extends Error {
48308
- constructor(message = "Frisk base URL not reachable") {
48309
- super(message);
48310
- this.name = "FriskBaseURLNotFoundError";
48311
- }
48312
- }
48313
-
48314
- class FriskInvalidAPIKeyError extends Error {
48315
- constructor(message = "Invalid Frisk API key") {
48316
- super(message);
48317
- this.name = "FriskInvalidAPIKeyError";
48318
- }
48319
- }
48320
-
48321
- class UnexpectedFriskServerResponseError extends Error {
48322
- constructor(message = "Unexpected response from Frisk server") {
48323
- super(message);
48324
- this.name = "UnexpectedFriskServerResponseError";
48325
- }
48326
- }
48327
-
48328
- class ToolCallSpanNotInitializedError extends Error {
48329
- constructor(message = "Tool call span has not been initialized. Call enter() first.") {
48330
- super(message);
48331
- this.name = "ToolCallSpanNotInitializedError";
48332
- }
48333
- }
48334
-
48335
48680
  // src/utils/redact.ts
48336
48681
  function combineRedactOptions(...options) {
48337
48682
  const paths = [];
@@ -48351,26 +48696,52 @@ function combineRedactOptions(...options) {
48351
48696
  }
48352
48697
  return false;
48353
48698
  }
48354
- function redactDictionarySimple(data, redactOption) {
48699
+ function deleteDotPath(root, path) {
48700
+ const parts = path.split(".").filter((p) => p.length > 0);
48701
+ if (parts.length === 0)
48702
+ return false;
48703
+ let cur = root;
48704
+ for (const key of parts.slice(0, -1)) {
48705
+ if (cur === null || typeof cur !== "object" || Array.isArray(cur))
48706
+ return false;
48707
+ if (!(key in cur))
48708
+ return false;
48709
+ cur = cur[key];
48710
+ }
48711
+ if (cur === null || typeof cur !== "object" || Array.isArray(cur))
48712
+ return false;
48713
+ const last = parts[parts.length - 1];
48714
+ if (!(last in cur))
48715
+ return false;
48716
+ delete cur[last];
48717
+ return true;
48718
+ }
48719
+ function deepClone(obj) {
48720
+ return JSON.parse(JSON.stringify(obj));
48721
+ }
48722
+ function redactObject(data, redactOption) {
48355
48723
  if (redactOption === undefined || redactOption === false) {
48356
48724
  return { value: data, redactedPaths: [] };
48357
48725
  }
48358
- const redactedPaths = [];
48359
- const result = { ...data };
48360
48726
  if (redactOption === true) {
48361
- for (const key of Object.keys(result)) {
48362
- delete result[key];
48363
- redactedPaths.push(key);
48364
- }
48365
- } else if (Array.isArray(redactOption)) {
48366
- for (const path of redactOption) {
48367
- if (path in result) {
48368
- delete result[path];
48369
- redactedPaths.push(path);
48370
- }
48727
+ return { value: {}, redactedPaths: ["*"] };
48728
+ }
48729
+ if (!Array.isArray(redactOption) || redactOption.length === 0) {
48730
+ return { value: data, redactedPaths: [] };
48731
+ }
48732
+ const out = deepClone(data);
48733
+ const hits = [];
48734
+ const seen = new Set;
48735
+ for (const rawPath of redactOption) {
48736
+ const path = rawPath.trim();
48737
+ if (path.length === 0)
48738
+ continue;
48739
+ if (deleteDotPath(out, path) && !seen.has(path)) {
48740
+ seen.add(path);
48741
+ hits.push(path);
48371
48742
  }
48372
48743
  }
48373
- return { value: result, redactedPaths };
48744
+ return { value: out, redactedPaths: hits };
48374
48745
  }
48375
48746
  // src/framework-adapter/base-framework-adapter.ts
48376
48747
  class BaseFrameworkAdapter {
@@ -48397,10 +48768,10 @@ class BaseFrameworkAdapter {
48397
48768
  };
48398
48769
  }
48399
48770
  toolArgsToDict(toolArgs, options) {
48400
- return redactDictionarySimple(toolArgs, options?.redact);
48771
+ return redactObject(toolArgs, options?.redact);
48401
48772
  }
48402
48773
  agentStateToDict(agentState, options) {
48403
- return redactDictionarySimple(agentState, options?.redact);
48774
+ return redactObject(agentState, options?.redact);
48404
48775
  }
48405
48776
  normalizeToolCall(toolCall) {
48406
48777
  return {
@@ -48421,23 +48792,6 @@ class BaseFrameworkAdapter {
48421
48792
  var DefaultWrapToolOptions = {
48422
48793
  captureReasoning: true
48423
48794
  };
48424
-
48425
- // src/native-bindings/index.ts
48426
- import { createRequire as createRequire2 } from "module";
48427
- import { dirname, resolve } from "path";
48428
- var require2 = createRequire2(import.meta.url);
48429
- function resolveNativePath() {
48430
- const injected = process.env.FRISk_NATIVE_BINDINGS_PATH;
48431
- if (injected)
48432
- return injected;
48433
- const pkgJsonPath = require2.resolve("@friskai/frisk-js/package.json");
48434
- const pkgRoot = dirname(pkgJsonPath);
48435
- return resolve(pkgRoot, "native/index.cjs");
48436
- }
48437
- var nativeBindings = require2(resolveNativePath());
48438
- var FriskHandle = nativeBindings.FriskHandle;
48439
- var redactDictionary = nativeBindings.redactDictionary;
48440
-
48441
48795
  // src/telemetry/tracing-manager.ts
48442
48796
  var import_grpc_js = __toESM(require_src4(), 1);
48443
48797
  var import_exporter_trace_otlp_grpc = __toESM(require_src12(), 1);
@@ -48713,304 +49067,6 @@ class AccessTokenProvider {
48713
49067
  }
48714
49068
  }
48715
49069
 
48716
- // src/core/session-registry.ts
48717
- class SessionRegistry {
48718
- static instance = null;
48719
- sessions = new Map;
48720
- static getInstance() {
48721
- if (!SessionRegistry.instance) {
48722
- SessionRegistry.instance = new SessionRegistry;
48723
- }
48724
- return SessionRegistry.instance;
48725
- }
48726
- constructor() {}
48727
- register(sessionId, session) {
48728
- this.sessions.set(sessionId, session);
48729
- }
48730
- get(sessionId) {
48731
- const session = this.sessions.get(sessionId);
48732
- if (!session) {
48733
- throw new SessionNotFoundError(sessionId);
48734
- }
48735
- return session;
48736
- }
48737
- has(sessionId) {
48738
- return this.sessions.has(sessionId);
48739
- }
48740
- unregister(sessionId) {
48741
- return this.sessions.delete(sessionId);
48742
- }
48743
- clear() {
48744
- this.sessions.clear();
48745
- }
48746
- get size() {
48747
- return this.sessions.size;
48748
- }
48749
- }
48750
-
48751
- // src/core/tool-call-span.ts
48752
- var import_api2 = __toESM(require_src(), 1);
48753
-
48754
- // src/core/redaction-options.ts
48755
- function resolveRedactionOptions(options) {
48756
- return {
48757
- redactToolArgs: options?.redactToolArgs ?? false,
48758
- redactAgentState: options?.redactAgentState ?? false
48759
- };
48760
- }
48761
-
48762
- // src/core/tool-call-span.ts
48763
- class ToolCallSpan {
48764
- adapter;
48765
- toolCall;
48766
- friskToolId;
48767
- agentState;
48768
- parent;
48769
- tracer;
48770
- redaction;
48771
- _span = null;
48772
- _startTimeNs = null;
48773
- _traceContextCarrier = null;
48774
- sessionId;
48775
- friskToolVersionId;
48776
- constructor({
48777
- sessionId,
48778
- adapter,
48779
- toolCall,
48780
- friskToolId,
48781
- friskToolVersionId,
48782
- agentState,
48783
- parent,
48784
- tracer,
48785
- redact
48786
- }) {
48787
- this.sessionId = sessionId;
48788
- this.adapter = adapter;
48789
- this.toolCall = toolCall;
48790
- this.friskToolId = friskToolId ?? null;
48791
- this.friskToolVersionId = friskToolVersionId ?? null;
48792
- this.agentState = agentState;
48793
- this.parent = parent;
48794
- this.tracer = tracer;
48795
- this.redaction = resolveRedactionOptions(redact);
48796
- }
48797
- get span() {
48798
- if (!this._span) {
48799
- throw new ToolCallSpanNotInitializedError;
48800
- }
48801
- return this._span;
48802
- }
48803
- get traceContextCarrier() {
48804
- return this._traceContextCarrier;
48805
- }
48806
- run(callback) {
48807
- this.enter();
48808
- try {
48809
- return callback(this);
48810
- } finally {
48811
- this.exit();
48812
- }
48813
- }
48814
- async runAsync(callback) {
48815
- this.enter();
48816
- try {
48817
- return await callback(this);
48818
- } finally {
48819
- this.exit();
48820
- }
48821
- }
48822
- setAttribute(key, value) {
48823
- this.span.setAttribute(key, value);
48824
- }
48825
- setAttributes(attributes) {
48826
- this.span.setAttributes(attributes);
48827
- }
48828
- saveResult(decision) {
48829
- if (!this.span) {
48830
- return;
48831
- }
48832
- this.setAttributes({
48833
- [ATTRIBUTE_NAME_DECISION_OUTCOME]: decision.outcome,
48834
- [ATTRIBUTE_NAME_DECISION_MATCHED_RULE_COUNT]: Number(decision.rulesMatchedCount)
48835
- });
48836
- if (decision.reason) {
48837
- this.setAttribute(ATTRIBUTE_NAME_DECISION_REASON, decision.reason);
48838
- }
48839
- }
48840
- saveError(error2) {
48841
- if (!this.span) {
48842
- return;
48843
- }
48844
- const errorMessage = error2 instanceof Error ? error2.message : String(error2);
48845
- const errorType = error2 instanceof Error ? error2.constructor.name : typeof error2;
48846
- this.setAttributes({
48847
- [ATTRIBUTE_NAME_ERROR_TYPE]: errorType,
48848
- [ATTRIBUTE_NAME_ERROR_MESSAGE]: errorMessage
48849
- });
48850
- }
48851
- enter() {
48852
- const parentContext = this.parent ? import_api2.trace.setSpan(import_api2.context.active(), this.parent) : import_api2.context.active();
48853
- this._startTimeNs = process.hrtime.bigint();
48854
- const redactedToolArgsResult = this.adapter.serializeToolArgs(removeLlmReasoningArg(this.toolCall.args), { redact: this.redaction.redactToolArgs });
48855
- const redactedAgentStateResult = this.adapter.serializeAgentState(this.agentState, { redact: this.redaction.redactAgentState });
48856
- this._span = this.tracer.startSpan(SPAN_NAME_DECIDE_TOOL_CALL, {
48857
- attributes: {
48858
- [ATTRIBUTE_NAME_SESSION_ID]: this.sessionId,
48859
- [ATTRIBUTE_NAME_TOOL_NAME]: this.toolCall.name,
48860
- ...this.friskToolId !== null ? { [ATTRIBUTE_NAME_FRISK_TOOL_ID]: this.friskToolId } : {},
48861
- ...this.friskToolVersionId !== null ? {
48862
- [ATTRIBUTE_NAME_FRISK_TOOL_VERSION_ID]: this.friskToolVersionId
48863
- } : {},
48864
- [ATTRIBUTE_NAME_TOOL_CALL_ID]: this.toolCall.id,
48865
- [ATTRIBUTE_NAME_TOOL_ARGS_JSON]: redactedToolArgsResult.value ?? "",
48866
- [ATTRIBUTE_NAME_TOOL_ARGS_REDACTED_PATHS_JSON]: JSON.stringify(redactedToolArgsResult.redactedPaths),
48867
- [ATTRIBUTE_NAME_AGENT_STATE_JSON]: redactedAgentStateResult.value ?? "",
48868
- [ATTRIBUTE_NAME_AGENT_STATE_REDACTED_PATHS_JSON]: JSON.stringify(redactedAgentStateResult.redactedPaths)
48869
- }
48870
- }, parentContext);
48871
- this._traceContextCarrier = {};
48872
- const spanContext = import_api2.trace.setSpan(import_api2.context.active(), this.span);
48873
- import_api2.propagation.inject(spanContext, this._traceContextCarrier);
48874
- }
48875
- exit() {
48876
- if (!this.span) {
48877
- return;
48878
- }
48879
- if (this._startTimeNs !== null) {
48880
- const endTimeNs = process.hrtime.bigint();
48881
- const latencyNs = endTimeNs - this._startTimeNs;
48882
- this.setAttribute(ATTRIBUTE_NAME_LATENCY_NS, Number(latencyNs));
48883
- }
48884
- this.span.end();
48885
- }
48886
- }
48887
-
48888
- // src/core/types.ts
48889
- var DecisionOutcome;
48890
- ((DecisionOutcome2) => {
48891
- DecisionOutcome2["ALLOW"] = "allow";
48892
- DecisionOutcome2["DENY"] = "deny";
48893
- DecisionOutcome2["ERROR"] = "error";
48894
- DecisionOutcome2["ESCALATE"] = "escalate";
48895
- })(DecisionOutcome ||= {});
48896
-
48897
- // src/core/frisk-session.ts
48898
- class FriskSession {
48899
- frisk;
48900
- id;
48901
- _rootSpan = null;
48902
- redaction;
48903
- tracer;
48904
- logger;
48905
- _rootRunId = null;
48906
- _isTracing = false;
48907
- constructor({ frisk, redact, tracer, logging }) {
48908
- const sessionId = this.constructor.generateSessionId();
48909
- this.logger = deriveSdkLogger(logging, {
48910
- component: "FriskSession"
48911
- });
48912
- this.frisk = frisk;
48913
- this.id = sessionId;
48914
- this.redaction = redact;
48915
- this.tracer = tracer;
48916
- }
48917
- get rootSpan() {
48918
- return this._rootSpan;
48919
- }
48920
- getTracer() {
48921
- return this.tracer;
48922
- }
48923
- get isTracing() {
48924
- return this._isTracing;
48925
- }
48926
- get rootRunId() {
48927
- return this._rootRunId;
48928
- }
48929
- decideToolCall({
48930
- toolCall,
48931
- agentState
48932
- }) {
48933
- const registeredTool = this.frisk.getRegisteredTool(toolCall.name);
48934
- const toolCallSpan = new ToolCallSpan({
48935
- sessionId: this.id,
48936
- adapter: this.frisk.adapter,
48937
- toolCall,
48938
- friskToolId: registeredTool?.id ?? null,
48939
- friskToolVersionId: registeredTool?.versionId ?? null,
48940
- agentState,
48941
- parent: this._rootSpan,
48942
- tracer: this.tracer,
48943
- redact: this.redaction
48944
- });
48945
- const toolArgs = toolCall.args;
48946
- return toolCallSpan.run((span) => {
48947
- try {
48948
- if (LLM_REASONING_ARG_NAME in toolArgs) {
48949
- const llmReasoning = toolArgs[LLM_REASONING_ARG_NAME];
48950
- span.setAttribute(ATTRIBUTE_NAME_LLM_REASONING, llmReasoning);
48951
- }
48952
- const baseToolCallArgs = removeLlmReasoningArg(toolCall.args);
48953
- const coreResult = this.frisk.decideToolCall({
48954
- toolCall: {
48955
- ...toolCall,
48956
- args: baseToolCallArgs
48957
- },
48958
- agentState,
48959
- traceContextCarrier: span.traceContextCarrier ?? undefined
48960
- });
48961
- const result = {
48962
- outcome: coreResult.outcome,
48963
- rulesMatchedCount: coreResult.rulesMatchedCount,
48964
- reason: coreResult.reason,
48965
- policyId: coreResult.policyId,
48966
- policyVersionId: coreResult.policyVersionId
48967
- };
48968
- span.saveResult(result);
48969
- return result;
48970
- } catch (error2) {
48971
- const wrapped = new ToolCallEvaluationError(error2);
48972
- captureError(wrapped, this.logger, {
48973
- toolName: toolCall.name,
48974
- toolCallId: toolCall.id
48975
- });
48976
- span.saveError(wrapped);
48977
- return {
48978
- outcome: "error" /* ERROR */,
48979
- rulesMatchedCount: 0,
48980
- reason: wrapped.message
48981
- };
48982
- }
48983
- });
48984
- }
48985
- initTracing({ runId, inputs }) {
48986
- this._rootRunId = runId;
48987
- this._isTracing = true;
48988
- const span = this.tracer.startSpan(SPAN_NAME_FRISK_SESSION);
48989
- span.setAttribute(ATTRIBUTE_NAME_SESSION_ID, this.id);
48990
- span.setAttribute(ATTRIBUTE_NAME_REMOTE_SESSION_ID, runId);
48991
- const userPrompt = this.frisk.adapter.extractPrompt?.(inputs);
48992
- if (userPrompt) {
48993
- span.setAttribute(ATTRIBUTE_NAME_SESSION_PROMPT, userPrompt);
48994
- }
48995
- this.setRootSpan(span);
48996
- return span;
48997
- }
48998
- endTracing() {
48999
- if (this._rootSpan) {
49000
- this._rootSpan.end();
49001
- }
49002
- this._isTracing = false;
49003
- const registry2 = SessionRegistry.getInstance();
49004
- registry2.unregister(this.id);
49005
- }
49006
- setRootSpan(span) {
49007
- this._rootSpan = span;
49008
- }
49009
- static generateSessionId() {
49010
- return v4();
49011
- }
49012
- }
49013
-
49014
49070
  // src/core/sdk-attributes/detect-runtime.ts
49015
49071
  function detectRuntime() {
49016
49072
  const g = globalThis;
@@ -49046,12 +49102,12 @@ function detectRuntime() {
49046
49102
 
49047
49103
  // src/core/sdk-attributes/read-sdk-meta.ts
49048
49104
  import { existsSync, readFileSync } from "node:fs";
49049
- import { dirname as dirname2, join } from "node:path";
49105
+ import { dirname, join } from "node:path";
49050
49106
  import { fileURLToPath } from "node:url";
49051
49107
 
49052
49108
  // src/generated/sdk-meta.ts
49053
49109
  var SDK_NAME = "@friskai/frisk-js";
49054
- var SDK_VERSION = "0.2.8";
49110
+ var SDK_VERSION = "0.3.0";
49055
49111
 
49056
49112
  // src/core/sdk-attributes/read-sdk-meta.ts
49057
49113
  function getSdkMeta() {
@@ -49085,7 +49141,7 @@ function findNearestPackageJson(startDir) {
49085
49141
  if (existsSync(candidate)) {
49086
49142
  return candidate;
49087
49143
  }
49088
- const parent = dirname2(dir);
49144
+ const parent = dirname(dir);
49089
49145
  if (parent === dir) {
49090
49146
  return null;
49091
49147
  }
@@ -49094,7 +49150,7 @@ function findNearestPackageJson(startDir) {
49094
49150
  }
49095
49151
  function tryReadPackageJson() {
49096
49152
  try {
49097
- const here = dirname2(fileURLToPath(import.meta.url));
49153
+ const here = dirname(fileURLToPath(import.meta.url));
49098
49154
  const pkgPath = findNearestPackageJson(here);
49099
49155
  if (!pkgPath)
49100
49156
  return null;
@@ -49462,6 +49518,9 @@ class ToolRegistry {
49462
49518
 
49463
49519
  // src/core/frisk.ts
49464
49520
  class Frisk {
49521
+ get toolPoliciesAvailable() {
49522
+ return this.toolPolicies?.available ?? false;
49523
+ }
49465
49524
  get redaction() {
49466
49525
  return this._redaction;
49467
49526
  }
@@ -49469,24 +49528,34 @@ class Frisk {
49469
49528
  apiBaseUrl;
49470
49529
  otlpEndpoint;
49471
49530
  accessTokenProvider;
49531
+ get adapter() {
49532
+ return this._adapter;
49533
+ }
49534
+ get logLevel() {
49535
+ return this._logLevel;
49536
+ }
49537
+ get tracingManager() {
49538
+ if (!this._tracingManager) {
49539
+ throw new FriskNotInitializedError;
49540
+ }
49541
+ return this._tracingManager;
49542
+ }
49472
49543
  initialized = false;
49473
49544
  rootLogger;
49474
49545
  logger;
49475
49546
  _logLevel;
49476
49547
  _adapter;
49477
- _friskHandle = null;
49478
49548
  _tracingManager = null;
49479
- _toolRegistry;
49549
+ toolRegistry;
49480
49550
  sdkAttributes;
49551
+ extensions = [];
49552
+ toolPolicies = null;
49481
49553
  wrapToolsCalled = false;
49482
49554
  get toolRegistrationComplete() {
49483
49555
  if (!this.wrapToolsCalled) {
49484
49556
  return Promise.resolve(true);
49485
49557
  }
49486
- return this._toolRegistry.initialized;
49487
- }
49488
- get logLevel() {
49489
- return this._logLevel;
49558
+ return this.toolRegistry.initialized;
49490
49559
  }
49491
49560
  static async connect(options) {
49492
49561
  const instance = new this(options);
@@ -49500,7 +49569,7 @@ class Frisk {
49500
49569
  this._logLevel = options?.logging?.logLevel;
49501
49570
  this.logger = deriveSdkLogger({
49502
49571
  logger: this.rootLogger,
49503
- logLevel: this._logLevel
49572
+ logLevel: this.logLevel
49504
49573
  }, {
49505
49574
  component: "FriskCore"
49506
49575
  });
@@ -49520,10 +49589,10 @@ class Frisk {
49520
49589
  baseUrl,
49521
49590
  logging: {
49522
49591
  logger: this.rootLogger,
49523
- logLevel: this._logLevel
49592
+ logLevel: this.logLevel
49524
49593
  }
49525
49594
  });
49526
- this._toolRegistry = new ToolRegistry({
49595
+ this.toolRegistry = new ToolRegistry({
49527
49596
  apiBaseUrl: baseUrl,
49528
49597
  getAccessToken: async () => this.accessTokenProvider.getAccessToken(),
49529
49598
  logger: this.logger
@@ -49534,21 +49603,20 @@ class Frisk {
49534
49603
  }
49535
49604
  this.otlpEndpoint = otlpEndpoint;
49536
49605
  this._redaction = resolveRedactionOptions(options?.redact);
49606
+ this.extensions = options?.extensions ?? [];
49607
+ this.mountExtensions();
49537
49608
  }
49538
- get friskHandle() {
49539
- if (!this._friskHandle) {
49540
- throw new FriskNotInitializedError;
49609
+ mountExtensions() {
49610
+ for (const ext of this.extensions) {
49611
+ if ("available" in ext && "decideToolCall" in ext) {
49612
+ this.toolPolicies = ext;
49613
+ }
49541
49614
  }
49542
- return this._friskHandle;
49543
- }
49544
- get adapter() {
49545
- return this._adapter;
49546
49615
  }
49547
- get tracingManager() {
49548
- if (!this._tracingManager) {
49549
- throw new FriskNotInitializedError;
49616
+ async initializeExtensions() {
49617
+ for (const ext of this.extensions) {
49618
+ await ext.initialize(this);
49550
49619
  }
49551
- return this._tracingManager;
49552
49620
  }
49553
49621
  async connect() {
49554
49622
  if (!this.initialized) {
@@ -49562,20 +49630,20 @@ class Frisk {
49562
49630
  tracerName: TRACER_NAME,
49563
49631
  tracerVersion: TRACER_VERSION
49564
49632
  });
49565
- this._friskHandle = new FriskHandle(currentToken, this.apiBaseUrl, this.otlpEndpoint);
49566
49633
  this.accessTokenProvider.addCallback((newToken) => this.updateAccessToken(newToken));
49567
49634
  this.accessTokenProvider.startBackgroundRefresh();
49568
49635
  this.initialized = true;
49636
+ await this.initializeExtensions();
49569
49637
  }
49570
49638
  }
49571
49639
  session(metadata) {
49572
49640
  const session = new FriskSession({
49573
49641
  frisk: this,
49574
- redact: this._redaction,
49642
+ redact: this.redaction,
49575
49643
  tracer: this.tracingManager.getTracer(),
49576
49644
  logging: {
49577
49645
  logger: this.rootLogger,
49578
- logLevel: this._logLevel
49646
+ logLevel: this.logLevel
49579
49647
  }
49580
49648
  });
49581
49649
  const registry2 = SessionRegistry.getInstance();
@@ -49583,20 +49651,20 @@ class Frisk {
49583
49651
  return session;
49584
49652
  }
49585
49653
  normalizeToolCall(toolCall) {
49586
- return this._adapter.normalizeToolCall(toolCall);
49654
+ return this.adapter.normalizeToolCall(toolCall);
49587
49655
  }
49588
49656
  wrapTools(tools, options = DefaultWrapToolOptions) {
49589
49657
  this.wrapToolsCalled = true;
49590
49658
  const toolList = [...tools];
49591
- const registerToolProperties = toolList.map((tool) => this._adapter.extractRegisterToolProperties?.(tool)).filter((properties) => properties !== null && properties !== undefined);
49659
+ const registerToolProperties = toolList.map((tool) => this.adapter.extractRegisterToolProperties?.(tool)).filter((properties) => properties !== null && properties !== undefined);
49592
49660
  if (registerToolProperties.length > 0) {
49593
- this._toolRegistry.registerTools({
49661
+ this.toolRegistry.registerTools({
49594
49662
  tools: registerToolProperties,
49595
49663
  sdkAttributes: this.sdkAttributes
49596
49664
  });
49597
49665
  }
49598
- if (this._adapter.wrapTools) {
49599
- return this._adapter.wrapTools(toolList, options);
49666
+ if (this.adapter.wrapTools) {
49667
+ return this.adapter.wrapTools(toolList, options);
49600
49668
  }
49601
49669
  return toolList;
49602
49670
  }
@@ -49608,8 +49676,8 @@ class Frisk {
49608
49676
  };
49609
49677
  }
49610
49678
  wrapTool(tool, options = DefaultWrapToolOptions) {
49611
- if (this._adapter.wrapTool) {
49612
- return this._adapter.wrapTool(tool, options);
49679
+ if (this.adapter.wrapTool) {
49680
+ return this.adapter.wrapTool(tool, options);
49613
49681
  }
49614
49682
  return tool;
49615
49683
  }
@@ -49618,30 +49686,38 @@ class Frisk {
49618
49686
  return registry2.get(sessionId);
49619
49687
  }
49620
49688
  updateAccessToken(authToken) {
49621
- this.friskHandle.updateAuthToken(authToken);
49689
+ this.toolPolicies?.updateAccessToken(authToken);
49622
49690
  this.tracingManager.updateAuthToken(authToken);
49623
49691
  }
49624
49692
  getRegisteredTool(toolName) {
49625
- return this._toolRegistry.getRegisteredTool(toolName);
49693
+ return this.toolRegistry.getRegisteredTool(toolName);
49626
49694
  }
49627
49695
  decideToolCall({
49628
49696
  toolCall,
49629
49697
  agentState,
49630
49698
  traceContextCarrier
49631
49699
  }) {
49632
- const id = toolCall.id ?? v4();
49633
- const argsJson = toolCall.args ? JSON.stringify(removeLlmReasoningArg(toolCall.args)) : null;
49634
- const stateJson = agentState ? JSON.stringify(agentState) : null;
49635
- const registeredTool = this.getRegisteredTool(toolCall.name);
49636
- const coreResult = this.friskHandle.process(toolCall.name, registeredTool?.id ?? null, registeredTool?.versionId ?? null, argsJson, stateJson, id, this._redaction, traceContextCarrier);
49637
- const outcome = coreResult.decision === "allow" ? "allow" /* ALLOW */ : coreResult.decision === "deny" ? "deny" /* DENY */ : coreResult.decision === "escalate" ? "escalate" /* ESCALATE */ : "error" /* ERROR */;
49638
- return {
49639
- outcome,
49640
- rulesMatchedCount: coreResult.rulesMatchedCount,
49641
- reason: coreResult.reason,
49642
- policyId: coreResult.policyId,
49643
- policyVersionId: coreResult.policyVersionId
49644
- };
49700
+ if (!this.toolPolicies) {
49701
+ throw new MissingToolPoliciesExtensionError;
49702
+ }
49703
+ const toolArgsJson = toolCall.args ? JSON.stringify(toolCall.args) : null;
49704
+ const agentStateJson = agentState ? JSON.stringify(agentState) : null;
49705
+ const redactedArgs = toolCall.args ? redactObject(toolCall.args, this.redaction.redactToolArgs) : { value: {}, redactedPaths: [] };
49706
+ const toolArgsRedactedJson = toolCall.args ? JSON.stringify(redactedArgs.value) : null;
49707
+ const toolArgsRedactedPathsJson = JSON.stringify(redactedArgs.redactedPaths);
49708
+ const redactedState = agentState ? redactObject(agentState, this.redaction.redactAgentState) : { value: {}, redactedPaths: [] };
49709
+ const agentStateRedactedJson = agentState ? JSON.stringify(redactedState.value) : null;
49710
+ const agentStateRedactedPathsJson = JSON.stringify(redactedState.redactedPaths);
49711
+ return this.toolPolicies.decideToolCall({
49712
+ toolCall,
49713
+ toolArgsJson,
49714
+ toolArgsRedactedJson,
49715
+ toolArgsRedactedPathsJson,
49716
+ agentStateJson,
49717
+ agentStateRedactedJson,
49718
+ agentStateRedactedPathsJson,
49719
+ traceContextCarrier
49720
+ });
49645
49721
  }
49646
49722
  async getOrCreateToolApprovalRequest({
49647
49723
  toolCallId,
@@ -49689,7 +49765,9 @@ class Frisk {
49689
49765
  if (this.tracingManager) {
49690
49766
  await this.tracingManager.shutdown();
49691
49767
  }
49692
- this.friskHandle.shutdown();
49768
+ for (const ext of this.extensions) {
49769
+ ext.shutdown();
49770
+ }
49693
49771
  }
49694
49772
  }
49695
49773
 
@@ -49749,7 +49827,10 @@ class FriskToolMiddleware {
49749
49827
  this.logger = deriveSdkLogger(options?.logging, {
49750
49828
  component: "FriskToolMiddleware"
49751
49829
  });
49752
- this.toolPoliciesEnabled = options?.controls?.toolPolicies !== false;
49830
+ this.toolPoliciesEnabled = options?.controls?.toolPolicies === true;
49831
+ if (this.toolPoliciesEnabled && !frisk.toolPoliciesAvailable) {
49832
+ throw new MissingToolPoliciesExtensionError;
49833
+ }
49753
49834
  }
49754
49835
  get frisk() {
49755
49836
  return this._frisk;
@@ -50010,14 +50091,14 @@ function createFriskToolCallId() {
50010
50091
  }
50011
50092
 
50012
50093
  // src/adapters/langchain/langchain-framework-adapter/get-langchain-version.ts
50013
- import { createRequire as createRequire3 } from "module";
50094
+ import { createRequire as createRequire2 } from "module";
50014
50095
  var langchainVersionSet = false;
50015
50096
  var langchainVersion = null;
50016
50097
  function tryGetLangchainVersion() {
50017
50098
  if (!langchainVersionSet) {
50018
50099
  try {
50019
- const require3 = createRequire3(import.meta.url);
50020
- const pkg = require3("langchain/package.json");
50100
+ const require2 = createRequire2(import.meta.url);
50101
+ const pkg = require2("langchain/package.json");
50021
50102
  langchainVersion = pkg.version ?? null;
50022
50103
  } catch {
50023
50104
  langchainVersion = null;
@@ -50118,11 +50199,11 @@ class LangchainFrameworkAdapter {
50118
50199
  };
50119
50200
  }
50120
50201
  toolArgsToDict(toolArgs, options) {
50121
- return redactDictionarySimple(toolArgs, options?.redact);
50202
+ return redactObject(toolArgs, options?.redact);
50122
50203
  }
50123
50204
  agentStateToDict(agentState, options) {
50124
50205
  const combinedRedact = combineRedactOptions(EXCLUDED_STATE_KEYS, options?.redact);
50125
- return redactDictionarySimple(agentState, combinedRedact);
50206
+ return redactObject(agentState, combinedRedact);
50126
50207
  }
50127
50208
  normalizeToolCall(toolCall) {
50128
50209
  return {
@@ -50189,7 +50270,7 @@ var FRISK_CONTEXT_SCHEMA = object({
50189
50270
  [FRISK_SESSION_ID_KEY]: string2().optional()
50190
50271
  });
50191
50272
  var DefaultFriskGuardControls = {
50192
- toolPolicies: true
50273
+ toolPolicies: false
50193
50274
  };
50194
50275
 
50195
50276
  class FriskLangchain extends Frisk {
@@ -50250,5 +50331,5 @@ export {
50250
50331
  FRISK_SESSION_ID_KEY
50251
50332
  };
50252
50333
 
50253
- //# debugId=889F4C22F819342664756E2164756E21
50334
+ //# debugId=46F5000910B6966364756E2164756E21
50254
50335
  //# sourceMappingURL=index.js.map