@arcote.tech/arc-host 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -30,6 +30,20 @@ var __toESM = (mod, isNodeMode, target) => {
30
30
  return to;
31
31
  };
32
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
+ var __returnValue = (v) => v;
34
+ function __exportSetter(name, newValue) {
35
+ this[name] = __returnValue.bind(null, newValue);
36
+ }
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, {
40
+ get: all[name],
41
+ enumerable: true,
42
+ configurable: true,
43
+ set: __exportSetter.bind(all, name)
44
+ });
45
+ };
46
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
33
47
  var __require = import.meta.require;
34
48
 
35
49
  // ../../node_modules/.bun/safe-buffer@5.2.1/node_modules/safe-buffer/index.js
@@ -978,7 +992,7 @@ var require_timespan = __commonJS((exports, module) => {
978
992
  };
979
993
  });
980
994
 
981
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/constants.js
995
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/constants.js
982
996
  var require_constants = __commonJS((exports, module) => {
983
997
  var SEMVER_SPEC_VERSION = "2.0.0";
984
998
  var MAX_LENGTH = 256;
@@ -1006,13 +1020,13 @@ var require_constants = __commonJS((exports, module) => {
1006
1020
  };
1007
1021
  });
1008
1022
 
1009
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/debug.js
1023
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/debug.js
1010
1024
  var require_debug = __commonJS((exports, module) => {
1011
1025
  var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
1012
1026
  module.exports = debug;
1013
1027
  });
1014
1028
 
1015
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/re.js
1029
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/re.js
1016
1030
  var require_re = __commonJS((exports, module) => {
1017
1031
  var {
1018
1032
  MAX_SAFE_COMPONENT_LENGTH,
@@ -1097,7 +1111,7 @@ var require_re = __commonJS((exports, module) => {
1097
1111
  createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
1098
1112
  });
1099
1113
 
1100
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/parse-options.js
1114
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/parse-options.js
1101
1115
  var require_parse_options = __commonJS((exports, module) => {
1102
1116
  var looseOption = Object.freeze({ loose: true });
1103
1117
  var emptyOpts = Object.freeze({});
@@ -1113,7 +1127,7 @@ var require_parse_options = __commonJS((exports, module) => {
1113
1127
  module.exports = parseOptions;
1114
1128
  });
1115
1129
 
1116
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/identifiers.js
1130
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/identifiers.js
1117
1131
  var require_identifiers = __commonJS((exports, module) => {
1118
1132
  var numeric = /^[0-9]+$/;
1119
1133
  var compareIdentifiers = (a, b) => {
@@ -1135,7 +1149,7 @@ var require_identifiers = __commonJS((exports, module) => {
1135
1149
  };
1136
1150
  });
1137
1151
 
1138
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/semver.js
1152
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/classes/semver.js
1139
1153
  var require_semver = __commonJS((exports, module) => {
1140
1154
  var debug = require_debug();
1141
1155
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
@@ -1404,7 +1418,7 @@ var require_semver = __commonJS((exports, module) => {
1404
1418
  module.exports = SemVer;
1405
1419
  });
1406
1420
 
1407
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/parse.js
1421
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/parse.js
1408
1422
  var require_parse = __commonJS((exports, module) => {
1409
1423
  var SemVer = require_semver();
1410
1424
  var parse = (version, options, throwErrors = false) => {
@@ -1423,7 +1437,7 @@ var require_parse = __commonJS((exports, module) => {
1423
1437
  module.exports = parse;
1424
1438
  });
1425
1439
 
1426
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/valid.js
1440
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/valid.js
1427
1441
  var require_valid = __commonJS((exports, module) => {
1428
1442
  var parse = require_parse();
1429
1443
  var valid = (version, options) => {
@@ -1433,7 +1447,7 @@ var require_valid = __commonJS((exports, module) => {
1433
1447
  module.exports = valid;
1434
1448
  });
1435
1449
 
1436
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/clean.js
1450
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/clean.js
1437
1451
  var require_clean = __commonJS((exports, module) => {
1438
1452
  var parse = require_parse();
1439
1453
  var clean = (version, options) => {
@@ -1443,7 +1457,7 @@ var require_clean = __commonJS((exports, module) => {
1443
1457
  module.exports = clean;
1444
1458
  });
1445
1459
 
1446
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/inc.js
1460
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/inc.js
1447
1461
  var require_inc = __commonJS((exports, module) => {
1448
1462
  var SemVer = require_semver();
1449
1463
  var inc = (version, release, options, identifier, identifierBase) => {
@@ -1461,7 +1475,7 @@ var require_inc = __commonJS((exports, module) => {
1461
1475
  module.exports = inc;
1462
1476
  });
1463
1477
 
1464
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/diff.js
1478
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/diff.js
1465
1479
  var require_diff = __commonJS((exports, module) => {
1466
1480
  var parse = require_parse();
1467
1481
  var diff = (version1, version2) => {
@@ -1502,28 +1516,28 @@ var require_diff = __commonJS((exports, module) => {
1502
1516
  module.exports = diff;
1503
1517
  });
1504
1518
 
1505
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/major.js
1519
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/major.js
1506
1520
  var require_major = __commonJS((exports, module) => {
1507
1521
  var SemVer = require_semver();
1508
1522
  var major = (a, loose) => new SemVer(a, loose).major;
1509
1523
  module.exports = major;
1510
1524
  });
1511
1525
 
1512
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/minor.js
1526
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/minor.js
1513
1527
  var require_minor = __commonJS((exports, module) => {
1514
1528
  var SemVer = require_semver();
1515
1529
  var minor = (a, loose) => new SemVer(a, loose).minor;
1516
1530
  module.exports = minor;
1517
1531
  });
1518
1532
 
1519
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/patch.js
1533
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/patch.js
1520
1534
  var require_patch = __commonJS((exports, module) => {
1521
1535
  var SemVer = require_semver();
1522
1536
  var patch = (a, loose) => new SemVer(a, loose).patch;
1523
1537
  module.exports = patch;
1524
1538
  });
1525
1539
 
1526
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/prerelease.js
1540
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/prerelease.js
1527
1541
  var require_prerelease = __commonJS((exports, module) => {
1528
1542
  var parse = require_parse();
1529
1543
  var prerelease = (version, options) => {
@@ -1533,28 +1547,28 @@ var require_prerelease = __commonJS((exports, module) => {
1533
1547
  module.exports = prerelease;
1534
1548
  });
1535
1549
 
1536
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare.js
1550
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/compare.js
1537
1551
  var require_compare = __commonJS((exports, module) => {
1538
1552
  var SemVer = require_semver();
1539
1553
  var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
1540
1554
  module.exports = compare;
1541
1555
  });
1542
1556
 
1543
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rcompare.js
1557
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/rcompare.js
1544
1558
  var require_rcompare = __commonJS((exports, module) => {
1545
1559
  var compare = require_compare();
1546
1560
  var rcompare = (a, b, loose) => compare(b, a, loose);
1547
1561
  module.exports = rcompare;
1548
1562
  });
1549
1563
 
1550
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-loose.js
1564
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/compare-loose.js
1551
1565
  var require_compare_loose = __commonJS((exports, module) => {
1552
1566
  var compare = require_compare();
1553
1567
  var compareLoose = (a, b) => compare(a, b, true);
1554
1568
  module.exports = compareLoose;
1555
1569
  });
1556
1570
 
1557
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/compare-build.js
1571
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/compare-build.js
1558
1572
  var require_compare_build = __commonJS((exports, module) => {
1559
1573
  var SemVer = require_semver();
1560
1574
  var compareBuild = (a, b, loose) => {
@@ -1565,63 +1579,63 @@ var require_compare_build = __commonJS((exports, module) => {
1565
1579
  module.exports = compareBuild;
1566
1580
  });
1567
1581
 
1568
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/sort.js
1582
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/sort.js
1569
1583
  var require_sort = __commonJS((exports, module) => {
1570
1584
  var compareBuild = require_compare_build();
1571
1585
  var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
1572
1586
  module.exports = sort;
1573
1587
  });
1574
1588
 
1575
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/rsort.js
1589
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/rsort.js
1576
1590
  var require_rsort = __commonJS((exports, module) => {
1577
1591
  var compareBuild = require_compare_build();
1578
1592
  var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
1579
1593
  module.exports = rsort;
1580
1594
  });
1581
1595
 
1582
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gt.js
1596
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/gt.js
1583
1597
  var require_gt = __commonJS((exports, module) => {
1584
1598
  var compare = require_compare();
1585
1599
  var gt = (a, b, loose) => compare(a, b, loose) > 0;
1586
1600
  module.exports = gt;
1587
1601
  });
1588
1602
 
1589
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lt.js
1603
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/lt.js
1590
1604
  var require_lt = __commonJS((exports, module) => {
1591
1605
  var compare = require_compare();
1592
1606
  var lt = (a, b, loose) => compare(a, b, loose) < 0;
1593
1607
  module.exports = lt;
1594
1608
  });
1595
1609
 
1596
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/eq.js
1610
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/eq.js
1597
1611
  var require_eq = __commonJS((exports, module) => {
1598
1612
  var compare = require_compare();
1599
1613
  var eq = (a, b, loose) => compare(a, b, loose) === 0;
1600
1614
  module.exports = eq;
1601
1615
  });
1602
1616
 
1603
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/neq.js
1617
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/neq.js
1604
1618
  var require_neq = __commonJS((exports, module) => {
1605
1619
  var compare = require_compare();
1606
1620
  var neq = (a, b, loose) => compare(a, b, loose) !== 0;
1607
1621
  module.exports = neq;
1608
1622
  });
1609
1623
 
1610
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/gte.js
1624
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/gte.js
1611
1625
  var require_gte = __commonJS((exports, module) => {
1612
1626
  var compare = require_compare();
1613
1627
  var gte = (a, b, loose) => compare(a, b, loose) >= 0;
1614
1628
  module.exports = gte;
1615
1629
  });
1616
1630
 
1617
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/lte.js
1631
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/lte.js
1618
1632
  var require_lte = __commonJS((exports, module) => {
1619
1633
  var compare = require_compare();
1620
1634
  var lte = (a, b, loose) => compare(a, b, loose) <= 0;
1621
1635
  module.exports = lte;
1622
1636
  });
1623
1637
 
1624
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/cmp.js
1638
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/cmp.js
1625
1639
  var require_cmp = __commonJS((exports, module) => {
1626
1640
  var eq = require_eq();
1627
1641
  var neq = require_neq();
@@ -1668,7 +1682,7 @@ var require_cmp = __commonJS((exports, module) => {
1668
1682
  module.exports = cmp;
1669
1683
  });
1670
1684
 
1671
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/coerce.js
1685
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/coerce.js
1672
1686
  var require_coerce = __commonJS((exports, module) => {
1673
1687
  var SemVer = require_semver();
1674
1688
  var parse = require_parse();
@@ -1711,7 +1725,45 @@ var require_coerce = __commonJS((exports, module) => {
1711
1725
  module.exports = coerce;
1712
1726
  });
1713
1727
 
1714
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/internal/lrucache.js
1728
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/truncate.js
1729
+ var require_truncate = __commonJS((exports, module) => {
1730
+ var parse = require_parse();
1731
+ var constants = require_constants();
1732
+ var SemVer = require_semver();
1733
+ var truncate = (version, truncation, options) => {
1734
+ if (!constants.RELEASE_TYPES.includes(truncation)) {
1735
+ return null;
1736
+ }
1737
+ const clonedVersion = cloneInputVersion(version, options);
1738
+ return clonedVersion && doTruncation(clonedVersion, truncation);
1739
+ };
1740
+ var cloneInputVersion = (version, options) => {
1741
+ const versionStringToParse = version instanceof SemVer ? version.version : version;
1742
+ return parse(versionStringToParse, options);
1743
+ };
1744
+ var doTruncation = (version, truncation) => {
1745
+ if (isPrerelease(truncation)) {
1746
+ return version.version;
1747
+ }
1748
+ version.prerelease = [];
1749
+ switch (truncation) {
1750
+ case "major":
1751
+ version.minor = 0;
1752
+ version.patch = 0;
1753
+ break;
1754
+ case "minor":
1755
+ version.patch = 0;
1756
+ break;
1757
+ }
1758
+ return version.format();
1759
+ };
1760
+ var isPrerelease = (type) => {
1761
+ return type.startsWith("pre");
1762
+ };
1763
+ module.exports = truncate;
1764
+ });
1765
+
1766
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/internal/lrucache.js
1715
1767
  var require_lrucache = __commonJS((exports, module) => {
1716
1768
  class LRUCache {
1717
1769
  constructor() {
@@ -1746,7 +1798,7 @@ var require_lrucache = __commonJS((exports, module) => {
1746
1798
  module.exports = LRUCache;
1747
1799
  });
1748
1800
 
1749
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/range.js
1801
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/classes/range.js
1750
1802
  var require_range = __commonJS((exports, module) => {
1751
1803
  var SPACE_CHARACTERS = /\s+/g;
1752
1804
 
@@ -2120,7 +2172,7 @@ var require_range = __commonJS((exports, module) => {
2120
2172
  };
2121
2173
  });
2122
2174
 
2123
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/classes/comparator.js
2175
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/classes/comparator.js
2124
2176
  var require_comparator = __commonJS((exports, module) => {
2125
2177
  var ANY = Symbol("SemVer ANY");
2126
2178
 
@@ -2231,7 +2283,7 @@ var require_comparator = __commonJS((exports, module) => {
2231
2283
  var Range = require_range();
2232
2284
  });
2233
2285
 
2234
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/functions/satisfies.js
2286
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/functions/satisfies.js
2235
2287
  var require_satisfies = __commonJS((exports, module) => {
2236
2288
  var Range = require_range();
2237
2289
  var satisfies = (version, range, options) => {
@@ -2245,14 +2297,14 @@ var require_satisfies = __commonJS((exports, module) => {
2245
2297
  module.exports = satisfies;
2246
2298
  });
2247
2299
 
2248
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/to-comparators.js
2300
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/to-comparators.js
2249
2301
  var require_to_comparators = __commonJS((exports, module) => {
2250
2302
  var Range = require_range();
2251
2303
  var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
2252
2304
  module.exports = toComparators;
2253
2305
  });
2254
2306
 
2255
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/max-satisfying.js
2307
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/max-satisfying.js
2256
2308
  var require_max_satisfying = __commonJS((exports, module) => {
2257
2309
  var SemVer = require_semver();
2258
2310
  var Range = require_range();
@@ -2278,7 +2330,7 @@ var require_max_satisfying = __commonJS((exports, module) => {
2278
2330
  module.exports = maxSatisfying;
2279
2331
  });
2280
2332
 
2281
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-satisfying.js
2333
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/min-satisfying.js
2282
2334
  var require_min_satisfying = __commonJS((exports, module) => {
2283
2335
  var SemVer = require_semver();
2284
2336
  var Range = require_range();
@@ -2304,7 +2356,7 @@ var require_min_satisfying = __commonJS((exports, module) => {
2304
2356
  module.exports = minSatisfying;
2305
2357
  });
2306
2358
 
2307
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/min-version.js
2359
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/min-version.js
2308
2360
  var require_min_version = __commonJS((exports, module) => {
2309
2361
  var SemVer = require_semver();
2310
2362
  var Range = require_range();
@@ -2358,7 +2410,7 @@ var require_min_version = __commonJS((exports, module) => {
2358
2410
  module.exports = minVersion;
2359
2411
  });
2360
2412
 
2361
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/valid.js
2413
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/valid.js
2362
2414
  var require_valid2 = __commonJS((exports, module) => {
2363
2415
  var Range = require_range();
2364
2416
  var validRange = (range, options) => {
@@ -2371,7 +2423,7 @@ var require_valid2 = __commonJS((exports, module) => {
2371
2423
  module.exports = validRange;
2372
2424
  });
2373
2425
 
2374
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/outside.js
2426
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/outside.js
2375
2427
  var require_outside = __commonJS((exports, module) => {
2376
2428
  var SemVer = require_semver();
2377
2429
  var Comparator = require_comparator();
@@ -2437,21 +2489,21 @@ var require_outside = __commonJS((exports, module) => {
2437
2489
  module.exports = outside;
2438
2490
  });
2439
2491
 
2440
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/gtr.js
2492
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/gtr.js
2441
2493
  var require_gtr = __commonJS((exports, module) => {
2442
2494
  var outside = require_outside();
2443
2495
  var gtr = (version, range, options) => outside(version, range, ">", options);
2444
2496
  module.exports = gtr;
2445
2497
  });
2446
2498
 
2447
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/ltr.js
2499
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/ltr.js
2448
2500
  var require_ltr = __commonJS((exports, module) => {
2449
2501
  var outside = require_outside();
2450
2502
  var ltr = (version, range, options) => outside(version, range, "<", options);
2451
2503
  module.exports = ltr;
2452
2504
  });
2453
2505
 
2454
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/intersects.js
2506
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/intersects.js
2455
2507
  var require_intersects = __commonJS((exports, module) => {
2456
2508
  var Range = require_range();
2457
2509
  var intersects = (r1, r2, options) => {
@@ -2462,7 +2514,7 @@ var require_intersects = __commonJS((exports, module) => {
2462
2514
  module.exports = intersects;
2463
2515
  });
2464
2516
 
2465
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/simplify.js
2517
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/simplify.js
2466
2518
  var require_simplify = __commonJS((exports, module) => {
2467
2519
  var satisfies = require_satisfies();
2468
2520
  var compare = require_compare();
@@ -2509,7 +2561,7 @@ var require_simplify = __commonJS((exports, module) => {
2509
2561
  };
2510
2562
  });
2511
2563
 
2512
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/ranges/subset.js
2564
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/ranges/subset.js
2513
2565
  var require_subset = __commonJS((exports, module) => {
2514
2566
  var Range = require_range();
2515
2567
  var Comparator = require_comparator();
@@ -2669,7 +2721,7 @@ var require_subset = __commonJS((exports, module) => {
2669
2721
  module.exports = subset;
2670
2722
  });
2671
2723
 
2672
- // ../../node_modules/.bun/semver@7.7.4/node_modules/semver/index.js
2724
+ // ../../node_modules/.bun/semver@7.8.0/node_modules/semver/index.js
2673
2725
  var require_semver2 = __commonJS((exports, module) => {
2674
2726
  var internalRe = require_re();
2675
2727
  var constants = require_constants();
@@ -2698,6 +2750,7 @@ var require_semver2 = __commonJS((exports, module) => {
2698
2750
  var lte = require_lte();
2699
2751
  var cmp = require_cmp();
2700
2752
  var coerce = require_coerce();
2753
+ var truncate = require_truncate();
2701
2754
  var Comparator = require_comparator();
2702
2755
  var Range = require_range();
2703
2756
  var satisfies = require_satisfies();
@@ -2736,6 +2789,7 @@ var require_semver2 = __commonJS((exports, module) => {
2736
2789
  lte,
2737
2790
  cmp,
2738
2791
  coerce,
2792
+ truncate,
2739
2793
  Comparator,
2740
2794
  Range,
2741
2795
  satisfies,
@@ -3687,200 +3741,2216 @@ var require_jsonwebtoken = __commonJS((exports, module) => {
3687
3741
  };
3688
3742
  });
3689
3743
 
3690
- // src/create-server.ts
3691
- var import_jsonwebtoken = __toESM(require_jsonwebtoken(), 1);
3744
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/version.js
3745
+ var require_version = __commonJS((exports) => {
3746
+ Object.defineProperty(exports, "__esModule", { value: true });
3747
+ exports.VERSION = undefined;
3748
+ exports.VERSION = "1.9.1";
3749
+ });
3692
3750
 
3693
- // src/connection-manager.ts
3694
- class ConnectionManager {
3695
- clients = new Map;
3696
- clientIdCounter = 0;
3697
- addClient(ws) {
3698
- const clientId = `client_${++this.clientIdCounter}_${Date.now()}`;
3699
- const client = {
3700
- id: clientId,
3701
- scopeTokens: new Map,
3702
- lastHostEventId: null,
3703
- ws
3751
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/internal/semver.js
3752
+ var require_semver3 = __commonJS((exports) => {
3753
+ Object.defineProperty(exports, "__esModule", { value: true });
3754
+ exports.isCompatible = exports._makeCompatibilityCheck = undefined;
3755
+ var version_1 = require_version();
3756
+ var re = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;
3757
+ function _makeCompatibilityCheck(ownVersion) {
3758
+ const acceptedVersions = new Set([ownVersion]);
3759
+ const rejectedVersions = new Set;
3760
+ const myVersionMatch = ownVersion.match(re);
3761
+ if (!myVersionMatch) {
3762
+ return () => false;
3763
+ }
3764
+ const ownVersionParsed = {
3765
+ major: +myVersionMatch[1],
3766
+ minor: +myVersionMatch[2],
3767
+ patch: +myVersionMatch[3],
3768
+ prerelease: myVersionMatch[4]
3704
3769
  };
3705
- this.clients.set(clientId, client);
3706
- ws.data = { clientId };
3707
- return client;
3708
- }
3709
- removeClient(clientId) {
3710
- this.clients.delete(clientId);
3711
- }
3712
- getClient(clientId) {
3713
- return this.clients.get(clientId);
3714
- }
3715
- getClientByWs(ws) {
3716
- const clientId = ws.data?.clientId;
3717
- if (!clientId)
3718
- return;
3719
- return this.clients.get(clientId);
3720
- }
3721
- setScopeToken(clientId, scope, decoded, raw) {
3722
- const client = this.clients.get(clientId);
3723
- if (client) {
3724
- client.scopeTokens.set(scope, { decoded, raw });
3770
+ if (ownVersionParsed.prerelease != null) {
3771
+ return function isExactmatch(globalVersion) {
3772
+ return globalVersion === ownVersion;
3773
+ };
3725
3774
  }
3726
- }
3727
- getScopeToken(clientId, scope) {
3728
- const client = this.clients.get(clientId);
3729
- return client?.scopeTokens.get(scope);
3730
- }
3731
- getAllScopeTokens(clientId) {
3732
- const client = this.clients.get(clientId);
3733
- if (!client)
3734
- return [];
3735
- return Array.from(client.scopeTokens.values()).map((v) => v.decoded);
3736
- }
3737
- updateLastSyncedEventId(clientId, hostEventId) {
3738
- const client = this.clients.get(clientId);
3739
- if (client) {
3740
- client.lastHostEventId = hostEventId;
3775
+ function _reject(v2) {
3776
+ rejectedVersions.add(v2);
3777
+ return false;
3741
3778
  }
3779
+ function _accept(v2) {
3780
+ acceptedVersions.add(v2);
3781
+ return true;
3782
+ }
3783
+ return function isCompatible(globalVersion) {
3784
+ if (acceptedVersions.has(globalVersion)) {
3785
+ return true;
3786
+ }
3787
+ if (rejectedVersions.has(globalVersion)) {
3788
+ return false;
3789
+ }
3790
+ const globalVersionMatch = globalVersion.match(re);
3791
+ if (!globalVersionMatch) {
3792
+ return _reject(globalVersion);
3793
+ }
3794
+ const globalVersionParsed = {
3795
+ major: +globalVersionMatch[1],
3796
+ minor: +globalVersionMatch[2],
3797
+ patch: +globalVersionMatch[3],
3798
+ prerelease: globalVersionMatch[4]
3799
+ };
3800
+ if (globalVersionParsed.prerelease != null) {
3801
+ return _reject(globalVersion);
3802
+ }
3803
+ if (ownVersionParsed.major !== globalVersionParsed.major) {
3804
+ return _reject(globalVersion);
3805
+ }
3806
+ if (ownVersionParsed.major === 0) {
3807
+ if (ownVersionParsed.minor === globalVersionParsed.minor && ownVersionParsed.patch <= globalVersionParsed.patch) {
3808
+ return _accept(globalVersion);
3809
+ }
3810
+ return _reject(globalVersion);
3811
+ }
3812
+ if (ownVersionParsed.minor <= globalVersionParsed.minor) {
3813
+ return _accept(globalVersion);
3814
+ }
3815
+ return _reject(globalVersion);
3816
+ };
3742
3817
  }
3743
- getAllClients() {
3744
- return Array.from(this.clients.values());
3745
- }
3746
- sendToClient(clientId, message) {
3747
- const client = this.clients.get(clientId);
3748
- if (!client)
3818
+ exports._makeCompatibilityCheck = _makeCompatibilityCheck;
3819
+ exports.isCompatible = _makeCompatibilityCheck(version_1.VERSION);
3820
+ });
3821
+
3822
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/internal/global-utils.js
3823
+ var require_global_utils = __commonJS((exports) => {
3824
+ Object.defineProperty(exports, "__esModule", { value: true });
3825
+ exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = undefined;
3826
+ var version_1 = require_version();
3827
+ var semver_1 = require_semver3();
3828
+ var major = version_1.VERSION.split(".")[0];
3829
+ var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for(`opentelemetry.js.api.${major}`);
3830
+ var _global = typeof globalThis === "object" ? globalThis : typeof self === "object" ? self : typeof window === "object" ? window : typeof global === "object" ? global : {};
3831
+ function registerGlobal(type, instance, diag, allowOverride = false) {
3832
+ var _a;
3833
+ const api = _global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== undefined ? _a : {
3834
+ version: version_1.VERSION
3835
+ };
3836
+ if (!allowOverride && api[type]) {
3837
+ const err = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${type}`);
3838
+ diag.error(err.stack || err.message);
3749
3839
  return false;
3750
- try {
3751
- client.ws.send(JSON.stringify(message));
3752
- return true;
3753
- } catch (error) {
3754
- console.error(`Failed to send message to client ${clientId}:`, error);
3840
+ }
3841
+ if (api.version !== version_1.VERSION) {
3842
+ const err = new Error(`@opentelemetry/api: Registration of version v${api.version} for ${type} does not match previously registered API v${version_1.VERSION}`);
3843
+ diag.error(err.stack || err.message);
3755
3844
  return false;
3756
3845
  }
3846
+ api[type] = instance;
3847
+ diag.debug(`@opentelemetry/api: Registered a global for ${type} v${version_1.VERSION}.`);
3848
+ return true;
3757
3849
  }
3758
- broadcast(message, excludeClientId) {
3759
- for (const client of this.clients.values()) {
3760
- if (client.id === excludeClientId)
3761
- continue;
3762
- this.sendToClient(client.id, message);
3850
+ exports.registerGlobal = registerGlobal;
3851
+ function getGlobal(type) {
3852
+ var _a, _b;
3853
+ const globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === undefined ? undefined : _a.version;
3854
+ if (!globalVersion || !(0, semver_1.isCompatible)(globalVersion)) {
3855
+ return;
3763
3856
  }
3857
+ return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === undefined ? undefined : _b[type];
3764
3858
  }
3765
- get clientCount() {
3766
- return this.clients.size;
3859
+ exports.getGlobal = getGlobal;
3860
+ function unregisterGlobal(type, diag) {
3861
+ diag.debug(`@opentelemetry/api: Unregistering a global for ${type} v${version_1.VERSION}.`);
3862
+ const api = _global[GLOBAL_OPENTELEMETRY_API_KEY];
3863
+ if (api) {
3864
+ delete api[type];
3865
+ }
3767
3866
  }
3768
- }
3867
+ exports.unregisterGlobal = unregisterGlobal;
3868
+ });
3769
3869
 
3770
- // src/context-handler.ts
3771
- import {
3772
- LocalEventPublisher,
3773
- MasterDataStorage,
3774
- Model,
3775
- ScopedModel,
3776
- mutationExecutor
3777
- } from "@arcote.tech/arc";
3870
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js
3871
+ var require_ComponentLogger = __commonJS((exports) => {
3872
+ Object.defineProperty(exports, "__esModule", { value: true });
3873
+ exports.DiagComponentLogger = undefined;
3874
+ var global_utils_1 = require_global_utils();
3778
3875
 
3779
- // src/event-auth.ts
3780
- function canTokenReceiveEvent(token, event, eventInstance) {
3781
- if (!event.hasProtections) {
3782
- return true;
3876
+ class DiagComponentLogger {
3877
+ constructor(props) {
3878
+ this._namespace = props.namespace || "DiagComponentLogger";
3879
+ }
3880
+ debug(...args) {
3881
+ return logProxy("debug", this._namespace, args);
3882
+ }
3883
+ error(...args) {
3884
+ return logProxy("error", this._namespace, args);
3885
+ }
3886
+ info(...args) {
3887
+ return logProxy("info", this._namespace, args);
3888
+ }
3889
+ warn(...args) {
3890
+ return logProxy("warn", this._namespace, args);
3891
+ }
3892
+ verbose(...args) {
3893
+ return logProxy("verbose", this._namespace, args);
3894
+ }
3783
3895
  }
3784
- if (!token) {
3785
- return false;
3896
+ exports.DiagComponentLogger = DiagComponentLogger;
3897
+ function logProxy(funcName, namespace, args) {
3898
+ const logger = (0, global_utils_1.getGlobal)("diag");
3899
+ if (!logger) {
3900
+ return;
3901
+ }
3902
+ return logger[funcName](namespace, ...args);
3786
3903
  }
3787
- for (const protection of event.protections) {
3788
- if (protection.token.name !== token.tokenType) {
3789
- continue;
3904
+ });
3905
+
3906
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/types.js
3907
+ var require_types = __commonJS((exports) => {
3908
+ Object.defineProperty(exports, "__esModule", { value: true });
3909
+ exports.DiagLogLevel = undefined;
3910
+ var DiagLogLevel;
3911
+ (function(DiagLogLevel2) {
3912
+ DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE";
3913
+ DiagLogLevel2[DiagLogLevel2["ERROR"] = 30] = "ERROR";
3914
+ DiagLogLevel2[DiagLogLevel2["WARN"] = 50] = "WARN";
3915
+ DiagLogLevel2[DiagLogLevel2["INFO"] = 60] = "INFO";
3916
+ DiagLogLevel2[DiagLogLevel2["DEBUG"] = 70] = "DEBUG";
3917
+ DiagLogLevel2[DiagLogLevel2["VERBOSE"] = 80] = "VERBOSE";
3918
+ DiagLogLevel2[DiagLogLevel2["ALL"] = 9999] = "ALL";
3919
+ })(DiagLogLevel = exports.DiagLogLevel || (exports.DiagLogLevel = {}));
3920
+ });
3921
+
3922
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js
3923
+ var require_logLevelLogger = __commonJS((exports) => {
3924
+ Object.defineProperty(exports, "__esModule", { value: true });
3925
+ exports.createLogLevelDiagLogger = undefined;
3926
+ var types_1 = require_types();
3927
+ function createLogLevelDiagLogger(maxLevel, logger) {
3928
+ if (maxLevel < types_1.DiagLogLevel.NONE) {
3929
+ maxLevel = types_1.DiagLogLevel.NONE;
3930
+ } else if (maxLevel > types_1.DiagLogLevel.ALL) {
3931
+ maxLevel = types_1.DiagLogLevel.ALL;
3932
+ }
3933
+ logger = logger || {};
3934
+ function _filterFunc(funcName, theLevel) {
3935
+ const theFunc = logger[funcName];
3936
+ if (typeof theFunc === "function" && maxLevel >= theLevel) {
3937
+ return theFunc.bind(logger);
3938
+ }
3939
+ return function() {};
3790
3940
  }
3791
- const rules = protection.protectionFn(token.params);
3792
- if (rules.read === false) {
3793
- continue;
3941
+ return {
3942
+ error: _filterFunc("error", types_1.DiagLogLevel.ERROR),
3943
+ warn: _filterFunc("warn", types_1.DiagLogLevel.WARN),
3944
+ info: _filterFunc("info", types_1.DiagLogLevel.INFO),
3945
+ debug: _filterFunc("debug", types_1.DiagLogLevel.DEBUG),
3946
+ verbose: _filterFunc("verbose", types_1.DiagLogLevel.VERBOSE)
3947
+ };
3948
+ }
3949
+ exports.createLogLevelDiagLogger = createLogLevelDiagLogger;
3950
+ });
3951
+
3952
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/diag.js
3953
+ var require_diag = __commonJS((exports) => {
3954
+ Object.defineProperty(exports, "__esModule", { value: true });
3955
+ exports.DiagAPI = undefined;
3956
+ var ComponentLogger_1 = require_ComponentLogger();
3957
+ var logLevelLogger_1 = require_logLevelLogger();
3958
+ var types_1 = require_types();
3959
+ var global_utils_1 = require_global_utils();
3960
+ var API_NAME = "diag";
3961
+
3962
+ class DiagAPI {
3963
+ static instance() {
3964
+ if (!this._instance) {
3965
+ this._instance = new DiagAPI;
3966
+ }
3967
+ return this._instance;
3794
3968
  }
3795
- if (rules.read) {
3796
- const matches = checkConditionsMatch(rules.read, eventInstance.payload);
3797
- if (matches) {
3798
- return true;
3969
+ constructor() {
3970
+ function _logProxy(funcName) {
3971
+ return function(...args) {
3972
+ const logger = (0, global_utils_1.getGlobal)("diag");
3973
+ if (!logger)
3974
+ return;
3975
+ return logger[funcName](...args);
3976
+ };
3799
3977
  }
3978
+ const self2 = this;
3979
+ const setLogger = (logger, optionsOrLogLevel = { logLevel: types_1.DiagLogLevel.INFO }) => {
3980
+ var _a, _b, _c;
3981
+ if (logger === self2) {
3982
+ const err = new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");
3983
+ self2.error((_a = err.stack) !== null && _a !== undefined ? _a : err.message);
3984
+ return false;
3985
+ }
3986
+ if (typeof optionsOrLogLevel === "number") {
3987
+ optionsOrLogLevel = {
3988
+ logLevel: optionsOrLogLevel
3989
+ };
3990
+ }
3991
+ const oldLogger = (0, global_utils_1.getGlobal)("diag");
3992
+ const newLogger = (0, logLevelLogger_1.createLogLevelDiagLogger)((_b = optionsOrLogLevel.logLevel) !== null && _b !== undefined ? _b : types_1.DiagLogLevel.INFO, logger);
3993
+ if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) {
3994
+ const stack = (_c = new Error().stack) !== null && _c !== undefined ? _c : "<failed to generate stacktrace>";
3995
+ oldLogger.warn(`Current logger will be overwritten from ${stack}`);
3996
+ newLogger.warn(`Current logger will overwrite one already registered from ${stack}`);
3997
+ }
3998
+ return (0, global_utils_1.registerGlobal)("diag", newLogger, self2, true);
3999
+ };
4000
+ self2.setLogger = setLogger;
4001
+ self2.disable = () => {
4002
+ (0, global_utils_1.unregisterGlobal)(API_NAME, self2);
4003
+ };
4004
+ self2.createComponentLogger = (options) => {
4005
+ return new ComponentLogger_1.DiagComponentLogger(options);
4006
+ };
4007
+ self2.verbose = _logProxy("verbose");
4008
+ self2.debug = _logProxy("debug");
4009
+ self2.info = _logProxy("info");
4010
+ self2.warn = _logProxy("warn");
4011
+ self2.error = _logProxy("error");
3800
4012
  }
3801
4013
  }
3802
- return false;
3803
- }
3804
- function canTokenEmitEvent(token, event, payload) {
3805
- if (!token) {
3806
- return !event.hasProtections;
3807
- }
3808
- if (!event.hasProtections) {
3809
- return true;
3810
- }
3811
- for (const protection of event.protections) {
3812
- if (protection.token.name !== token.tokenType) {
3813
- continue;
4014
+ exports.DiagAPI = DiagAPI;
4015
+ });
4016
+
4017
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js
4018
+ var require_baggage_impl = __commonJS((exports) => {
4019
+ Object.defineProperty(exports, "__esModule", { value: true });
4020
+ exports.BaggageImpl = undefined;
4021
+
4022
+ class BaggageImpl {
4023
+ constructor(entries) {
4024
+ this._entries = entries ? new Map(entries) : new Map;
3814
4025
  }
3815
- const rules = protection.protectionFn(token.params);
3816
- if (rules.write) {
3817
- const matches = checkConditionsMatch(rules.write, payload);
3818
- if (matches) {
3819
- return true;
4026
+ getEntry(key) {
4027
+ const entry = this._entries.get(key);
4028
+ if (!entry) {
4029
+ return;
3820
4030
  }
4031
+ return Object.assign({}, entry);
4032
+ }
4033
+ getAllEntries() {
4034
+ return Array.from(this._entries.entries());
4035
+ }
4036
+ setEntry(key, entry) {
4037
+ const newBaggage = new BaggageImpl(this._entries);
4038
+ newBaggage._entries.set(key, entry);
4039
+ return newBaggage;
4040
+ }
4041
+ removeEntry(key) {
4042
+ const newBaggage = new BaggageImpl(this._entries);
4043
+ newBaggage._entries.delete(key);
4044
+ return newBaggage;
4045
+ }
4046
+ removeEntries(...keys) {
4047
+ const newBaggage = new BaggageImpl(this._entries);
4048
+ for (const key of keys) {
4049
+ newBaggage._entries.delete(key);
4050
+ }
4051
+ return newBaggage;
4052
+ }
4053
+ clear() {
4054
+ return new BaggageImpl;
3821
4055
  }
3822
4056
  }
3823
- return false;
3824
- }
3825
- function checkConditionsMatch(conditions, data) {
3826
- for (const [key, expectedValue] of Object.entries(conditions)) {
3827
- const actualValue = data[key];
3828
- if (actualValue !== expectedValue) {
3829
- return false;
4057
+ exports.BaggageImpl = BaggageImpl;
4058
+ });
4059
+
4060
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js
4061
+ var require_symbol = __commonJS((exports) => {
4062
+ Object.defineProperty(exports, "__esModule", { value: true });
4063
+ exports.baggageEntryMetadataSymbol = undefined;
4064
+ exports.baggageEntryMetadataSymbol = Symbol("BaggageEntryMetadata");
4065
+ });
4066
+
4067
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/utils.js
4068
+ var require_utils = __commonJS((exports) => {
4069
+ Object.defineProperty(exports, "__esModule", { value: true });
4070
+ exports.baggageEntryMetadataFromString = exports.createBaggage = undefined;
4071
+ var diag_1 = require_diag();
4072
+ var baggage_impl_1 = require_baggage_impl();
4073
+ var symbol_1 = require_symbol();
4074
+ var diag = diag_1.DiagAPI.instance();
4075
+ function createBaggage(entries = {}) {
4076
+ return new baggage_impl_1.BaggageImpl(new Map(Object.entries(entries)));
4077
+ }
4078
+ exports.createBaggage = createBaggage;
4079
+ function baggageEntryMetadataFromString(str) {
4080
+ if (typeof str !== "string") {
4081
+ diag.error(`Cannot create baggage metadata from unknown type: ${typeof str}`);
4082
+ str = "";
3830
4083
  }
4084
+ return {
4085
+ __TYPE__: symbol_1.baggageEntryMetadataSymbol,
4086
+ toString() {
4087
+ return str;
4088
+ }
4089
+ };
3831
4090
  }
3832
- return true;
3833
- }
3834
- function filterEventsForToken(token, events, eventDefinitions) {
3835
- return events.filter((eventInstance) => {
3836
- const eventDef = eventDefinitions.get(eventInstance.type);
3837
- if (!eventDef) {
3838
- return false;
4091
+ exports.baggageEntryMetadataFromString = baggageEntryMetadataFromString;
4092
+ });
4093
+
4094
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/context.js
4095
+ var require_context = __commonJS((exports) => {
4096
+ Object.defineProperty(exports, "__esModule", { value: true });
4097
+ exports.ROOT_CONTEXT = exports.createContextKey = undefined;
4098
+ function createContextKey(description) {
4099
+ return Symbol.for(description);
4100
+ }
4101
+ exports.createContextKey = createContextKey;
4102
+
4103
+ class BaseContext {
4104
+ constructor(parentContext) {
4105
+ const self2 = this;
4106
+ self2._currentContext = parentContext ? new Map(parentContext) : new Map;
4107
+ self2.getValue = (key) => self2._currentContext.get(key);
4108
+ self2.setValue = (key, value) => {
4109
+ const context = new BaseContext(self2._currentContext);
4110
+ context._currentContext.set(key, value);
4111
+ return context;
4112
+ };
4113
+ self2.deleteValue = (key) => {
4114
+ const context = new BaseContext(self2._currentContext);
4115
+ context._currentContext.delete(key);
4116
+ return context;
4117
+ };
3839
4118
  }
3840
- return canTokenReceiveEvent(token, eventDef, eventInstance);
3841
- });
3842
- }
3843
- function filterEventsForTokens(tokens, events, eventDefinitions) {
3844
- if (tokens.length === 0) {
3845
- return filterEventsForToken(null, events, eventDefinitions);
3846
4119
  }
3847
- return events.filter((eventInstance) => {
3848
- const eventDef = eventDefinitions.get(eventInstance.type);
3849
- if (!eventDef)
3850
- return false;
3851
- return tokens.some((token) => canTokenReceiveEvent(token, eventDef, eventInstance));
3852
- });
3853
- }
4120
+ exports.ROOT_CONTEXT = new BaseContext;
4121
+ });
3854
4122
 
3855
- // src/context-handler.ts
3856
- class ContextHandler {
3857
- context;
3858
- model;
3859
- dataStorage;
3860
- eventPublisher;
3861
- eventDefinitions = new Map;
3862
- hostEventIdCounter = 0;
3863
- initialized = false;
3864
- constructor(context, dbAdapter) {
3865
- this.context = context;
3866
- this.dataStorage = new MasterDataStorage(dbAdapter);
3867
- this.eventPublisher = new LocalEventPublisher(this.dataStorage);
3868
- this.model = new Model(context, {
3869
- adapters: {
3870
- dataStorage: this.dataStorage,
3871
- eventPublisher: this.eventPublisher
3872
- },
3873
- environment: "server"
3874
- });
3875
- for (const element of context.elements) {
3876
- if ("tagFields" in element && "payload" in element) {
3877
- this.eventDefinitions.set(element.name, element);
4123
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js
4124
+ var require_consoleLogger = __commonJS((exports) => {
4125
+ Object.defineProperty(exports, "__esModule", { value: true });
4126
+ exports.DiagConsoleLogger = exports._originalConsoleMethods = undefined;
4127
+ var consoleMap = [
4128
+ { n: "error", c: "error" },
4129
+ { n: "warn", c: "warn" },
4130
+ { n: "info", c: "info" },
4131
+ { n: "debug", c: "debug" },
4132
+ { n: "verbose", c: "trace" }
4133
+ ];
4134
+ exports._originalConsoleMethods = {};
4135
+ if (typeof console !== "undefined") {
4136
+ const keys = [
4137
+ "error",
4138
+ "warn",
4139
+ "info",
4140
+ "debug",
4141
+ "trace",
4142
+ "log"
4143
+ ];
4144
+ for (const key of keys) {
4145
+ if (typeof console[key] === "function") {
4146
+ exports._originalConsoleMethods[key] = console[key];
3878
4147
  }
3879
4148
  }
3880
4149
  }
3881
- async init() {
3882
- if (this.initialized)
3883
- return;
4150
+
4151
+ class DiagConsoleLogger {
4152
+ constructor() {
4153
+ function _consoleFunc(funcName) {
4154
+ return function(...args) {
4155
+ let theFunc = exports._originalConsoleMethods[funcName];
4156
+ if (typeof theFunc !== "function") {
4157
+ theFunc = exports._originalConsoleMethods["log"];
4158
+ }
4159
+ if (typeof theFunc !== "function" && console) {
4160
+ theFunc = console[funcName];
4161
+ if (typeof theFunc !== "function") {
4162
+ theFunc = console.log;
4163
+ }
4164
+ }
4165
+ if (typeof theFunc === "function") {
4166
+ return theFunc.apply(console, args);
4167
+ }
4168
+ };
4169
+ }
4170
+ for (let i = 0;i < consoleMap.length; i++) {
4171
+ this[consoleMap[i].n] = _consoleFunc(consoleMap[i].c);
4172
+ }
4173
+ }
4174
+ }
4175
+ exports.DiagConsoleLogger = DiagConsoleLogger;
4176
+ });
4177
+
4178
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js
4179
+ var require_NoopMeter = __commonJS((exports) => {
4180
+ Object.defineProperty(exports, "__esModule", { value: true });
4181
+ exports.createNoopMeter = exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = exports.NOOP_OBSERVABLE_GAUGE_METRIC = exports.NOOP_OBSERVABLE_COUNTER_METRIC = exports.NOOP_UP_DOWN_COUNTER_METRIC = exports.NOOP_HISTOGRAM_METRIC = exports.NOOP_GAUGE_METRIC = exports.NOOP_COUNTER_METRIC = exports.NOOP_METER = exports.NoopObservableUpDownCounterMetric = exports.NoopObservableGaugeMetric = exports.NoopObservableCounterMetric = exports.NoopObservableMetric = exports.NoopHistogramMetric = exports.NoopGaugeMetric = exports.NoopUpDownCounterMetric = exports.NoopCounterMetric = exports.NoopMetric = exports.NoopMeter = undefined;
4182
+
4183
+ class NoopMeter {
4184
+ constructor() {}
4185
+ createGauge(_name, _options) {
4186
+ return exports.NOOP_GAUGE_METRIC;
4187
+ }
4188
+ createHistogram(_name, _options) {
4189
+ return exports.NOOP_HISTOGRAM_METRIC;
4190
+ }
4191
+ createCounter(_name, _options) {
4192
+ return exports.NOOP_COUNTER_METRIC;
4193
+ }
4194
+ createUpDownCounter(_name, _options) {
4195
+ return exports.NOOP_UP_DOWN_COUNTER_METRIC;
4196
+ }
4197
+ createObservableGauge(_name, _options) {
4198
+ return exports.NOOP_OBSERVABLE_GAUGE_METRIC;
4199
+ }
4200
+ createObservableCounter(_name, _options) {
4201
+ return exports.NOOP_OBSERVABLE_COUNTER_METRIC;
4202
+ }
4203
+ createObservableUpDownCounter(_name, _options) {
4204
+ return exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;
4205
+ }
4206
+ addBatchObservableCallback(_callback, _observables) {}
4207
+ removeBatchObservableCallback(_callback) {}
4208
+ }
4209
+ exports.NoopMeter = NoopMeter;
4210
+
4211
+ class NoopMetric {
4212
+ }
4213
+ exports.NoopMetric = NoopMetric;
4214
+
4215
+ class NoopCounterMetric extends NoopMetric {
4216
+ add(_value, _attributes) {}
4217
+ }
4218
+ exports.NoopCounterMetric = NoopCounterMetric;
4219
+
4220
+ class NoopUpDownCounterMetric extends NoopMetric {
4221
+ add(_value, _attributes) {}
4222
+ }
4223
+ exports.NoopUpDownCounterMetric = NoopUpDownCounterMetric;
4224
+
4225
+ class NoopGaugeMetric extends NoopMetric {
4226
+ record(_value, _attributes) {}
4227
+ }
4228
+ exports.NoopGaugeMetric = NoopGaugeMetric;
4229
+
4230
+ class NoopHistogramMetric extends NoopMetric {
4231
+ record(_value, _attributes) {}
4232
+ }
4233
+ exports.NoopHistogramMetric = NoopHistogramMetric;
4234
+
4235
+ class NoopObservableMetric {
4236
+ addCallback(_callback) {}
4237
+ removeCallback(_callback) {}
4238
+ }
4239
+ exports.NoopObservableMetric = NoopObservableMetric;
4240
+
4241
+ class NoopObservableCounterMetric extends NoopObservableMetric {
4242
+ }
4243
+ exports.NoopObservableCounterMetric = NoopObservableCounterMetric;
4244
+
4245
+ class NoopObservableGaugeMetric extends NoopObservableMetric {
4246
+ }
4247
+ exports.NoopObservableGaugeMetric = NoopObservableGaugeMetric;
4248
+
4249
+ class NoopObservableUpDownCounterMetric extends NoopObservableMetric {
4250
+ }
4251
+ exports.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric;
4252
+ exports.NOOP_METER = new NoopMeter;
4253
+ exports.NOOP_COUNTER_METRIC = new NoopCounterMetric;
4254
+ exports.NOOP_GAUGE_METRIC = new NoopGaugeMetric;
4255
+ exports.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric;
4256
+ exports.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric;
4257
+ exports.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric;
4258
+ exports.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric;
4259
+ exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric;
4260
+ function createNoopMeter() {
4261
+ return exports.NOOP_METER;
4262
+ }
4263
+ exports.createNoopMeter = createNoopMeter;
4264
+ });
4265
+
4266
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/Metric.js
4267
+ var require_Metric = __commonJS((exports) => {
4268
+ Object.defineProperty(exports, "__esModule", { value: true });
4269
+ exports.ValueType = undefined;
4270
+ var ValueType;
4271
+ (function(ValueType2) {
4272
+ ValueType2[ValueType2["INT"] = 0] = "INT";
4273
+ ValueType2[ValueType2["DOUBLE"] = 1] = "DOUBLE";
4274
+ })(ValueType = exports.ValueType || (exports.ValueType = {}));
4275
+ });
4276
+
4277
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js
4278
+ var require_TextMapPropagator = __commonJS((exports) => {
4279
+ Object.defineProperty(exports, "__esModule", { value: true });
4280
+ exports.defaultTextMapSetter = exports.defaultTextMapGetter = undefined;
4281
+ exports.defaultTextMapGetter = {
4282
+ get(carrier, key) {
4283
+ if (carrier == null) {
4284
+ return;
4285
+ }
4286
+ return carrier[key];
4287
+ },
4288
+ keys(carrier) {
4289
+ if (carrier == null) {
4290
+ return [];
4291
+ }
4292
+ return Object.keys(carrier);
4293
+ }
4294
+ };
4295
+ exports.defaultTextMapSetter = {
4296
+ set(carrier, key, value) {
4297
+ if (carrier == null) {
4298
+ return;
4299
+ }
4300
+ carrier[key] = value;
4301
+ }
4302
+ };
4303
+ });
4304
+
4305
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js
4306
+ var require_NoopContextManager = __commonJS((exports) => {
4307
+ Object.defineProperty(exports, "__esModule", { value: true });
4308
+ exports.NoopContextManager = undefined;
4309
+ var context_1 = require_context();
4310
+
4311
+ class NoopContextManager {
4312
+ active() {
4313
+ return context_1.ROOT_CONTEXT;
4314
+ }
4315
+ with(_context, fn, thisArg, ...args) {
4316
+ return fn.call(thisArg, ...args);
4317
+ }
4318
+ bind(_context, target) {
4319
+ return target;
4320
+ }
4321
+ enable() {
4322
+ return this;
4323
+ }
4324
+ disable() {
4325
+ return this;
4326
+ }
4327
+ }
4328
+ exports.NoopContextManager = NoopContextManager;
4329
+ });
4330
+
4331
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/context.js
4332
+ var require_context2 = __commonJS((exports) => {
4333
+ Object.defineProperty(exports, "__esModule", { value: true });
4334
+ exports.ContextAPI = undefined;
4335
+ var NoopContextManager_1 = require_NoopContextManager();
4336
+ var global_utils_1 = require_global_utils();
4337
+ var diag_1 = require_diag();
4338
+ var API_NAME = "context";
4339
+ var NOOP_CONTEXT_MANAGER = new NoopContextManager_1.NoopContextManager;
4340
+
4341
+ class ContextAPI {
4342
+ constructor() {}
4343
+ static getInstance() {
4344
+ if (!this._instance) {
4345
+ this._instance = new ContextAPI;
4346
+ }
4347
+ return this._instance;
4348
+ }
4349
+ setGlobalContextManager(contextManager) {
4350
+ return (0, global_utils_1.registerGlobal)(API_NAME, contextManager, diag_1.DiagAPI.instance());
4351
+ }
4352
+ active() {
4353
+ return this._getContextManager().active();
4354
+ }
4355
+ with(context, fn, thisArg, ...args) {
4356
+ return this._getContextManager().with(context, fn, thisArg, ...args);
4357
+ }
4358
+ bind(context, target) {
4359
+ return this._getContextManager().bind(context, target);
4360
+ }
4361
+ _getContextManager() {
4362
+ return (0, global_utils_1.getGlobal)(API_NAME) || NOOP_CONTEXT_MANAGER;
4363
+ }
4364
+ disable() {
4365
+ this._getContextManager().disable();
4366
+ (0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
4367
+ }
4368
+ }
4369
+ exports.ContextAPI = ContextAPI;
4370
+ });
4371
+
4372
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js
4373
+ var require_trace_flags = __commonJS((exports) => {
4374
+ Object.defineProperty(exports, "__esModule", { value: true });
4375
+ exports.TraceFlags = undefined;
4376
+ var TraceFlags;
4377
+ (function(TraceFlags2) {
4378
+ TraceFlags2[TraceFlags2["NONE"] = 0] = "NONE";
4379
+ TraceFlags2[TraceFlags2["SAMPLED"] = 1] = "SAMPLED";
4380
+ })(TraceFlags = exports.TraceFlags || (exports.TraceFlags = {}));
4381
+ });
4382
+
4383
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js
4384
+ var require_invalid_span_constants = __commonJS((exports) => {
4385
+ Object.defineProperty(exports, "__esModule", { value: true });
4386
+ exports.INVALID_SPAN_CONTEXT = exports.INVALID_TRACEID = exports.INVALID_SPANID = undefined;
4387
+ var trace_flags_1 = require_trace_flags();
4388
+ exports.INVALID_SPANID = "0000000000000000";
4389
+ exports.INVALID_TRACEID = "00000000000000000000000000000000";
4390
+ exports.INVALID_SPAN_CONTEXT = {
4391
+ traceId: exports.INVALID_TRACEID,
4392
+ spanId: exports.INVALID_SPANID,
4393
+ traceFlags: trace_flags_1.TraceFlags.NONE
4394
+ };
4395
+ });
4396
+
4397
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js
4398
+ var require_NonRecordingSpan = __commonJS((exports) => {
4399
+ Object.defineProperty(exports, "__esModule", { value: true });
4400
+ exports.NonRecordingSpan = undefined;
4401
+ var invalid_span_constants_1 = require_invalid_span_constants();
4402
+
4403
+ class NonRecordingSpan {
4404
+ constructor(spanContext = invalid_span_constants_1.INVALID_SPAN_CONTEXT) {
4405
+ this._spanContext = spanContext;
4406
+ }
4407
+ spanContext() {
4408
+ return this._spanContext;
4409
+ }
4410
+ setAttribute(_key, _value) {
4411
+ return this;
4412
+ }
4413
+ setAttributes(_attributes) {
4414
+ return this;
4415
+ }
4416
+ addEvent(_name, _attributes) {
4417
+ return this;
4418
+ }
4419
+ addLink(_link) {
4420
+ return this;
4421
+ }
4422
+ addLinks(_links) {
4423
+ return this;
4424
+ }
4425
+ setStatus(_status) {
4426
+ return this;
4427
+ }
4428
+ updateName(_name) {
4429
+ return this;
4430
+ }
4431
+ end(_endTime) {}
4432
+ isRecording() {
4433
+ return false;
4434
+ }
4435
+ recordException(_exception, _time) {}
4436
+ }
4437
+ exports.NonRecordingSpan = NonRecordingSpan;
4438
+ });
4439
+
4440
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/context-utils.js
4441
+ var require_context_utils = __commonJS((exports) => {
4442
+ Object.defineProperty(exports, "__esModule", { value: true });
4443
+ exports.getSpanContext = exports.setSpanContext = exports.deleteSpan = exports.setSpan = exports.getActiveSpan = exports.getSpan = undefined;
4444
+ var context_1 = require_context();
4445
+ var NonRecordingSpan_1 = require_NonRecordingSpan();
4446
+ var context_2 = require_context2();
4447
+ var SPAN_KEY = (0, context_1.createContextKey)("OpenTelemetry Context Key SPAN");
4448
+ function getSpan(context) {
4449
+ return context.getValue(SPAN_KEY) || undefined;
4450
+ }
4451
+ exports.getSpan = getSpan;
4452
+ function getActiveSpan() {
4453
+ return getSpan(context_2.ContextAPI.getInstance().active());
4454
+ }
4455
+ exports.getActiveSpan = getActiveSpan;
4456
+ function setSpan(context, span) {
4457
+ return context.setValue(SPAN_KEY, span);
4458
+ }
4459
+ exports.setSpan = setSpan;
4460
+ function deleteSpan(context) {
4461
+ return context.deleteValue(SPAN_KEY);
4462
+ }
4463
+ exports.deleteSpan = deleteSpan;
4464
+ function setSpanContext(context, spanContext) {
4465
+ return setSpan(context, new NonRecordingSpan_1.NonRecordingSpan(spanContext));
4466
+ }
4467
+ exports.setSpanContext = setSpanContext;
4468
+ function getSpanContext(context) {
4469
+ var _a;
4470
+ return (_a = getSpan(context)) === null || _a === undefined ? undefined : _a.spanContext();
4471
+ }
4472
+ exports.getSpanContext = getSpanContext;
4473
+ });
4474
+
4475
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js
4476
+ var require_spancontext_utils = __commonJS((exports) => {
4477
+ Object.defineProperty(exports, "__esModule", { value: true });
4478
+ exports.wrapSpanContext = exports.isSpanContextValid = exports.isValidSpanId = exports.isValidTraceId = undefined;
4479
+ var invalid_span_constants_1 = require_invalid_span_constants();
4480
+ var NonRecordingSpan_1 = require_NonRecordingSpan();
4481
+ var isHex = new Uint8Array([
4482
+ 0,
4483
+ 0,
4484
+ 0,
4485
+ 0,
4486
+ 0,
4487
+ 0,
4488
+ 0,
4489
+ 0,
4490
+ 0,
4491
+ 0,
4492
+ 0,
4493
+ 0,
4494
+ 0,
4495
+ 0,
4496
+ 0,
4497
+ 0,
4498
+ 0,
4499
+ 0,
4500
+ 0,
4501
+ 0,
4502
+ 0,
4503
+ 0,
4504
+ 0,
4505
+ 0,
4506
+ 0,
4507
+ 0,
4508
+ 0,
4509
+ 0,
4510
+ 0,
4511
+ 0,
4512
+ 0,
4513
+ 0,
4514
+ 0,
4515
+ 0,
4516
+ 0,
4517
+ 0,
4518
+ 0,
4519
+ 0,
4520
+ 0,
4521
+ 0,
4522
+ 0,
4523
+ 0,
4524
+ 0,
4525
+ 0,
4526
+ 0,
4527
+ 0,
4528
+ 0,
4529
+ 0,
4530
+ 1,
4531
+ 1,
4532
+ 1,
4533
+ 1,
4534
+ 1,
4535
+ 1,
4536
+ 1,
4537
+ 1,
4538
+ 1,
4539
+ 1,
4540
+ 0,
4541
+ 0,
4542
+ 0,
4543
+ 0,
4544
+ 0,
4545
+ 0,
4546
+ 0,
4547
+ 1,
4548
+ 1,
4549
+ 1,
4550
+ 1,
4551
+ 1,
4552
+ 1,
4553
+ 0,
4554
+ 0,
4555
+ 0,
4556
+ 0,
4557
+ 0,
4558
+ 0,
4559
+ 0,
4560
+ 0,
4561
+ 0,
4562
+ 0,
4563
+ 0,
4564
+ 0,
4565
+ 0,
4566
+ 0,
4567
+ 0,
4568
+ 0,
4569
+ 0,
4570
+ 0,
4571
+ 0,
4572
+ 0,
4573
+ 0,
4574
+ 0,
4575
+ 0,
4576
+ 0,
4577
+ 0,
4578
+ 0,
4579
+ 1,
4580
+ 1,
4581
+ 1,
4582
+ 1,
4583
+ 1,
4584
+ 1
4585
+ ]);
4586
+ function isValidHex(id, length) {
4587
+ if (typeof id !== "string" || id.length !== length)
4588
+ return false;
4589
+ let r = 0;
4590
+ for (let i = 0;i < id.length; i += 4) {
4591
+ r += (isHex[id.charCodeAt(i)] | 0) + (isHex[id.charCodeAt(i + 1)] | 0) + (isHex[id.charCodeAt(i + 2)] | 0) + (isHex[id.charCodeAt(i + 3)] | 0);
4592
+ }
4593
+ return r === length;
4594
+ }
4595
+ function isValidTraceId(traceId) {
4596
+ return isValidHex(traceId, 32) && traceId !== invalid_span_constants_1.INVALID_TRACEID;
4597
+ }
4598
+ exports.isValidTraceId = isValidTraceId;
4599
+ function isValidSpanId(spanId) {
4600
+ return isValidHex(spanId, 16) && spanId !== invalid_span_constants_1.INVALID_SPANID;
4601
+ }
4602
+ exports.isValidSpanId = isValidSpanId;
4603
+ function isSpanContextValid(spanContext) {
4604
+ return isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId);
4605
+ }
4606
+ exports.isSpanContextValid = isSpanContextValid;
4607
+ function wrapSpanContext(spanContext) {
4608
+ return new NonRecordingSpan_1.NonRecordingSpan(spanContext);
4609
+ }
4610
+ exports.wrapSpanContext = wrapSpanContext;
4611
+ });
4612
+
4613
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js
4614
+ var require_NoopTracer = __commonJS((exports) => {
4615
+ Object.defineProperty(exports, "__esModule", { value: true });
4616
+ exports.NoopTracer = undefined;
4617
+ var context_1 = require_context2();
4618
+ var context_utils_1 = require_context_utils();
4619
+ var NonRecordingSpan_1 = require_NonRecordingSpan();
4620
+ var spancontext_utils_1 = require_spancontext_utils();
4621
+ var contextApi = context_1.ContextAPI.getInstance();
4622
+
4623
+ class NoopTracer {
4624
+ startSpan(name, options, context = contextApi.active()) {
4625
+ const root = Boolean(options === null || options === undefined ? undefined : options.root);
4626
+ if (root) {
4627
+ return new NonRecordingSpan_1.NonRecordingSpan;
4628
+ }
4629
+ const parentFromContext = context && (0, context_utils_1.getSpanContext)(context);
4630
+ if (isSpanContext(parentFromContext) && (0, spancontext_utils_1.isSpanContextValid)(parentFromContext)) {
4631
+ return new NonRecordingSpan_1.NonRecordingSpan(parentFromContext);
4632
+ } else {
4633
+ return new NonRecordingSpan_1.NonRecordingSpan;
4634
+ }
4635
+ }
4636
+ startActiveSpan(name, arg2, arg3, arg4) {
4637
+ let opts;
4638
+ let ctx;
4639
+ let fn;
4640
+ if (arguments.length < 2) {
4641
+ return;
4642
+ } else if (arguments.length === 2) {
4643
+ fn = arg2;
4644
+ } else if (arguments.length === 3) {
4645
+ opts = arg2;
4646
+ fn = arg3;
4647
+ } else {
4648
+ opts = arg2;
4649
+ ctx = arg3;
4650
+ fn = arg4;
4651
+ }
4652
+ const parentContext = ctx !== null && ctx !== undefined ? ctx : contextApi.active();
4653
+ const span = this.startSpan(name, opts, parentContext);
4654
+ const contextWithSpanSet = (0, context_utils_1.setSpan)(parentContext, span);
4655
+ return contextApi.with(contextWithSpanSet, fn, undefined, span);
4656
+ }
4657
+ }
4658
+ exports.NoopTracer = NoopTracer;
4659
+ function isSpanContext(spanContext) {
4660
+ return spanContext !== null && typeof spanContext === "object" && "spanId" in spanContext && typeof spanContext["spanId"] === "string" && "traceId" in spanContext && typeof spanContext["traceId"] === "string" && "traceFlags" in spanContext && typeof spanContext["traceFlags"] === "number";
4661
+ }
4662
+ });
4663
+
4664
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js
4665
+ var require_ProxyTracer = __commonJS((exports) => {
4666
+ Object.defineProperty(exports, "__esModule", { value: true });
4667
+ exports.ProxyTracer = undefined;
4668
+ var NoopTracer_1 = require_NoopTracer();
4669
+ var NOOP_TRACER = new NoopTracer_1.NoopTracer;
4670
+
4671
+ class ProxyTracer {
4672
+ constructor(provider, name, version, options) {
4673
+ this._provider = provider;
4674
+ this.name = name;
4675
+ this.version = version;
4676
+ this.options = options;
4677
+ }
4678
+ startSpan(name, options, context) {
4679
+ return this._getTracer().startSpan(name, options, context);
4680
+ }
4681
+ startActiveSpan(_name, _options, _context, _fn) {
4682
+ const tracer = this._getTracer();
4683
+ return Reflect.apply(tracer.startActiveSpan, tracer, arguments);
4684
+ }
4685
+ _getTracer() {
4686
+ if (this._delegate) {
4687
+ return this._delegate;
4688
+ }
4689
+ const tracer = this._provider.getDelegateTracer(this.name, this.version, this.options);
4690
+ if (!tracer) {
4691
+ return NOOP_TRACER;
4692
+ }
4693
+ this._delegate = tracer;
4694
+ return this._delegate;
4695
+ }
4696
+ }
4697
+ exports.ProxyTracer = ProxyTracer;
4698
+ });
4699
+
4700
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js
4701
+ var require_NoopTracerProvider = __commonJS((exports) => {
4702
+ Object.defineProperty(exports, "__esModule", { value: true });
4703
+ exports.NoopTracerProvider = undefined;
4704
+ var NoopTracer_1 = require_NoopTracer();
4705
+
4706
+ class NoopTracerProvider {
4707
+ getTracer(_name, _version, _options) {
4708
+ return new NoopTracer_1.NoopTracer;
4709
+ }
4710
+ }
4711
+ exports.NoopTracerProvider = NoopTracerProvider;
4712
+ });
4713
+
4714
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js
4715
+ var require_ProxyTracerProvider = __commonJS((exports) => {
4716
+ Object.defineProperty(exports, "__esModule", { value: true });
4717
+ exports.ProxyTracerProvider = undefined;
4718
+ var ProxyTracer_1 = require_ProxyTracer();
4719
+ var NoopTracerProvider_1 = require_NoopTracerProvider();
4720
+ var NOOP_TRACER_PROVIDER = new NoopTracerProvider_1.NoopTracerProvider;
4721
+
4722
+ class ProxyTracerProvider {
4723
+ getTracer(name, version, options) {
4724
+ var _a;
4725
+ return (_a = this.getDelegateTracer(name, version, options)) !== null && _a !== undefined ? _a : new ProxyTracer_1.ProxyTracer(this, name, version, options);
4726
+ }
4727
+ getDelegate() {
4728
+ var _a;
4729
+ return (_a = this._delegate) !== null && _a !== undefined ? _a : NOOP_TRACER_PROVIDER;
4730
+ }
4731
+ setDelegate(delegate) {
4732
+ this._delegate = delegate;
4733
+ }
4734
+ getDelegateTracer(name, version, options) {
4735
+ var _a;
4736
+ return (_a = this._delegate) === null || _a === undefined ? undefined : _a.getTracer(name, version, options);
4737
+ }
4738
+ }
4739
+ exports.ProxyTracerProvider = ProxyTracerProvider;
4740
+ });
4741
+
4742
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js
4743
+ var require_SamplingResult = __commonJS((exports) => {
4744
+ Object.defineProperty(exports, "__esModule", { value: true });
4745
+ exports.SamplingDecision = undefined;
4746
+ var SamplingDecision;
4747
+ (function(SamplingDecision2) {
4748
+ SamplingDecision2[SamplingDecision2["NOT_RECORD"] = 0] = "NOT_RECORD";
4749
+ SamplingDecision2[SamplingDecision2["RECORD"] = 1] = "RECORD";
4750
+ SamplingDecision2[SamplingDecision2["RECORD_AND_SAMPLED"] = 2] = "RECORD_AND_SAMPLED";
4751
+ })(SamplingDecision = exports.SamplingDecision || (exports.SamplingDecision = {}));
4752
+ });
4753
+
4754
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/span_kind.js
4755
+ var require_span_kind = __commonJS((exports) => {
4756
+ Object.defineProperty(exports, "__esModule", { value: true });
4757
+ exports.SpanKind = undefined;
4758
+ var SpanKind;
4759
+ (function(SpanKind2) {
4760
+ SpanKind2[SpanKind2["INTERNAL"] = 0] = "INTERNAL";
4761
+ SpanKind2[SpanKind2["SERVER"] = 1] = "SERVER";
4762
+ SpanKind2[SpanKind2["CLIENT"] = 2] = "CLIENT";
4763
+ SpanKind2[SpanKind2["PRODUCER"] = 3] = "PRODUCER";
4764
+ SpanKind2[SpanKind2["CONSUMER"] = 4] = "CONSUMER";
4765
+ })(SpanKind = exports.SpanKind || (exports.SpanKind = {}));
4766
+ });
4767
+
4768
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/status.js
4769
+ var require_status = __commonJS((exports) => {
4770
+ Object.defineProperty(exports, "__esModule", { value: true });
4771
+ exports.SpanStatusCode = undefined;
4772
+ var SpanStatusCode;
4773
+ (function(SpanStatusCode2) {
4774
+ SpanStatusCode2[SpanStatusCode2["UNSET"] = 0] = "UNSET";
4775
+ SpanStatusCode2[SpanStatusCode2["OK"] = 1] = "OK";
4776
+ SpanStatusCode2[SpanStatusCode2["ERROR"] = 2] = "ERROR";
4777
+ })(SpanStatusCode = exports.SpanStatusCode || (exports.SpanStatusCode = {}));
4778
+ });
4779
+
4780
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js
4781
+ var require_tracestate_validators = __commonJS((exports) => {
4782
+ Object.defineProperty(exports, "__esModule", { value: true });
4783
+ exports.validateValue = exports.validateKey = undefined;
4784
+ var VALID_KEY_CHAR_RANGE = "[_0-9a-z-*/]";
4785
+ var VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;
4786
+ var VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;
4787
+ var VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);
4788
+ var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
4789
+ var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
4790
+ function validateKey(key) {
4791
+ return VALID_KEY_REGEX.test(key);
4792
+ }
4793
+ exports.validateKey = validateKey;
4794
+ function validateValue(value) {
4795
+ return VALID_VALUE_BASE_REGEX.test(value) && !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value);
4796
+ }
4797
+ exports.validateValue = validateValue;
4798
+ });
4799
+
4800
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js
4801
+ var require_tracestate_impl = __commonJS((exports) => {
4802
+ Object.defineProperty(exports, "__esModule", { value: true });
4803
+ exports.TraceStateImpl = undefined;
4804
+ var tracestate_validators_1 = require_tracestate_validators();
4805
+ var MAX_TRACE_STATE_ITEMS = 32;
4806
+ var MAX_TRACE_STATE_LEN = 512;
4807
+ var LIST_MEMBERS_SEPARATOR = ",";
4808
+ var LIST_MEMBER_KEY_VALUE_SPLITTER = "=";
4809
+
4810
+ class TraceStateImpl {
4811
+ constructor(rawTraceState) {
4812
+ this._internalState = new Map;
4813
+ if (rawTraceState)
4814
+ this._parse(rawTraceState);
4815
+ }
4816
+ set(key, value) {
4817
+ const traceState = this._clone();
4818
+ if (traceState._internalState.has(key)) {
4819
+ traceState._internalState.delete(key);
4820
+ }
4821
+ traceState._internalState.set(key, value);
4822
+ return traceState;
4823
+ }
4824
+ unset(key) {
4825
+ const traceState = this._clone();
4826
+ traceState._internalState.delete(key);
4827
+ return traceState;
4828
+ }
4829
+ get(key) {
4830
+ return this._internalState.get(key);
4831
+ }
4832
+ serialize() {
4833
+ return Array.from(this._internalState.keys()).reduceRight((agg, key) => {
4834
+ agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));
4835
+ return agg;
4836
+ }, []).join(LIST_MEMBERS_SEPARATOR);
4837
+ }
4838
+ _parse(rawTraceState) {
4839
+ if (rawTraceState.length > MAX_TRACE_STATE_LEN)
4840
+ return;
4841
+ this._internalState = rawTraceState.split(LIST_MEMBERS_SEPARATOR).reduceRight((agg, part) => {
4842
+ const listMember = part.trim();
4843
+ const i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
4844
+ if (i !== -1) {
4845
+ const key = listMember.slice(0, i);
4846
+ const value = listMember.slice(i + 1, part.length);
4847
+ if ((0, tracestate_validators_1.validateKey)(key) && (0, tracestate_validators_1.validateValue)(value)) {
4848
+ agg.set(key, value);
4849
+ } else {}
4850
+ }
4851
+ return agg;
4852
+ }, new Map);
4853
+ if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
4854
+ this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, MAX_TRACE_STATE_ITEMS));
4855
+ }
4856
+ }
4857
+ _keys() {
4858
+ return Array.from(this._internalState.keys()).reverse();
4859
+ }
4860
+ _clone() {
4861
+ const traceState = new TraceStateImpl;
4862
+ traceState._internalState = new Map(this._internalState);
4863
+ return traceState;
4864
+ }
4865
+ }
4866
+ exports.TraceStateImpl = TraceStateImpl;
4867
+ });
4868
+
4869
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js
4870
+ var require_utils2 = __commonJS((exports) => {
4871
+ Object.defineProperty(exports, "__esModule", { value: true });
4872
+ exports.createTraceState = undefined;
4873
+ var tracestate_impl_1 = require_tracestate_impl();
4874
+ function createTraceState(rawTraceState) {
4875
+ return new tracestate_impl_1.TraceStateImpl(rawTraceState);
4876
+ }
4877
+ exports.createTraceState = createTraceState;
4878
+ });
4879
+
4880
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context-api.js
4881
+ var require_context_api = __commonJS((exports) => {
4882
+ Object.defineProperty(exports, "__esModule", { value: true });
4883
+ exports.context = undefined;
4884
+ var context_1 = require_context2();
4885
+ exports.context = context_1.ContextAPI.getInstance();
4886
+ });
4887
+
4888
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag-api.js
4889
+ var require_diag_api = __commonJS((exports) => {
4890
+ Object.defineProperty(exports, "__esModule", { value: true });
4891
+ exports.diag = undefined;
4892
+ var diag_1 = require_diag();
4893
+ exports.diag = diag_1.DiagAPI.instance();
4894
+ });
4895
+
4896
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js
4897
+ var require_NoopMeterProvider = __commonJS((exports) => {
4898
+ Object.defineProperty(exports, "__esModule", { value: true });
4899
+ exports.NOOP_METER_PROVIDER = exports.NoopMeterProvider = undefined;
4900
+ var NoopMeter_1 = require_NoopMeter();
4901
+
4902
+ class NoopMeterProvider {
4903
+ getMeter(_name, _version, _options) {
4904
+ return NoopMeter_1.NOOP_METER;
4905
+ }
4906
+ }
4907
+ exports.NoopMeterProvider = NoopMeterProvider;
4908
+ exports.NOOP_METER_PROVIDER = new NoopMeterProvider;
4909
+ });
4910
+
4911
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/metrics.js
4912
+ var require_metrics = __commonJS((exports) => {
4913
+ Object.defineProperty(exports, "__esModule", { value: true });
4914
+ exports.MetricsAPI = undefined;
4915
+ var NoopMeterProvider_1 = require_NoopMeterProvider();
4916
+ var global_utils_1 = require_global_utils();
4917
+ var diag_1 = require_diag();
4918
+ var API_NAME = "metrics";
4919
+
4920
+ class MetricsAPI {
4921
+ constructor() {}
4922
+ static getInstance() {
4923
+ if (!this._instance) {
4924
+ this._instance = new MetricsAPI;
4925
+ }
4926
+ return this._instance;
4927
+ }
4928
+ setGlobalMeterProvider(provider) {
4929
+ return (0, global_utils_1.registerGlobal)(API_NAME, provider, diag_1.DiagAPI.instance());
4930
+ }
4931
+ getMeterProvider() {
4932
+ return (0, global_utils_1.getGlobal)(API_NAME) || NoopMeterProvider_1.NOOP_METER_PROVIDER;
4933
+ }
4934
+ getMeter(name, version, options) {
4935
+ return this.getMeterProvider().getMeter(name, version, options);
4936
+ }
4937
+ disable() {
4938
+ (0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
4939
+ }
4940
+ }
4941
+ exports.MetricsAPI = MetricsAPI;
4942
+ });
4943
+
4944
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics-api.js
4945
+ var require_metrics_api = __commonJS((exports) => {
4946
+ Object.defineProperty(exports, "__esModule", { value: true });
4947
+ exports.metrics = undefined;
4948
+ var metrics_1 = require_metrics();
4949
+ exports.metrics = metrics_1.MetricsAPI.getInstance();
4950
+ });
4951
+
4952
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js
4953
+ var require_NoopTextMapPropagator = __commonJS((exports) => {
4954
+ Object.defineProperty(exports, "__esModule", { value: true });
4955
+ exports.NoopTextMapPropagator = undefined;
4956
+
4957
+ class NoopTextMapPropagator {
4958
+ inject(_context, _carrier) {}
4959
+ extract(context, _carrier) {
4960
+ return context;
4961
+ }
4962
+ fields() {
4963
+ return [];
4964
+ }
4965
+ }
4966
+ exports.NoopTextMapPropagator = NoopTextMapPropagator;
4967
+ });
4968
+
4969
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js
4970
+ var require_context_helpers = __commonJS((exports) => {
4971
+ Object.defineProperty(exports, "__esModule", { value: true });
4972
+ exports.deleteBaggage = exports.setBaggage = exports.getActiveBaggage = exports.getBaggage = undefined;
4973
+ var context_1 = require_context2();
4974
+ var context_2 = require_context();
4975
+ var BAGGAGE_KEY = (0, context_2.createContextKey)("OpenTelemetry Baggage Key");
4976
+ function getBaggage(context) {
4977
+ return context.getValue(BAGGAGE_KEY) || undefined;
4978
+ }
4979
+ exports.getBaggage = getBaggage;
4980
+ function getActiveBaggage() {
4981
+ return getBaggage(context_1.ContextAPI.getInstance().active());
4982
+ }
4983
+ exports.getActiveBaggage = getActiveBaggage;
4984
+ function setBaggage(context, baggage) {
4985
+ return context.setValue(BAGGAGE_KEY, baggage);
4986
+ }
4987
+ exports.setBaggage = setBaggage;
4988
+ function deleteBaggage(context) {
4989
+ return context.deleteValue(BAGGAGE_KEY);
4990
+ }
4991
+ exports.deleteBaggage = deleteBaggage;
4992
+ });
4993
+
4994
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/propagation.js
4995
+ var require_propagation = __commonJS((exports) => {
4996
+ Object.defineProperty(exports, "__esModule", { value: true });
4997
+ exports.PropagationAPI = undefined;
4998
+ var global_utils_1 = require_global_utils();
4999
+ var NoopTextMapPropagator_1 = require_NoopTextMapPropagator();
5000
+ var TextMapPropagator_1 = require_TextMapPropagator();
5001
+ var context_helpers_1 = require_context_helpers();
5002
+ var utils_1 = require_utils();
5003
+ var diag_1 = require_diag();
5004
+ var API_NAME = "propagation";
5005
+ var NOOP_TEXT_MAP_PROPAGATOR = new NoopTextMapPropagator_1.NoopTextMapPropagator;
5006
+
5007
+ class PropagationAPI {
5008
+ constructor() {
5009
+ this.createBaggage = utils_1.createBaggage;
5010
+ this.getBaggage = context_helpers_1.getBaggage;
5011
+ this.getActiveBaggage = context_helpers_1.getActiveBaggage;
5012
+ this.setBaggage = context_helpers_1.setBaggage;
5013
+ this.deleteBaggage = context_helpers_1.deleteBaggage;
5014
+ }
5015
+ static getInstance() {
5016
+ if (!this._instance) {
5017
+ this._instance = new PropagationAPI;
5018
+ }
5019
+ return this._instance;
5020
+ }
5021
+ setGlobalPropagator(propagator) {
5022
+ return (0, global_utils_1.registerGlobal)(API_NAME, propagator, diag_1.DiagAPI.instance());
5023
+ }
5024
+ inject(context, carrier, setter = TextMapPropagator_1.defaultTextMapSetter) {
5025
+ return this._getGlobalPropagator().inject(context, carrier, setter);
5026
+ }
5027
+ extract(context, carrier, getter = TextMapPropagator_1.defaultTextMapGetter) {
5028
+ return this._getGlobalPropagator().extract(context, carrier, getter);
5029
+ }
5030
+ fields() {
5031
+ return this._getGlobalPropagator().fields();
5032
+ }
5033
+ disable() {
5034
+ (0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
5035
+ }
5036
+ _getGlobalPropagator() {
5037
+ return (0, global_utils_1.getGlobal)(API_NAME) || NOOP_TEXT_MAP_PROPAGATOR;
5038
+ }
5039
+ }
5040
+ exports.PropagationAPI = PropagationAPI;
5041
+ });
5042
+
5043
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation-api.js
5044
+ var require_propagation_api = __commonJS((exports) => {
5045
+ Object.defineProperty(exports, "__esModule", { value: true });
5046
+ exports.propagation = undefined;
5047
+ var propagation_1 = require_propagation();
5048
+ exports.propagation = propagation_1.PropagationAPI.getInstance();
5049
+ });
5050
+
5051
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/trace.js
5052
+ var require_trace = __commonJS((exports) => {
5053
+ Object.defineProperty(exports, "__esModule", { value: true });
5054
+ exports.TraceAPI = undefined;
5055
+ var global_utils_1 = require_global_utils();
5056
+ var ProxyTracerProvider_1 = require_ProxyTracerProvider();
5057
+ var spancontext_utils_1 = require_spancontext_utils();
5058
+ var context_utils_1 = require_context_utils();
5059
+ var diag_1 = require_diag();
5060
+ var API_NAME = "trace";
5061
+
5062
+ class TraceAPI {
5063
+ constructor() {
5064
+ this._proxyTracerProvider = new ProxyTracerProvider_1.ProxyTracerProvider;
5065
+ this.wrapSpanContext = spancontext_utils_1.wrapSpanContext;
5066
+ this.isSpanContextValid = spancontext_utils_1.isSpanContextValid;
5067
+ this.deleteSpan = context_utils_1.deleteSpan;
5068
+ this.getSpan = context_utils_1.getSpan;
5069
+ this.getActiveSpan = context_utils_1.getActiveSpan;
5070
+ this.getSpanContext = context_utils_1.getSpanContext;
5071
+ this.setSpan = context_utils_1.setSpan;
5072
+ this.setSpanContext = context_utils_1.setSpanContext;
5073
+ }
5074
+ static getInstance() {
5075
+ if (!this._instance) {
5076
+ this._instance = new TraceAPI;
5077
+ }
5078
+ return this._instance;
5079
+ }
5080
+ setGlobalTracerProvider(provider) {
5081
+ const success = (0, global_utils_1.registerGlobal)(API_NAME, this._proxyTracerProvider, diag_1.DiagAPI.instance());
5082
+ if (success) {
5083
+ this._proxyTracerProvider.setDelegate(provider);
5084
+ }
5085
+ return success;
5086
+ }
5087
+ getTracerProvider() {
5088
+ return (0, global_utils_1.getGlobal)(API_NAME) || this._proxyTracerProvider;
5089
+ }
5090
+ getTracer(name, version) {
5091
+ return this.getTracerProvider().getTracer(name, version);
5092
+ }
5093
+ disable() {
5094
+ (0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
5095
+ this._proxyTracerProvider = new ProxyTracerProvider_1.ProxyTracerProvider;
5096
+ }
5097
+ }
5098
+ exports.TraceAPI = TraceAPI;
5099
+ });
5100
+
5101
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace-api.js
5102
+ var require_trace_api = __commonJS((exports) => {
5103
+ Object.defineProperty(exports, "__esModule", { value: true });
5104
+ exports.trace = undefined;
5105
+ var trace_1 = require_trace();
5106
+ exports.trace = trace_1.TraceAPI.getInstance();
5107
+ });
5108
+
5109
+ // ../../node_modules/.bun/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/index.js
5110
+ var require_src = __commonJS((exports) => {
5111
+ Object.defineProperty(exports, "__esModule", { value: true });
5112
+ exports.trace = exports.propagation = exports.metrics = exports.diag = exports.context = exports.INVALID_SPAN_CONTEXT = exports.INVALID_TRACEID = exports.INVALID_SPANID = exports.isValidSpanId = exports.isValidTraceId = exports.isSpanContextValid = exports.createTraceState = exports.TraceFlags = exports.SpanStatusCode = exports.SpanKind = exports.SamplingDecision = exports.ProxyTracerProvider = exports.ProxyTracer = exports.defaultTextMapSetter = exports.defaultTextMapGetter = exports.ValueType = exports.createNoopMeter = exports.DiagLogLevel = exports.DiagConsoleLogger = exports.ROOT_CONTEXT = exports.createContextKey = exports.baggageEntryMetadataFromString = undefined;
5113
+ var utils_1 = require_utils();
5114
+ Object.defineProperty(exports, "baggageEntryMetadataFromString", { enumerable: true, get: function() {
5115
+ return utils_1.baggageEntryMetadataFromString;
5116
+ } });
5117
+ var context_1 = require_context();
5118
+ Object.defineProperty(exports, "createContextKey", { enumerable: true, get: function() {
5119
+ return context_1.createContextKey;
5120
+ } });
5121
+ Object.defineProperty(exports, "ROOT_CONTEXT", { enumerable: true, get: function() {
5122
+ return context_1.ROOT_CONTEXT;
5123
+ } });
5124
+ var consoleLogger_1 = require_consoleLogger();
5125
+ Object.defineProperty(exports, "DiagConsoleLogger", { enumerable: true, get: function() {
5126
+ return consoleLogger_1.DiagConsoleLogger;
5127
+ } });
5128
+ var types_1 = require_types();
5129
+ Object.defineProperty(exports, "DiagLogLevel", { enumerable: true, get: function() {
5130
+ return types_1.DiagLogLevel;
5131
+ } });
5132
+ var NoopMeter_1 = require_NoopMeter();
5133
+ Object.defineProperty(exports, "createNoopMeter", { enumerable: true, get: function() {
5134
+ return NoopMeter_1.createNoopMeter;
5135
+ } });
5136
+ var Metric_1 = require_Metric();
5137
+ Object.defineProperty(exports, "ValueType", { enumerable: true, get: function() {
5138
+ return Metric_1.ValueType;
5139
+ } });
5140
+ var TextMapPropagator_1 = require_TextMapPropagator();
5141
+ Object.defineProperty(exports, "defaultTextMapGetter", { enumerable: true, get: function() {
5142
+ return TextMapPropagator_1.defaultTextMapGetter;
5143
+ } });
5144
+ Object.defineProperty(exports, "defaultTextMapSetter", { enumerable: true, get: function() {
5145
+ return TextMapPropagator_1.defaultTextMapSetter;
5146
+ } });
5147
+ var ProxyTracer_1 = require_ProxyTracer();
5148
+ Object.defineProperty(exports, "ProxyTracer", { enumerable: true, get: function() {
5149
+ return ProxyTracer_1.ProxyTracer;
5150
+ } });
5151
+ var ProxyTracerProvider_1 = require_ProxyTracerProvider();
5152
+ Object.defineProperty(exports, "ProxyTracerProvider", { enumerable: true, get: function() {
5153
+ return ProxyTracerProvider_1.ProxyTracerProvider;
5154
+ } });
5155
+ var SamplingResult_1 = require_SamplingResult();
5156
+ Object.defineProperty(exports, "SamplingDecision", { enumerable: true, get: function() {
5157
+ return SamplingResult_1.SamplingDecision;
5158
+ } });
5159
+ var span_kind_1 = require_span_kind();
5160
+ Object.defineProperty(exports, "SpanKind", { enumerable: true, get: function() {
5161
+ return span_kind_1.SpanKind;
5162
+ } });
5163
+ var status_1 = require_status();
5164
+ Object.defineProperty(exports, "SpanStatusCode", { enumerable: true, get: function() {
5165
+ return status_1.SpanStatusCode;
5166
+ } });
5167
+ var trace_flags_1 = require_trace_flags();
5168
+ Object.defineProperty(exports, "TraceFlags", { enumerable: true, get: function() {
5169
+ return trace_flags_1.TraceFlags;
5170
+ } });
5171
+ var utils_2 = require_utils2();
5172
+ Object.defineProperty(exports, "createTraceState", { enumerable: true, get: function() {
5173
+ return utils_2.createTraceState;
5174
+ } });
5175
+ var spancontext_utils_1 = require_spancontext_utils();
5176
+ Object.defineProperty(exports, "isSpanContextValid", { enumerable: true, get: function() {
5177
+ return spancontext_utils_1.isSpanContextValid;
5178
+ } });
5179
+ Object.defineProperty(exports, "isValidTraceId", { enumerable: true, get: function() {
5180
+ return spancontext_utils_1.isValidTraceId;
5181
+ } });
5182
+ Object.defineProperty(exports, "isValidSpanId", { enumerable: true, get: function() {
5183
+ return spancontext_utils_1.isValidSpanId;
5184
+ } });
5185
+ var invalid_span_constants_1 = require_invalid_span_constants();
5186
+ Object.defineProperty(exports, "INVALID_SPANID", { enumerable: true, get: function() {
5187
+ return invalid_span_constants_1.INVALID_SPANID;
5188
+ } });
5189
+ Object.defineProperty(exports, "INVALID_TRACEID", { enumerable: true, get: function() {
5190
+ return invalid_span_constants_1.INVALID_TRACEID;
5191
+ } });
5192
+ Object.defineProperty(exports, "INVALID_SPAN_CONTEXT", { enumerable: true, get: function() {
5193
+ return invalid_span_constants_1.INVALID_SPAN_CONTEXT;
5194
+ } });
5195
+ var context_api_1 = require_context_api();
5196
+ Object.defineProperty(exports, "context", { enumerable: true, get: function() {
5197
+ return context_api_1.context;
5198
+ } });
5199
+ var diag_api_1 = require_diag_api();
5200
+ Object.defineProperty(exports, "diag", { enumerable: true, get: function() {
5201
+ return diag_api_1.diag;
5202
+ } });
5203
+ var metrics_api_1 = require_metrics_api();
5204
+ Object.defineProperty(exports, "metrics", { enumerable: true, get: function() {
5205
+ return metrics_api_1.metrics;
5206
+ } });
5207
+ var propagation_api_1 = require_propagation_api();
5208
+ Object.defineProperty(exports, "propagation", { enumerable: true, get: function() {
5209
+ return propagation_api_1.propagation;
5210
+ } });
5211
+ var trace_api_1 = require_trace_api();
5212
+ Object.defineProperty(exports, "trace", { enumerable: true, get: function() {
5213
+ return trace_api_1.trace;
5214
+ } });
5215
+ exports.default = {
5216
+ context: context_api_1.context,
5217
+ diag: diag_api_1.diag,
5218
+ metrics: metrics_api_1.metrics,
5219
+ propagation: propagation_api_1.propagation,
5220
+ trace: trace_api_1.trace
5221
+ };
5222
+ });
5223
+
5224
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/types/LogRecord.js
5225
+ var SeverityNumber;
5226
+ var init_LogRecord = __esm(() => {
5227
+ (function(SeverityNumber2) {
5228
+ SeverityNumber2[SeverityNumber2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
5229
+ SeverityNumber2[SeverityNumber2["TRACE"] = 1] = "TRACE";
5230
+ SeverityNumber2[SeverityNumber2["TRACE2"] = 2] = "TRACE2";
5231
+ SeverityNumber2[SeverityNumber2["TRACE3"] = 3] = "TRACE3";
5232
+ SeverityNumber2[SeverityNumber2["TRACE4"] = 4] = "TRACE4";
5233
+ SeverityNumber2[SeverityNumber2["DEBUG"] = 5] = "DEBUG";
5234
+ SeverityNumber2[SeverityNumber2["DEBUG2"] = 6] = "DEBUG2";
5235
+ SeverityNumber2[SeverityNumber2["DEBUG3"] = 7] = "DEBUG3";
5236
+ SeverityNumber2[SeverityNumber2["DEBUG4"] = 8] = "DEBUG4";
5237
+ SeverityNumber2[SeverityNumber2["INFO"] = 9] = "INFO";
5238
+ SeverityNumber2[SeverityNumber2["INFO2"] = 10] = "INFO2";
5239
+ SeverityNumber2[SeverityNumber2["INFO3"] = 11] = "INFO3";
5240
+ SeverityNumber2[SeverityNumber2["INFO4"] = 12] = "INFO4";
5241
+ SeverityNumber2[SeverityNumber2["WARN"] = 13] = "WARN";
5242
+ SeverityNumber2[SeverityNumber2["WARN2"] = 14] = "WARN2";
5243
+ SeverityNumber2[SeverityNumber2["WARN3"] = 15] = "WARN3";
5244
+ SeverityNumber2[SeverityNumber2["WARN4"] = 16] = "WARN4";
5245
+ SeverityNumber2[SeverityNumber2["ERROR"] = 17] = "ERROR";
5246
+ SeverityNumber2[SeverityNumber2["ERROR2"] = 18] = "ERROR2";
5247
+ SeverityNumber2[SeverityNumber2["ERROR3"] = 19] = "ERROR3";
5248
+ SeverityNumber2[SeverityNumber2["ERROR4"] = 20] = "ERROR4";
5249
+ SeverityNumber2[SeverityNumber2["FATAL"] = 21] = "FATAL";
5250
+ SeverityNumber2[SeverityNumber2["FATAL2"] = 22] = "FATAL2";
5251
+ SeverityNumber2[SeverityNumber2["FATAL3"] = 23] = "FATAL3";
5252
+ SeverityNumber2[SeverityNumber2["FATAL4"] = 24] = "FATAL4";
5253
+ })(SeverityNumber || (SeverityNumber = {}));
5254
+ });
5255
+
5256
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js
5257
+ var NoopLogger, NOOP_LOGGER;
5258
+ var init_NoopLogger = __esm(() => {
5259
+ NoopLogger = function() {
5260
+ function NoopLogger2() {}
5261
+ NoopLogger2.prototype.emit = function(_logRecord) {};
5262
+ return NoopLogger2;
5263
+ }();
5264
+ NOOP_LOGGER = new NoopLogger;
5265
+ });
5266
+
5267
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/NoopLoggerProvider.js
5268
+ var NoopLoggerProvider, NOOP_LOGGER_PROVIDER;
5269
+ var init_NoopLoggerProvider = __esm(() => {
5270
+ init_NoopLogger();
5271
+ NoopLoggerProvider = function() {
5272
+ function NoopLoggerProvider2() {}
5273
+ NoopLoggerProvider2.prototype.getLogger = function(_name, _version, _options) {
5274
+ return new NoopLogger;
5275
+ };
5276
+ return NoopLoggerProvider2;
5277
+ }();
5278
+ NOOP_LOGGER_PROVIDER = new NoopLoggerProvider;
5279
+ });
5280
+
5281
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/ProxyLogger.js
5282
+ var ProxyLogger;
5283
+ var init_ProxyLogger = __esm(() => {
5284
+ init_NoopLogger();
5285
+ ProxyLogger = function() {
5286
+ function ProxyLogger2(_provider, name, version, options) {
5287
+ this._provider = _provider;
5288
+ this.name = name;
5289
+ this.version = version;
5290
+ this.options = options;
5291
+ }
5292
+ ProxyLogger2.prototype.emit = function(logRecord) {
5293
+ this._getLogger().emit(logRecord);
5294
+ };
5295
+ ProxyLogger2.prototype._getLogger = function() {
5296
+ if (this._delegate) {
5297
+ return this._delegate;
5298
+ }
5299
+ var logger = this._provider.getDelegateLogger(this.name, this.version, this.options);
5300
+ if (!logger) {
5301
+ return NOOP_LOGGER;
5302
+ }
5303
+ this._delegate = logger;
5304
+ return this._delegate;
5305
+ };
5306
+ return ProxyLogger2;
5307
+ }();
5308
+ });
5309
+
5310
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/ProxyLoggerProvider.js
5311
+ var ProxyLoggerProvider;
5312
+ var init_ProxyLoggerProvider = __esm(() => {
5313
+ init_NoopLoggerProvider();
5314
+ init_ProxyLogger();
5315
+ ProxyLoggerProvider = function() {
5316
+ function ProxyLoggerProvider2() {}
5317
+ ProxyLoggerProvider2.prototype.getLogger = function(name, version, options) {
5318
+ var _a;
5319
+ return (_a = this.getDelegateLogger(name, version, options)) !== null && _a !== undefined ? _a : new ProxyLogger(this, name, version, options);
5320
+ };
5321
+ ProxyLoggerProvider2.prototype.getDelegate = function() {
5322
+ var _a;
5323
+ return (_a = this._delegate) !== null && _a !== undefined ? _a : NOOP_LOGGER_PROVIDER;
5324
+ };
5325
+ ProxyLoggerProvider2.prototype.setDelegate = function(delegate) {
5326
+ this._delegate = delegate;
5327
+ };
5328
+ ProxyLoggerProvider2.prototype.getDelegateLogger = function(name, version, options) {
5329
+ var _a;
5330
+ return (_a = this._delegate) === null || _a === undefined ? undefined : _a.getLogger(name, version, options);
5331
+ };
5332
+ return ProxyLoggerProvider2;
5333
+ }();
5334
+ });
5335
+
5336
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/platform/node/globalThis.js
5337
+ var _globalThis;
5338
+ var init_globalThis = __esm(() => {
5339
+ _globalThis = typeof globalThis === "object" ? globalThis : global;
5340
+ });
5341
+
5342
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/platform/node/index.js
5343
+ var init_node = __esm(() => {
5344
+ init_globalThis();
5345
+ });
5346
+
5347
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/platform/index.js
5348
+ var init_platform = __esm(() => {
5349
+ init_node();
5350
+ });
5351
+
5352
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/internal/global-utils.js
5353
+ function makeGetter(requiredVersion, instance, fallback) {
5354
+ return function(version) {
5355
+ return version === requiredVersion ? instance : fallback;
5356
+ };
5357
+ }
5358
+ var GLOBAL_LOGS_API_KEY, _global, API_BACKWARDS_COMPATIBILITY_VERSION = 1;
5359
+ var init_global_utils = __esm(() => {
5360
+ init_platform();
5361
+ GLOBAL_LOGS_API_KEY = Symbol.for("io.opentelemetry.js.api.logs");
5362
+ _global = _globalThis;
5363
+ });
5364
+
5365
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js
5366
+ var LogsAPI;
5367
+ var init_logs = __esm(() => {
5368
+ init_global_utils();
5369
+ init_NoopLoggerProvider();
5370
+ init_ProxyLoggerProvider();
5371
+ LogsAPI = function() {
5372
+ function LogsAPI2() {
5373
+ this._proxyLoggerProvider = new ProxyLoggerProvider;
5374
+ }
5375
+ LogsAPI2.getInstance = function() {
5376
+ if (!this._instance) {
5377
+ this._instance = new LogsAPI2;
5378
+ }
5379
+ return this._instance;
5380
+ };
5381
+ LogsAPI2.prototype.setGlobalLoggerProvider = function(provider) {
5382
+ if (_global[GLOBAL_LOGS_API_KEY]) {
5383
+ return this.getLoggerProvider();
5384
+ }
5385
+ _global[GLOBAL_LOGS_API_KEY] = makeGetter(API_BACKWARDS_COMPATIBILITY_VERSION, provider, NOOP_LOGGER_PROVIDER);
5386
+ this._proxyLoggerProvider.setDelegate(provider);
5387
+ return provider;
5388
+ };
5389
+ LogsAPI2.prototype.getLoggerProvider = function() {
5390
+ var _a, _b;
5391
+ return (_b = (_a = _global[GLOBAL_LOGS_API_KEY]) === null || _a === undefined ? undefined : _a.call(_global, API_BACKWARDS_COMPATIBILITY_VERSION)) !== null && _b !== undefined ? _b : this._proxyLoggerProvider;
5392
+ };
5393
+ LogsAPI2.prototype.getLogger = function(name, version, options) {
5394
+ return this.getLoggerProvider().getLogger(name, version, options);
5395
+ };
5396
+ LogsAPI2.prototype.disable = function() {
5397
+ delete _global[GLOBAL_LOGS_API_KEY];
5398
+ this._proxyLoggerProvider = new ProxyLoggerProvider;
5399
+ };
5400
+ return LogsAPI2;
5401
+ }();
5402
+ });
5403
+
5404
+ // ../../node_modules/.bun/@opentelemetry+api-logs@0.57.2/node_modules/@opentelemetry/api-logs/build/esm/index.js
5405
+ var logs;
5406
+ var init_esm = __esm(() => {
5407
+ init_LogRecord();
5408
+ init_logs();
5409
+ logs = LogsAPI.getInstance();
5410
+ });
5411
+
5412
+ // ../observability/dist/index.js
5413
+ var exports_dist = {};
5414
+ __export(exports_dist, {
5415
+ wrapDbAdapter: () => wrapDbAdapter,
5416
+ sanitizeAttrs: () => sanitizeAttrs,
5417
+ redactConnectionString: () => redactConnectionString,
5418
+ injectTraceContext: () => injectTraceContext,
5419
+ getActiveSpan: () => getActiveSpan,
5420
+ extractTraceContext: () => extractTraceContext,
5421
+ contextFromHeaders: () => contextFromHeaders,
5422
+ TRACE_CONTEXT_HEADERS: () => TRACE_CONTEXT_HEADERS,
5423
+ SpanStatusCode: () => import_api3.SpanStatusCode,
5424
+ SpanKind: () => import_api3.SpanKind,
5425
+ DEFAULT_REDACT_KEY_PATTERN: () => DEFAULT_REDACT_KEY_PATTERN,
5426
+ DEFAULT_MAX_STRING_LEN: () => DEFAULT_MAX_STRING_LEN,
5427
+ DEFAULT_MAX_JSON_LEN: () => DEFAULT_MAX_JSON_LEN,
5428
+ ArcTelemetry: () => ArcTelemetry
5429
+ });
5430
+ function sanitizeAttrs(input, opts = {}) {
5431
+ if (!input)
5432
+ return {};
5433
+ const redactPattern = opts.redactKeyPattern ?? DEFAULT_REDACT_KEY_PATTERN;
5434
+ const maxStr = opts.maxStringLen ?? DEFAULT_MAX_STRING_LEN;
5435
+ const maxJson = opts.maxJsonLen ?? DEFAULT_MAX_JSON_LEN;
5436
+ const out = {};
5437
+ for (const [key, raw] of Object.entries(input)) {
5438
+ if (redactPattern.test(key))
5439
+ continue;
5440
+ const value = sanitizeValue(raw, redactPattern, maxStr, maxJson);
5441
+ if (value !== undefined)
5442
+ out[key] = value;
5443
+ }
5444
+ return out;
5445
+ }
5446
+ function sanitizeValue(raw, redactPattern, maxStr, maxJson) {
5447
+ if (raw === null || raw === undefined)
5448
+ return;
5449
+ if (typeof raw === "boolean" || typeof raw === "number")
5450
+ return raw;
5451
+ if (typeof raw === "string") {
5452
+ return raw.length > maxStr ? `${raw.slice(0, maxStr)}\u2026(truncated:${raw.length})` : raw;
5453
+ }
5454
+ try {
5455
+ const filtered = filterRedacted(raw, redactPattern);
5456
+ const json = JSON.stringify(filtered);
5457
+ if (json === undefined)
5458
+ return;
5459
+ return json.length > maxJson ? `${json.slice(0, maxJson)}\u2026(truncated:${json.length})` : json;
5460
+ } catch {
5461
+ return "[unserializable]";
5462
+ }
5463
+ }
5464
+ function filterRedacted(node, pattern, seen = new WeakSet) {
5465
+ if (node === null || typeof node !== "object")
5466
+ return node;
5467
+ if (seen.has(node))
5468
+ return "[circular]";
5469
+ seen.add(node);
5470
+ if (Array.isArray(node)) {
5471
+ return node.map((v2) => filterRedacted(v2, pattern, seen));
5472
+ }
5473
+ const out = {};
5474
+ for (const [k2, v2] of Object.entries(node)) {
5475
+ if (pattern.test(k2))
5476
+ continue;
5477
+ out[k2] = filterRedacted(v2, pattern, seen);
5478
+ }
5479
+ return out;
5480
+ }
5481
+ function redactConnectionString(url) {
5482
+ if (!url)
5483
+ return "";
5484
+ try {
5485
+ const u = new URL(url);
5486
+ if (u.password)
5487
+ u.password = "***";
5488
+ return u.toString();
5489
+ } catch {
5490
+ return "[unparseable]";
5491
+ }
5492
+ }
5493
+
5494
+ class ArcTelemetry {
5495
+ config;
5496
+ tracer = null;
5497
+ logger = null;
5498
+ meter = null;
5499
+ histograms = new Map;
5500
+ counters = new Map;
5501
+ constructor(config) {
5502
+ const mode = config.mode ?? "development";
5503
+ const enabled = config.enabled ?? mode !== "disabled";
5504
+ const sampleRate = config.sampleRate ?? (config.environment === "server" ? 1 : 0.1);
5505
+ this.config = {
5506
+ ...config,
5507
+ enabled,
5508
+ sampleRate,
5509
+ mode,
5510
+ debug: config.debug ?? false
5511
+ };
5512
+ }
5513
+ attach(opts) {
5514
+ this.tracer = opts.tracer;
5515
+ this.logger = opts.logger ?? null;
5516
+ this.meter = opts.meter ?? null;
5517
+ }
5518
+ get active() {
5519
+ return this.config.enabled && this.tracer !== null;
5520
+ }
5521
+ shouldIncludePayloads() {
5522
+ if (this.config.includePayloads !== undefined)
5523
+ return this.config.includePayloads;
5524
+ return this.config.mode === "development";
5525
+ }
5526
+ async startSpan(name, fn, options = {}) {
5527
+ if (!this.active || !this.tracer) {
5528
+ return fn(import_api.trace.getActiveSpan() ?? noopSpan());
5529
+ }
5530
+ const attributes = this.toAttributes(options.attributes, options.unsafeAttrs);
5531
+ return this.tracer.startActiveSpan(name, { kind: options.kind, attributes }, async (span) => {
5532
+ try {
5533
+ const result = await fn(span);
5534
+ span.setStatus({ code: import_api.SpanStatusCode.OK });
5535
+ return result;
5536
+ } catch (error) {
5537
+ this.recordError(span, error);
5538
+ throw error;
5539
+ } finally {
5540
+ span.end();
5541
+ }
5542
+ });
5543
+ }
5544
+ createSpan(name, options = {}) {
5545
+ if (!this.active || !this.tracer)
5546
+ return noopSpan();
5547
+ const attributes = this.toAttributes(options.attributes, options.unsafeAttrs);
5548
+ return this.tracer.startSpan(name, { kind: options.kind, attributes });
5549
+ }
5550
+ getCurrentSpan() {
5551
+ return import_api.trace.getActiveSpan();
5552
+ }
5553
+ withSpan(parent, fn) {
5554
+ return import_api.context.with(import_api.trace.setSpan(import_api.context.active(), parent), fn);
5555
+ }
5556
+ runWithExtractedContext(carrier, fn) {
5557
+ if (!this.active)
5558
+ return fn();
5559
+ const flat = {};
5560
+ if (typeof Headers !== "undefined" && carrier instanceof Headers) {
5561
+ carrier.forEach((value, key) => {
5562
+ flat[key.toLowerCase()] = value;
5563
+ });
5564
+ } else if (carrier) {
5565
+ for (const [k2, v2] of Object.entries(carrier)) {
5566
+ if (typeof v2 === "string")
5567
+ flat[k2.toLowerCase()] = v2;
5568
+ }
5569
+ }
5570
+ const parent = import_api.propagation.extract(import_api.context.active(), flat);
5571
+ return import_api.context.with(parent, fn);
5572
+ }
5573
+ recordError(span, error) {
5574
+ const err = error instanceof Error ? error : new Error(String(error ?? "unknown error"));
5575
+ try {
5576
+ span.setStatus({ code: import_api.SpanStatusCode.ERROR, message: err.message });
5577
+ span.recordException(err);
5578
+ } catch {}
5579
+ }
5580
+ addAttributes(attrs, unsafeAttrs = false) {
5581
+ const span = this.getCurrentSpan();
5582
+ if (!span)
5583
+ return;
5584
+ span.setAttributes(this.toAttributes(attrs, unsafeAttrs));
5585
+ }
5586
+ log(level, body, attrs = {}, unsafeAttrs = false) {
5587
+ if (!this.active)
5588
+ return;
5589
+ const logger = this.logger ?? logs.getLogger(this.config.serviceName);
5590
+ const record = {
5591
+ severityNumber: severityFor(level),
5592
+ severityText: level.toUpperCase(),
5593
+ body,
5594
+ attributes: this.toAttributes(attrs, unsafeAttrs)
5595
+ };
5596
+ try {
5597
+ logger.emit(record);
5598
+ } catch {}
5599
+ }
5600
+ incrementCounter(name, value = 1, attrs = {}) {
5601
+ if (!this.active || !this.meter)
5602
+ return;
5603
+ let counter = this.counters.get(name);
5604
+ if (!counter) {
5605
+ counter = this.meter.createCounter(name);
5606
+ this.counters.set(name, counter);
5607
+ }
5608
+ try {
5609
+ counter.add(value, attrs);
5610
+ } catch {}
5611
+ }
5612
+ recordHistogram(name, value, attrs = {}) {
5613
+ if (!this.active || !this.meter)
5614
+ return;
5615
+ let histogram = this.histograms.get(name);
5616
+ if (!histogram) {
5617
+ histogram = this.meter.createHistogram(name, { unit: "ms" });
5618
+ this.histograms.set(name, histogram);
5619
+ }
5620
+ try {
5621
+ histogram.record(value, attrs);
5622
+ } catch {}
5623
+ }
5624
+ measureSince(name, start, attrs = {}) {
5625
+ this.recordHistogram(name, Date.now() - start, attrs);
5626
+ }
5627
+ toAttributes(raw, unsafe) {
5628
+ if (!raw)
5629
+ return {};
5630
+ if (unsafe)
5631
+ return raw;
5632
+ return sanitizeAttrs(raw, this.config.sanitize);
5633
+ }
5634
+ }
5635
+ function severityFor(level) {
5636
+ switch (level) {
5637
+ case "debug":
5638
+ return SeverityNumber.DEBUG;
5639
+ case "info":
5640
+ return SeverityNumber.INFO;
5641
+ case "warn":
5642
+ return SeverityNumber.WARN;
5643
+ case "error":
5644
+ return SeverityNumber.ERROR;
5645
+ default:
5646
+ return SeverityNumber.INFO;
5647
+ }
5648
+ }
5649
+ function noopSpan() {
5650
+ return import_api.trace.getActiveSpan() ?? import_api.trace.wrapSpanContext({
5651
+ traceId: "00000000000000000000000000000000",
5652
+ spanId: "0000000000000000",
5653
+ traceFlags: 0
5654
+ });
5655
+ }
5656
+ function injectTraceContext(carrier = {}) {
5657
+ import_api2.propagation.inject(import_api2.context.active(), carrier);
5658
+ return carrier;
5659
+ }
5660
+ function extractTraceContext(carrier) {
5661
+ return import_api2.propagation.extract(import_api2.context.active(), carrier);
5662
+ }
5663
+ function contextFromHeaders(headers) {
5664
+ const carrier = {};
5665
+ if (headers instanceof Headers) {
5666
+ for (const name of TRACE_CONTEXT_HEADERS) {
5667
+ const value = headers.get(name);
5668
+ if (value)
5669
+ carrier[name] = value;
5670
+ }
5671
+ } else {
5672
+ for (const name of TRACE_CONTEXT_HEADERS) {
5673
+ const raw = headers[name];
5674
+ const value = Array.isArray(raw) ? raw[0] : raw;
5675
+ if (value)
5676
+ carrier[name] = value;
5677
+ }
5678
+ }
5679
+ return extractTraceContext(carrier);
5680
+ }
5681
+ function getActiveSpan() {
5682
+ return import_api2.trace.getActiveSpan();
5683
+ }
5684
+ function wrapDbAdapter(adapter, telemetry, dbSystem) {
5685
+ if (!telemetry || !telemetry.active)
5686
+ return adapter;
5687
+ const wrapRead = (tx) => ({
5688
+ find: async (store, options) => telemetry.startSpan(`db.find ${store}`, async (span) => {
5689
+ const start = Date.now();
5690
+ try {
5691
+ const rows = await tx.find(store, options);
5692
+ span.setAttribute("db.response.row_count", rows.length);
5693
+ return rows;
5694
+ } finally {
5695
+ telemetry.measureSince("arc.db.find_ms", start, {
5696
+ "db.system": dbSystem,
5697
+ "db.collection.name": store
5698
+ });
5699
+ }
5700
+ }, {
5701
+ kind: 3,
5702
+ attributes: {
5703
+ "db.system": dbSystem,
5704
+ "db.operation.name": "find",
5705
+ "db.collection.name": store
5706
+ }
5707
+ })
5708
+ });
5709
+ const wrapReadWrite = (tx) => ({
5710
+ ...wrapRead(tx),
5711
+ set: async (store, data) => telemetry.startSpan(`db.set ${store}`, () => tx.set(store, data), {
5712
+ kind: 3,
5713
+ attributes: {
5714
+ "db.system": dbSystem,
5715
+ "db.operation.name": "set",
5716
+ "db.collection.name": store
5717
+ }
5718
+ }),
5719
+ remove: async (store, id) => telemetry.startSpan(`db.remove ${store}`, () => tx.remove(store, id), {
5720
+ kind: 3,
5721
+ attributes: {
5722
+ "db.system": dbSystem,
5723
+ "db.operation.name": "remove",
5724
+ "db.collection.name": store
5725
+ }
5726
+ }),
5727
+ commit: async () => telemetry.startSpan("db.commit", () => tx.commit(), {
5728
+ kind: 3,
5729
+ attributes: {
5730
+ "db.system": dbSystem,
5731
+ "db.operation.name": "commit"
5732
+ }
5733
+ })
5734
+ });
5735
+ return new Proxy(adapter, {
5736
+ get(target, prop) {
5737
+ const orig = target[prop];
5738
+ if (prop === "readTransaction") {
5739
+ return (...args) => wrapRead(orig.apply(target, args));
5740
+ }
5741
+ if (prop === "readWriteTransaction") {
5742
+ return (...args) => wrapReadWrite(orig.apply(target, args));
5743
+ }
5744
+ return typeof orig === "function" ? orig.bind(target) : orig;
5745
+ }
5746
+ });
5747
+ }
5748
+ var import_api, import_api2, import_api3, DEFAULT_REDACT_KEY_PATTERN, DEFAULT_MAX_STRING_LEN = 2048, DEFAULT_MAX_JSON_LEN = 4096, TRACE_CONTEXT_HEADERS;
5749
+ var init_dist = __esm(() => {
5750
+ init_esm();
5751
+ import_api = __toESM(require_src(), 1);
5752
+ import_api2 = __toESM(require_src(), 1);
5753
+ import_api3 = __toESM(require_src(), 1);
5754
+ DEFAULT_REDACT_KEY_PATTERN = /(password|passwd|token|secret|authorization|jwt|api[_-]?key|cookie|email|credit[_-]?card|ssn)/i;
5755
+ TRACE_CONTEXT_HEADERS = ["traceparent", "tracestate"];
5756
+ });
5757
+
5758
+ // src/create-server.ts
5759
+ var import_jsonwebtoken = __toESM(require_jsonwebtoken(), 1);
5760
+
5761
+ // src/connection-manager.ts
5762
+ class ConnectionManager {
5763
+ clients = new Map;
5764
+ clientIdCounter = 0;
5765
+ addClient(ws) {
5766
+ const clientId = `client_${++this.clientIdCounter}_${Date.now()}`;
5767
+ const client = {
5768
+ id: clientId,
5769
+ scopeTokens: new Map,
5770
+ lastHostEventId: null,
5771
+ ws
5772
+ };
5773
+ this.clients.set(clientId, client);
5774
+ ws.data = { clientId };
5775
+ return client;
5776
+ }
5777
+ removeClient(clientId) {
5778
+ this.clients.delete(clientId);
5779
+ }
5780
+ getClient(clientId) {
5781
+ return this.clients.get(clientId);
5782
+ }
5783
+ getClientByWs(ws) {
5784
+ const clientId = ws.data?.clientId;
5785
+ if (!clientId)
5786
+ return;
5787
+ return this.clients.get(clientId);
5788
+ }
5789
+ setScopeToken(clientId, scope, decoded, raw) {
5790
+ const client = this.clients.get(clientId);
5791
+ if (client) {
5792
+ client.scopeTokens.set(scope, { decoded, raw });
5793
+ }
5794
+ }
5795
+ getScopeToken(clientId, scope) {
5796
+ const client = this.clients.get(clientId);
5797
+ return client?.scopeTokens.get(scope);
5798
+ }
5799
+ getAllScopeTokens(clientId) {
5800
+ const client = this.clients.get(clientId);
5801
+ if (!client)
5802
+ return [];
5803
+ return Array.from(client.scopeTokens.values()).map((v) => v.decoded);
5804
+ }
5805
+ updateLastSyncedEventId(clientId, hostEventId) {
5806
+ const client = this.clients.get(clientId);
5807
+ if (client) {
5808
+ client.lastHostEventId = hostEventId;
5809
+ }
5810
+ }
5811
+ getAllClients() {
5812
+ return Array.from(this.clients.values());
5813
+ }
5814
+ sendToClient(clientId, message) {
5815
+ const client = this.clients.get(clientId);
5816
+ if (!client)
5817
+ return false;
5818
+ try {
5819
+ client.ws.send(JSON.stringify(message));
5820
+ return true;
5821
+ } catch (error) {
5822
+ console.error(`Failed to send message to client ${clientId}:`, error);
5823
+ return false;
5824
+ }
5825
+ }
5826
+ broadcast(message, excludeClientId) {
5827
+ for (const client of this.clients.values()) {
5828
+ if (client.id === excludeClientId)
5829
+ continue;
5830
+ this.sendToClient(client.id, message);
5831
+ }
5832
+ }
5833
+ get clientCount() {
5834
+ return this.clients.size;
5835
+ }
5836
+ }
5837
+
5838
+ // src/context-handler.ts
5839
+ import {
5840
+ LocalEventPublisher,
5841
+ MasterDataStorage,
5842
+ Model,
5843
+ ScopedModel,
5844
+ mutationExecutor
5845
+ } from "@arcote.tech/arc";
5846
+
5847
+ // src/event-auth.ts
5848
+ function canTokenReceiveEvent(token, event, eventInstance) {
5849
+ if (!event.hasProtections) {
5850
+ return true;
5851
+ }
5852
+ if (!token) {
5853
+ return false;
5854
+ }
5855
+ for (const protection of event.protections) {
5856
+ if (protection.token.name !== token.tokenType) {
5857
+ continue;
5858
+ }
5859
+ const rules = protection.protectionFn(token.params);
5860
+ if (rules.read === false) {
5861
+ continue;
5862
+ }
5863
+ if (rules.read) {
5864
+ const matches = checkConditionsMatch(rules.read, eventInstance.payload);
5865
+ if (matches) {
5866
+ return true;
5867
+ }
5868
+ }
5869
+ }
5870
+ return false;
5871
+ }
5872
+ function canTokenEmitEvent(token, event, payload) {
5873
+ if (!token) {
5874
+ return !event.hasProtections;
5875
+ }
5876
+ if (!event.hasProtections) {
5877
+ return true;
5878
+ }
5879
+ for (const protection of event.protections) {
5880
+ if (protection.token.name !== token.tokenType) {
5881
+ continue;
5882
+ }
5883
+ const rules = protection.protectionFn(token.params);
5884
+ if (rules.write) {
5885
+ const matches = checkConditionsMatch(rules.write, payload);
5886
+ if (matches) {
5887
+ return true;
5888
+ }
5889
+ }
5890
+ }
5891
+ return false;
5892
+ }
5893
+ function checkConditionsMatch(conditions, data) {
5894
+ for (const [key, expectedValue] of Object.entries(conditions)) {
5895
+ const actualValue = data[key];
5896
+ if (actualValue !== expectedValue) {
5897
+ return false;
5898
+ }
5899
+ }
5900
+ return true;
5901
+ }
5902
+ function filterEventsForToken(token, events, eventDefinitions) {
5903
+ return events.filter((eventInstance) => {
5904
+ const eventDef = eventDefinitions.get(eventInstance.type);
5905
+ if (!eventDef) {
5906
+ return false;
5907
+ }
5908
+ return canTokenReceiveEvent(token, eventDef, eventInstance);
5909
+ });
5910
+ }
5911
+ function filterEventsForTokens(tokens, events, eventDefinitions) {
5912
+ if (tokens.length === 0) {
5913
+ return filterEventsForToken(null, events, eventDefinitions);
5914
+ }
5915
+ return events.filter((eventInstance) => {
5916
+ const eventDef = eventDefinitions.get(eventInstance.type);
5917
+ if (!eventDef)
5918
+ return false;
5919
+ return tokens.some((token) => canTokenReceiveEvent(token, eventDef, eventInstance));
5920
+ });
5921
+ }
5922
+
5923
+ // src/context-handler.ts
5924
+ class ContextHandler {
5925
+ context;
5926
+ telemetry;
5927
+ model;
5928
+ dataStorage;
5929
+ eventPublisher;
5930
+ eventDefinitions = new Map;
5931
+ hostEventIdCounter = 0;
5932
+ initialized = false;
5933
+ constructor(context, dbAdapter, telemetry) {
5934
+ this.context = context;
5935
+ this.telemetry = telemetry;
5936
+ this.dataStorage = new MasterDataStorage(dbAdapter);
5937
+ this.eventPublisher = new LocalEventPublisher(this.dataStorage);
5938
+ this.model = new Model(context, {
5939
+ adapters: {
5940
+ dataStorage: this.dataStorage,
5941
+ eventPublisher: this.eventPublisher
5942
+ },
5943
+ environment: "server"
5944
+ });
5945
+ for (const element of context.elements) {
5946
+ if ("tagFields" in element && "payload" in element) {
5947
+ this.eventDefinitions.set(element.name, element);
5948
+ }
5949
+ }
5950
+ }
5951
+ async init() {
5952
+ if (this.initialized)
5953
+ return;
3884
5954
  await this.model.init();
3885
5955
  await this.runSeeds();
3886
5956
  this.initialized = true;
@@ -3910,27 +5980,49 @@ class ContextHandler {
3910
5980
  }
3911
5981
  }
3912
5982
  async executeCommand(commandName, params, rawToken) {
3913
- const scoped = new ScopedModel(this.model, "request");
3914
- if (rawToken)
3915
- scoped.setToken(rawToken);
3916
- const mutations = mutationExecutor(scoped);
3917
- let command;
3918
- if (commandName.includes(".")) {
3919
- const [elementName, methodName] = commandName.split(".");
3920
- const element = mutations[elementName];
3921
- command = element?.[methodName];
3922
- } else {
3923
- command = mutations[commandName];
3924
- }
3925
- if (!command) {
3926
- throw new Error(`Command '${commandName}' not found`);
3927
- }
5983
+ const includePayloads = this.telemetry?.shouldIncludePayloads() ?? false;
5984
+ const baseAttrs = {
5985
+ "rpc.system": "arc",
5986
+ "rpc.method": commandName,
5987
+ "arc.command.name": commandName,
5988
+ "arc.command.params_size": params ? JSON.stringify(params).length : 0,
5989
+ ...includePayloads ? { "arc.command.params": params } : {}
5990
+ };
5991
+ const runCommand = async () => {
5992
+ const scoped = new ScopedModel(this.model, "request");
5993
+ if (rawToken)
5994
+ scoped.setToken(rawToken);
5995
+ const mutations = mutationExecutor(scoped);
5996
+ let command;
5997
+ if (commandName.includes(".")) {
5998
+ const [elementName, methodName] = commandName.split(".");
5999
+ const element = mutations[elementName];
6000
+ command = element?.[methodName];
6001
+ } else {
6002
+ command = mutations[commandName];
6003
+ }
6004
+ if (!command) {
6005
+ throw new Error(`Command '${commandName}' not found`);
6006
+ }
6007
+ try {
6008
+ return await command(params);
6009
+ } catch (error) {
6010
+ console.error(`[ARC] Command '${commandName}' failed:`, error);
6011
+ throw error;
6012
+ }
6013
+ };
6014
+ if (!this.telemetry)
6015
+ return runCommand();
6016
+ const start = Date.now();
3928
6017
  try {
3929
- const result = await command(params);
3930
- return result;
3931
- } catch (error) {
3932
- console.error(`[ARC] Command '${commandName}' failed:`, error);
3933
- throw error;
6018
+ return await this.telemetry.startSpan(`command.${commandName}`, runCommand, { attributes: baseAttrs });
6019
+ } finally {
6020
+ this.telemetry.measureSince("arc.command.duration_ms", start, {
6021
+ "arc.command.name": commandName
6022
+ });
6023
+ this.telemetry.incrementCounter("arc.commands.total", 1, {
6024
+ "arc.command.name": commandName
6025
+ });
3934
6026
  }
3935
6027
  }
3936
6028
  async persistEvents(events, clientId, token) {
@@ -4992,8 +7084,13 @@ function arcWsHandlers() {
4992
7084
  async function createArcServer(config) {
4993
7085
  const jwtSecret = config.jwtSecret || process.env.JWT_SECRET || "arc-host-secret-change-in-production";
4994
7086
  const port = config.port || 5005;
4995
- const dbAdapter = config.dbAdapterFactory(config.context);
4996
- const contextHandler = new ContextHandler(config.context, dbAdapter);
7087
+ const rawDbAdapter = config.dbAdapterFactory(config.context);
7088
+ const dbAdapter = config.telemetry ? rawDbAdapter.then(async (a) => {
7089
+ const { wrapDbAdapter: wrapDbAdapter2 } = await Promise.resolve().then(() => (init_dist(), exports_dist));
7090
+ const dbSystem = process.env.DATABASE_URL ? "postgresql" : "sqlite";
7091
+ return wrapDbAdapter2(a, config.telemetry, dbSystem);
7092
+ }) : rawDbAdapter;
7093
+ const contextHandler = new ContextHandler(config.context, dbAdapter, config.telemetry);
4997
7094
  await contextHandler.init();
4998
7095
  const cronScheduler = new CronScheduler(contextHandler);
4999
7096
  cronScheduler.start();
@@ -5058,39 +7155,51 @@ async function createArcServer(config) {
5058
7155
  if (req.method === "OPTIONS") {
5059
7156
  return new Response(null, { headers: corsHeaders2 });
5060
7157
  }
5061
- const authHeader = req.headers.get("Authorization");
5062
- let rawToken = authHeader?.replace("Bearer ", "") || url.searchParams.get("token");
5063
- if (!rawToken) {
5064
- const cookieHeader = req.headers.get("Cookie");
5065
- if (cookieHeader) {
5066
- const match = cookieHeader.match(/arc_token=([^;]+)/);
5067
- if (match)
5068
- rawToken = decodeURIComponent(match[1]);
7158
+ const handleRequest = async (span) => {
7159
+ const authHeader = req.headers.get("Authorization");
7160
+ let rawToken = authHeader?.replace("Bearer ", "") || url.searchParams.get("token");
7161
+ if (!rawToken) {
7162
+ const cookieHeader = req.headers.get("Cookie");
7163
+ if (cookieHeader) {
7164
+ const match = cookieHeader.match(/arc_token=([^;]+)/);
7165
+ if (match)
7166
+ rawToken = decodeURIComponent(match[1]);
7167
+ }
5069
7168
  }
5070
- }
5071
- const tokenPayload = rawToken ? verifyToken(rawToken) : null;
5072
- if (url.pathname === "/ws" && req.headers.get("Upgrade") === "websocket") {
5073
- if (server2.upgrade(req, { data: { clientId: "" } }))
5074
- return;
5075
- return new Response("WebSocket upgrade failed", {
5076
- status: 500,
5077
- headers: corsHeaders2
5078
- });
5079
- }
5080
- const reqCtx = {
5081
- rawToken,
5082
- tokenPayload,
5083
- corsHeaders: corsHeaders2
7169
+ const tokenPayload = rawToken ? verifyToken(rawToken) : null;
7170
+ if (url.pathname === "/ws" && req.headers.get("Upgrade") === "websocket") {
7171
+ if (server2.upgrade(req, { data: { clientId: "" } }))
7172
+ return;
7173
+ return new Response("WebSocket upgrade failed", {
7174
+ status: 500,
7175
+ headers: corsHeaders2
7176
+ });
7177
+ }
7178
+ const reqCtx = { rawToken, tokenPayload, corsHeaders: corsHeaders2 };
7179
+ for (const handler of httpHandlers) {
7180
+ const response = await handler(req, url, reqCtx);
7181
+ if (response) {
7182
+ span?.setAttribute("http.response.status_code", response.status);
7183
+ return response;
7184
+ }
7185
+ }
7186
+ span?.setAttribute("http.response.status_code", 404);
7187
+ return new Response("Not Found", { status: 404, headers: corsHeaders2 });
5084
7188
  };
5085
- for (const handler of httpHandlers) {
5086
- const response = await handler(req, url, reqCtx);
5087
- if (response)
5088
- return response;
5089
- }
5090
- return new Response("Not Found", {
5091
- status: 404,
5092
- headers: corsHeaders2
5093
- });
7189
+ const telemetry = config.telemetry;
7190
+ if (!telemetry)
7191
+ return handleRequest(undefined);
7192
+ return telemetry.runWithExtractedContext(req.headers, () => telemetry.startSpan(`${req.method} ${url.pathname}`, (span) => handleRequest(span), {
7193
+ kind: 2,
7194
+ attributes: {
7195
+ "http.request.method": req.method,
7196
+ "http.route": url.pathname,
7197
+ "url.scheme": url.protocol.replace(":", ""),
7198
+ "url.path": url.pathname,
7199
+ "server.address": url.host,
7200
+ "user_agent.original": req.headers.get("user-agent") ?? undefined
7201
+ }
7202
+ }));
5094
7203
  },
5095
7204
  websocket: {
5096
7205
  open(ws) {
@@ -5100,16 +7209,43 @@ async function createArcServer(config) {
5100
7209
  const client = connectionManager.getClientByWs(ws);
5101
7210
  if (!client)
5102
7211
  return;
7212
+ let message;
5103
7213
  try {
5104
- const message = JSON.parse(messageStr);
5105
- for (const handler of wsHandlers) {
5106
- const handled = await handler(client, message, wsCtx);
5107
- if (handled)
5108
- break;
5109
- }
7214
+ message = JSON.parse(messageStr);
5110
7215
  } catch (error) {
5111
7216
  console.error("Failed to parse WS message:", error);
7217
+ return;
7218
+ }
7219
+ const dispatch = async () => {
7220
+ try {
7221
+ for (const handler of wsHandlers) {
7222
+ const handled = await handler(client, message, wsCtx);
7223
+ if (handled)
7224
+ break;
7225
+ }
7226
+ } catch (error) {
7227
+ console.error("WS handler error:", error);
7228
+ }
7229
+ };
7230
+ const telemetry = config.telemetry;
7231
+ if (!telemetry) {
7232
+ await dispatch();
7233
+ return;
5112
7234
  }
7235
+ const carrier = {};
7236
+ if (typeof message?.traceparent === "string")
7237
+ carrier.traceparent = message.traceparent;
7238
+ if (typeof message?.tracestate === "string")
7239
+ carrier.tracestate = message.tracestate;
7240
+ await telemetry.runWithExtractedContext(carrier, () => telemetry.startSpan(`ws.${message?.type ?? "message"}`, () => dispatch(), {
7241
+ kind: 2,
7242
+ attributes: {
7243
+ "messaging.system": "arc-ws",
7244
+ "messaging.operation": "process",
7245
+ "messaging.message.type": message?.type,
7246
+ "arc.ws.client_id": client.id
7247
+ }
7248
+ }));
5113
7249
  },
5114
7250
  close(ws) {
5115
7251
  const client = connectionManager.getClientByWs(ws);
@@ -5135,9 +7271,9 @@ async function createArcServer(config) {
5135
7271
  };
5136
7272
  }
5137
7273
  // index.ts
5138
- function hostLiveModel(context, dbAdapterFactory) {
7274
+ function hostLiveModel(context3, dbAdapterFactory) {
5139
7275
  return createArcServer({
5140
- context,
7276
+ context: context3,
5141
7277
  dbAdapterFactory
5142
7278
  });
5143
7279
  }
@@ -5168,5 +7304,5 @@ export {
5168
7304
  ConnectionManager
5169
7305
  };
5170
7306
 
5171
- //# debugId=7B502E19E3C91C9064756E2164756E21
7307
+ //# debugId=9C874C10B71D30EB64756E2164756E21
5172
7308
  //# sourceMappingURL=index.js.map