brass-runtime 1.16.1 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +40 -8
  2. package/dist/agent/cli/main.cjs +31 -32
  3. package/dist/agent/cli/main.js +3 -4
  4. package/dist/agent/cli/main.mjs +3 -4
  5. package/dist/agent/index.cjs +4 -5
  6. package/dist/agent/index.d.ts +1 -1
  7. package/dist/agent/index.js +3 -4
  8. package/dist/agent/index.mjs +3 -4
  9. package/dist/{chunk-GYM3LLGS.mjs → chunk-2QNREG6K.mjs} +188 -5
  10. package/dist/{chunk-4ROBZFL6.cjs → chunk-2SLT3X6G.cjs} +6 -8
  11. package/dist/{chunk-KZJQ723N.cjs → chunk-3PFZGP23.cjs} +13 -15
  12. package/dist/{chunk-AVNQLJ5V.js → chunk-3PHU7FWS.js} +528 -23
  13. package/dist/{chunk-CIZFIMK5.js → chunk-4YQHPIWJ.js} +60 -11
  14. package/dist/chunk-5XADBMSU.cjs +33 -0
  15. package/dist/{chunk-DNFJLJMW.mjs → chunk-6MLAZPBL.mjs} +48 -24
  16. package/dist/chunk-7TKI527D.cjs +123 -0
  17. package/dist/{chunk-AGR5B2BC.cjs → chunk-7TXQJFZX.cjs} +564 -12
  18. package/dist/{chunk-RKGKFN2A.js → chunk-AADFFVYS.js} +1 -1
  19. package/dist/{chunk-52PPNNI4.cjs → chunk-AJMKZXRB.cjs} +2 -2
  20. package/dist/{chunk-3AYM6WPJ.js → chunk-BG5RNEA2.js} +20 -299
  21. package/dist/{chunk-2HQTDLHF.mjs → chunk-ELLF55ER.mjs} +555 -3
  22. package/dist/{chunk-EOC4UHBS.mjs → chunk-G5JTCFMI.mjs} +2 -2
  23. package/dist/chunk-H5GYX7RZ.js +6126 -0
  24. package/dist/{chunk-C3MDXTRZ.js → chunk-HCJ4S3YB.js} +48 -24
  25. package/dist/{chunk-6IXXWIUM.js → chunk-IBRHSH5H.js} +555 -3
  26. package/dist/{chunk-Q2I37RP3.cjs → chunk-IFRBVMWJ.cjs} +44 -323
  27. package/dist/{chunk-52OB2ROS.js → chunk-ITG6I7ZS.js} +2 -4
  28. package/dist/chunk-ITZQ526U.mjs +33 -0
  29. package/dist/{chunk-7JIJOVCT.js → chunk-JH4GI3DW.js} +2 -4
  30. package/dist/{chunk-76YMRMH2.cjs → chunk-KHACHFBQ.cjs} +583 -78
  31. package/dist/{chunk-MT3OWDPC.mjs → chunk-KRYP6CAE.mjs} +60 -11
  32. package/dist/chunk-KTGDLBLD.mjs +123 -0
  33. package/dist/{chunk-ENKODRU3.cjs → chunk-LXBU5E77.cjs} +143 -94
  34. package/dist/{chunk-PD4EJTQC.cjs → chunk-N6QNSTWD.cjs} +5 -5
  35. package/dist/{chunk-HLWLMW2F.mjs → chunk-OI4ESUMC.mjs} +9 -11
  36. package/dist/{chunk-EJ6BPYVR.mjs → chunk-OT2TESZU.mjs} +1 -1
  37. package/dist/{chunk-BABBZK4Y.js → chunk-PSEU65ND.js} +9 -11
  38. package/dist/{chunk-DNFO2EIZ.mjs → chunk-QCOLAHU3.mjs} +528 -23
  39. package/dist/{chunk-KH4SYAOS.mjs → chunk-QZ6QFJNM.mjs} +20 -299
  40. package/dist/{chunk-MBEJI5HF.mjs → chunk-R6WDSZA6.mjs} +2 -4
  41. package/dist/{chunk-FHQGHPMO.mjs → chunk-RREBJX2S.mjs} +2 -4
  42. package/dist/{chunk-5QC7LRZ3.js → chunk-S4HHFUYP.js} +2 -2
  43. package/dist/{chunk-GLE2WY7Z.cjs → chunk-SSQJKDN3.cjs} +194 -11
  44. package/dist/{chunk-CZIVE6NT.cjs → chunk-UUMKZJRJ.cjs} +48 -24
  45. package/dist/chunk-VIFA4DPN.cjs +6126 -0
  46. package/dist/chunk-W6WR37HN.js +33 -0
  47. package/dist/{chunk-FH2X7BVP.js → chunk-XSAHV5HQ.js} +188 -5
  48. package/dist/chunk-YM3EDNYD.js +123 -0
  49. package/dist/{chunk-VN44DYYT.cjs → chunk-YTX2JYYP.cjs} +18 -20
  50. package/dist/chunk-Z3PSSXP3.mjs +6126 -0
  51. package/dist/core/index.cjs +31 -9
  52. package/dist/core/index.d.ts +19 -152
  53. package/dist/core/index.js +80 -58
  54. package/dist/core/index.mjs +80 -58
  55. package/dist/defaultClient-DhpCQW9m.d.ts +1623 -0
  56. package/dist/{effect-DIUHZ9IN.d.ts → effect-CtUDl5M5.d.ts} +1 -1
  57. package/dist/http/index.cjs +202 -59
  58. package/dist/http/index.d.ts +55 -819
  59. package/dist/http/index.js +216 -73
  60. package/dist/http/index.mjs +216 -73
  61. package/dist/http/testing.cjs +31 -10
  62. package/dist/http/testing.d.ts +16 -5
  63. package/dist/http/testing.js +29 -8
  64. package/dist/http/testing.mjs +29 -8
  65. package/dist/index.cjs +110 -88
  66. package/dist/index.d.ts +9 -8
  67. package/dist/index.js +81 -59
  68. package/dist/index.mjs +81 -59
  69. package/dist/{schedule-CK3Ml_7p.d.ts → layer-BalPI6cN.d.ts} +176 -2
  70. package/dist/observability/index.cjs +22 -7
  71. package/dist/observability/index.d.ts +32 -8
  72. package/dist/observability/index.js +21 -6
  73. package/dist/observability/index.mjs +21 -6
  74. package/dist/perf/cli.cjs +26 -28
  75. package/dist/perf/cli.js +11 -13
  76. package/dist/perf/cli.mjs +11 -13
  77. package/dist/perf/index.cjs +13 -15
  78. package/dist/perf/index.js +11 -13
  79. package/dist/perf/index.mjs +11 -13
  80. package/dist/schema/index.cjs +2 -2
  81. package/dist/schema/index.js +1 -1
  82. package/dist/schema/index.mjs +1 -1
  83. package/dist/{server-GJPg8ZSG.d.ts → server-C1zVmqE6.d.ts} +16 -5
  84. package/dist/{stream-B4oK9JFP.d.ts → stream-Bb4FTejt.d.ts} +1 -1
  85. package/dist/{tracer-Hwt1cl7h.d.ts → tracer-DzfuE6um.d.ts} +2 -2
  86. package/dist/{tracing-DqbTKGcf.d.ts → tracing-BABA5arE.d.ts} +1 -1
  87. package/docs/README.md +4 -0
  88. package/docs/ai/PUBLIC_API.md +31 -7
  89. package/docs/articles/brass-runtime-http-observability.md +467 -0
  90. package/docs/framework-integrations.md +38 -0
  91. package/docs/frameworks/angular.md +204 -0
  92. package/docs/frameworks/express.md +183 -0
  93. package/docs/frameworks/fastify.md +173 -0
  94. package/docs/frameworks/nestjs.md +335 -0
  95. package/docs/frameworks/nextjs.md +202 -0
  96. package/docs/frameworks/react.md +183 -0
  97. package/docs/frameworks/vanilla.md +280 -0
  98. package/docs/guides/layers.md +130 -0
  99. package/docs/http-recipes.md +31 -1
  100. package/docs/http.md +50 -1
  101. package/docs/nestjs.md +6 -0
  102. package/docs/observability-framework-examples.md +12 -0
  103. package/docs/observability.md +239 -0
  104. package/docs/performance-profiler.md +6 -2
  105. package/docs/recipes/layers.md +46 -2
  106. package/docs/recipes/testing.md +25 -0
  107. package/package.json +4 -1
  108. package/dist/chunk-3LOYJFRR.cjs +0 -300
  109. package/dist/chunk-3Y2RIUMM.js +0 -300
  110. package/dist/chunk-5EC274J5.cjs +0 -2874
  111. package/dist/chunk-5VRJNBLZ.mjs +0 -2874
  112. package/dist/chunk-62AZW6UT.cjs +0 -313
  113. package/dist/chunk-74ZTY6CP.js +0 -2871
  114. package/dist/chunk-7CMJS3QE.mjs +0 -2871
  115. package/dist/chunk-A2OM6NEH.mjs +0 -194
  116. package/dist/chunk-B33ICAKP.js +0 -313
  117. package/dist/chunk-JF5WGYJJ.cjs +0 -194
  118. package/dist/chunk-KN32XNTH.mjs +0 -313
  119. package/dist/chunk-KQLYONSE.cjs +0 -2871
  120. package/dist/chunk-L2SYFEBS.js +0 -194
  121. package/dist/chunk-MIIYDLGM.js +0 -2874
  122. package/dist/chunk-PWC3RBQE.mjs +0 -300
  123. package/dist/client-CZHU674n.d.ts +0 -820
@@ -2,14 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk52PPNNI4cjs = require('./chunk-52PPNNI4.cjs');
5
+ var _chunkAJMKZXRBcjs = require('./chunk-AJMKZXRB.cjs');
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkGLE2WY7Zcjs = require('./chunk-GLE2WY7Z.cjs');
12
+ var _chunkSSQJKDN3cjs = require('./chunk-SSQJKDN3.cjs');
13
13
 
14
14
 
15
15
 
@@ -20,7 +20,7 @@ var _chunkMVGUEJ5Zcjs = require('./chunk-MVGUEJ5Z.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunkCZIVE6NTcjs = require('./chunk-CZIVE6NT.cjs');
23
+ var _chunkUUMKZJRJcjs = require('./chunk-UUMKZJRJ.cjs');
24
24
 
25
25
  // src/observability/health.ts
26
26
  function snapshotRuntimeHealth(options = {}) {
@@ -796,10 +796,10 @@ function makeOtlpHttpLogExporter(source, options) {
796
796
  }
797
797
  function logEffect(level, message, fields = {}) {
798
798
  return _chunkMVGUEJ5Zcjs.asyncSync.call(void 0, () => {
799
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
799
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
800
800
  const runtime = _optionalChain([fiber, 'optionalAccess', _34 => _34.runtime]);
801
801
  if (!runtime) return;
802
- const inherited = _optionalChain([fiber, 'access', _35 => _35.fiberContext, 'optionalAccess', _36 => _36.log]) ? _chunkGLE2WY7Zcjs.ctxToObject.call(void 0, fiber.fiberContext.log) : {};
802
+ const inherited = _optionalChain([fiber, 'access', _35 => _35.fiberContext, 'optionalAccess', _36 => _36.log]) ? _chunkSSQJKDN3cjs.ctxToObject.call(void 0, fiber.fiberContext.log) : {};
803
803
  runtime.log(level, message, { ...inherited, ...fields });
804
804
  });
805
805
  }
@@ -815,11 +815,11 @@ function withLogContext(patch, effect) {
815
815
  }
816
816
  function startLogContext(patch) {
817
817
  return _chunkMVGUEJ5Zcjs.asyncSync.call(void 0, () => {
818
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
818
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
819
819
  if (!_optionalChain([fiber, 'optionalAccess', _37 => _37.fiberContext])) return void 0;
820
- const previous = _nullishCoalesce(fiber.fiberContext.log, () => ( _chunkGLE2WY7Zcjs.emptyContext));
820
+ const previous = _nullishCoalesce(fiber.fiberContext.log, () => ( _chunkSSQJKDN3cjs.emptyContext));
821
821
  const state = { fiber, previous, ended: false };
822
- fiber.fiberContext = { ...fiber.fiberContext, log: _chunkGLE2WY7Zcjs.ctxExtend.call(void 0, previous, patch) };
822
+ fiber.fiberContext = { ...fiber.fiberContext, log: _chunkSSQJKDN3cjs.ctxExtend.call(void 0, previous, patch) };
823
823
  _optionalChain([fiber, 'access', _38 => _38.addFinalizer, 'optionalCall', _39 => _39(() => restoreLogContext(state))]);
824
824
  return state;
825
825
  });
@@ -881,24 +881,25 @@ function normalizeLogAttributes(fields) {
881
881
  }
882
882
 
883
883
  // src/observability/sampling.ts
884
- var alwaysOnSampler = {
884
+ var TRACE_SAMPLER_RATIO = /* @__PURE__ */ Symbol.for("brass-runtime.traceSampler.ratio");
885
+ var alwaysOnSampler = withRatio({
885
886
  shouldSample: () => true
886
- };
887
- var alwaysOffSampler = {
887
+ }, 1);
888
+ var alwaysOffSampler = withRatio({
888
889
  shouldSample: () => false
889
- };
890
+ }, 0);
890
891
  function ratioSampler(ratio2) {
891
892
  const bounded = clampRatio(ratio2);
892
893
  if (bounded >= 1) return alwaysOnSampler;
893
894
  if (bounded <= 0) return alwaysOffSampler;
894
- return {
895
+ return withRatio({
895
896
  shouldSample: (input) => traceRatio(input.traceId) < bounded
896
- };
897
+ }, bounded);
897
898
  }
898
899
  function makeTraceSampler(options = {}) {
899
900
  const fallback = _nullishCoalesce(options.sampler, () => ( ratioSampler(_nullishCoalesce(options.ratio, () => ( 1)))));
900
901
  const rules = _nullishCoalesce(options.rules, () => ( []));
901
- return {
902
+ const sampler = {
902
903
  shouldSample(input) {
903
904
  for (const rule of rules) {
904
905
  if (!samplingRuleMatches(rule, input)) continue;
@@ -908,6 +909,8 @@ function makeTraceSampler(options = {}) {
908
909
  return shouldSampleWith(fallback, input);
909
910
  }
910
911
  };
912
+ const fallbackRatio = samplerRatio(fallback);
913
+ return rules.length === 0 && fallbackRatio !== void 0 ? withRatio(sampler, fallbackRatio) : sampler;
911
914
  }
912
915
  function resolveTraceSampling(config) {
913
916
  if (config === false) {
@@ -942,6 +945,22 @@ function matchText(pattern, value) {
942
945
  function isTraceSampler(value) {
943
946
  return typeof value === "function" || typeof value === "object" && value !== null && typeof value.shouldSample === "function";
944
947
  }
948
+ function samplerRatio(sampler) {
949
+ if (!sampler || typeof sampler === "function") return void 0;
950
+ const ratio2 = sampler[TRACE_SAMPLER_RATIO];
951
+ return typeof ratio2 === "number" && Number.isFinite(ratio2) ? ratio2 : void 0;
952
+ }
953
+ function withRatio(sampler, ratio2) {
954
+ try {
955
+ Object.defineProperty(sampler, TRACE_SAMPLER_RATIO, {
956
+ configurable: false,
957
+ enumerable: false,
958
+ value: ratio2
959
+ });
960
+ } catch (e6) {
961
+ }
962
+ return sampler;
963
+ }
945
964
  function traceRatio(traceId) {
946
965
  const normalized = normalizeTraceId(traceId);
947
966
  const head = normalized.slice(0, 8);
@@ -975,7 +994,7 @@ function spanLink(trace, attributes) {
975
994
  };
976
995
  }
977
996
  function currentSpanLink(attributes) {
978
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
997
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
979
998
  const trace = _optionalChain([fiber, 'optionalAccess', _46 => _46.fiberContext, 'optionalAccess', _47 => _47.trace]);
980
999
  return _optionalChain([trace, 'optionalAccess', _48 => _48.traceId]) && _optionalChain([trace, 'optionalAccess', _49 => _49.spanId]) ? spanLink(trace, attributes) : void 0;
981
1000
  }
@@ -990,13 +1009,13 @@ function withBaggage(baggage, effect) {
990
1009
  );
991
1010
  }
992
1011
  function currentBaggage() {
993
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
1012
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
994
1013
  const baggage = _optionalChain([fiber, 'optionalAccess', _50 => _50.fiberContext, 'optionalAccess', _51 => _51.trace, 'optionalAccess', _52 => _52.baggage]);
995
1014
  return baggage ? { ...baggage } : void 0;
996
1015
  }
997
1016
  function spanEvent(name, attributes = {}) {
998
1017
  return _chunkMVGUEJ5Zcjs.asyncSync.call(void 0, () => {
999
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
1018
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
1000
1019
  const trace = _optionalChain([fiber, 'optionalAccess', _53 => _53.fiberContext, 'optionalAccess', _54 => _54.trace]);
1001
1020
  if (!_optionalChain([fiber, 'optionalAccess', _55 => _55.runtime]) || !trace || trace.sampled === false) return;
1002
1021
  fiber.runtime.hooks.emit(
@@ -1030,7 +1049,7 @@ function makeOtlpHttpSpanExporter(source, options) {
1030
1049
  }
1031
1050
  function startSpan(name, options) {
1032
1051
  return _chunkMVGUEJ5Zcjs.asyncSync.call(void 0, () => {
1033
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
1052
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
1034
1053
  const runtime = _optionalChain([fiber, 'optionalAccess', _56 => _56.runtime]);
1035
1054
  if (!_optionalChain([fiber, 'optionalAccess', _57 => _57.fiberContext]) || !runtime) return void 0;
1036
1055
  const previousTrace = _nullishCoalesce(fiber.fiberContext.trace, () => ( null));
@@ -1113,7 +1132,7 @@ function spanContext(fiber, trace) {
1113
1132
  }
1114
1133
  function startBaggage(baggage) {
1115
1134
  return _chunkMVGUEJ5Zcjs.asyncSync.call(void 0, () => {
1116
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
1135
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
1117
1136
  if (!_optionalChain([fiber, 'optionalAccess', _76 => _76.fiberContext])) return void 0;
1118
1137
  const previousTrace = _nullishCoalesce(fiber.fiberContext.trace, () => ( null));
1119
1138
  if (!previousTrace) return void 0;
@@ -1447,7 +1466,7 @@ function sanitizeHttpTarget(url) {
1447
1466
  try {
1448
1467
  const parsed = new URL(url, "http://local");
1449
1468
  return `${parsed.pathname}${parsed.search ? "?[REDACTED]" : ""}`;
1450
- } catch (e6) {
1469
+ } catch (e7) {
1451
1470
  const [withoutHash] = url.split("#", 1);
1452
1471
  const queryIndex = withoutHash.indexOf("?");
1453
1472
  return queryIndex < 0 ? withoutHash : `${withoutHash.slice(0, queryIndex)}?[REDACTED]`;
@@ -1455,54 +1474,54 @@ function sanitizeHttpTarget(url) {
1455
1474
  }
1456
1475
 
1457
1476
  // src/observability/configValidation.ts
1458
- var fn = _chunkCZIVE6NTcjs.Schema.custom((value) => typeof value === "function", "function");
1459
- var object = _chunkCZIVE6NTcjs.Schema.custom(
1477
+ var fn = _chunkUUMKZJRJcjs.Schema.custom((value) => typeof value === "function", "function");
1478
+ var object = _chunkUUMKZJRJcjs.Schema.custom(
1460
1479
  (value) => typeof value === "object" && value !== null && !Array.isArray(value),
1461
1480
  "object"
1462
1481
  );
1463
- var falseOrObject = _chunkCZIVE6NTcjs.Schema.union([_chunkCZIVE6NTcjs.Schema.literal(false), object]);
1464
- var ratio = _chunkCZIVE6NTcjs.Schema.number({ min: 0, max: 1 });
1465
- var logLevel = _chunkCZIVE6NTcjs.Schema.enum(["debug", "info", "warn", "error"]);
1466
- var retryOptions = _chunkCZIVE6NTcjs.Schema.object({
1467
- attempts: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional(),
1468
- initialDelayMs: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional(),
1469
- maxDelayMs: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional(),
1470
- jitterRatio: _chunkCZIVE6NTcjs.Schema.number({ min: 0, max: 1 }).optional(),
1482
+ var falseOrObject = _chunkUUMKZJRJcjs.Schema.union([_chunkUUMKZJRJcjs.Schema.literal(false), object]);
1483
+ var ratio = _chunkUUMKZJRJcjs.Schema.number({ min: 0, max: 1 });
1484
+ var logLevel = _chunkUUMKZJRJcjs.Schema.enum(["debug", "info", "warn", "error"]);
1485
+ var retryOptions = _chunkUUMKZJRJcjs.Schema.object({
1486
+ attempts: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional(),
1487
+ initialDelayMs: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional(),
1488
+ maxDelayMs: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional(),
1489
+ jitterRatio: _chunkUUMKZJRJcjs.Schema.number({ min: 0, max: 1 }).optional(),
1471
1490
  sleep: fn.optional()
1472
1491
  }, { unknownKeys: "passthrough" });
1473
- var pipelineOptions = _chunkCZIVE6NTcjs.Schema.object({
1474
- maxQueueSize: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional(),
1475
- batchSize: _chunkCZIVE6NTcjs.Schema.number({ min: 1, int: true }).optional(),
1476
- timeoutMs: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional(),
1492
+ var pipelineOptions = _chunkUUMKZJRJcjs.Schema.object({
1493
+ maxQueueSize: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional(),
1494
+ batchSize: _chunkUUMKZJRJcjs.Schema.number({ min: 1, int: true }).optional(),
1495
+ timeoutMs: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional(),
1477
1496
  retry: retryOptions.optional(),
1478
- dropPolicy: _chunkCZIVE6NTcjs.Schema.enum(["drop-oldest", "drop-newest"]).optional(),
1479
- shutdownTimeoutMs: _chunkCZIVE6NTcjs.Schema.number({ min: 0, int: true }).optional()
1497
+ dropPolicy: _chunkUUMKZJRJcjs.Schema.enum(["drop-oldest", "drop-newest"]).optional(),
1498
+ shutdownTimeoutMs: _chunkUUMKZJRJcjs.Schema.number({ min: 0, int: true }).optional()
1480
1499
  }, { unknownKeys: "passthrough" });
1481
- var otlpOptions = _chunkCZIVE6NTcjs.Schema.object({
1482
- metricsUrl: _chunkCZIVE6NTcjs.Schema.string().optional(),
1483
- tracesUrl: _chunkCZIVE6NTcjs.Schema.string().optional(),
1484
- logsUrl: _chunkCZIVE6NTcjs.Schema.string().optional(),
1485
- headers: _chunkCZIVE6NTcjs.Schema.record(_chunkCZIVE6NTcjs.Schema.string()).optional(),
1500
+ var otlpOptions = _chunkUUMKZJRJcjs.Schema.object({
1501
+ metricsUrl: _chunkUUMKZJRJcjs.Schema.string().optional(),
1502
+ tracesUrl: _chunkUUMKZJRJcjs.Schema.string().optional(),
1503
+ logsUrl: _chunkUUMKZJRJcjs.Schema.string().optional(),
1504
+ headers: _chunkUUMKZJRJcjs.Schema.record(_chunkUUMKZJRJcjs.Schema.string()).optional(),
1486
1505
  fetch: fn.optional(),
1487
- timeoutMs: _chunkCZIVE6NTcjs.Schema.number({ min: 1, int: true }).optional(),
1506
+ timeoutMs: _chunkUUMKZJRJcjs.Schema.number({ min: 1, int: true }).optional(),
1488
1507
  retry: retryOptions.optional(),
1489
1508
  pipeline: pipelineOptions.optional()
1490
1509
  }, { unknownKeys: "passthrough" });
1491
- var samplingOptions = _chunkCZIVE6NTcjs.Schema.union([
1492
- _chunkCZIVE6NTcjs.Schema.literal(false),
1510
+ var samplingOptions = _chunkUUMKZJRJcjs.Schema.union([
1511
+ _chunkUUMKZJRJcjs.Schema.literal(false),
1493
1512
  ratio,
1494
1513
  fn,
1495
- _chunkCZIVE6NTcjs.Schema.object({
1514
+ _chunkUUMKZJRJcjs.Schema.object({
1496
1515
  ratio: ratio.optional(),
1497
- rules: _chunkCZIVE6NTcjs.Schema.array(object).optional(),
1498
- sampler: _chunkCZIVE6NTcjs.Schema.union([fn, object]).optional(),
1499
- respectRemoteSampled: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1500
- forceSampleOnError: _chunkCZIVE6NTcjs.Schema.boolean().optional()
1516
+ rules: _chunkUUMKZJRJcjs.Schema.array(object).optional(),
1517
+ sampler: _chunkUUMKZJRJcjs.Schema.union([fn, object]).optional(),
1518
+ respectRemoteSampled: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1519
+ forceSampleOnError: _chunkUUMKZJRJcjs.Schema.boolean().optional()
1501
1520
  }, { unknownKeys: "passthrough" })
1502
1521
  ]);
1503
- var observabilityOptions = _chunkCZIVE6NTcjs.Schema.object({
1504
- serviceName: _chunkCZIVE6NTcjs.Schema.string({ minLength: 1 }).optional(),
1505
- serviceVersion: _chunkCZIVE6NTcjs.Schema.string({ minLength: 1 }).optional(),
1522
+ var observabilityOptions = _chunkUUMKZJRJcjs.Schema.object({
1523
+ serviceName: _chunkUUMKZJRJcjs.Schema.string({ minLength: 1 }).optional(),
1524
+ serviceVersion: _chunkUUMKZJRJcjs.Schema.string({ minLength: 1 }).optional(),
1506
1525
  resource: object.optional(),
1507
1526
  eventBus: object.optional(),
1508
1527
  metrics: falseOrObject.optional(),
@@ -1510,74 +1529,103 @@ var observabilityOptions = _chunkCZIVE6NTcjs.Schema.object({
1510
1529
  traces: falseOrObject.optional(),
1511
1530
  sampling: samplingOptions.optional(),
1512
1531
  redaction: falseOrObject.optional(),
1513
- cardinality: _chunkCZIVE6NTcjs.Schema.union([
1514
- _chunkCZIVE6NTcjs.Schema.literal(false),
1515
- _chunkCZIVE6NTcjs.Schema.object({
1516
- maxValuesPerLabel: _chunkCZIVE6NTcjs.Schema.number({ min: 1, int: true }).optional(),
1517
- overflowValue: _chunkCZIVE6NTcjs.Schema.string({ minLength: 1 }).optional()
1532
+ cardinality: _chunkUUMKZJRJcjs.Schema.union([
1533
+ _chunkUUMKZJRJcjs.Schema.literal(false),
1534
+ _chunkUUMKZJRJcjs.Schema.object({
1535
+ maxValuesPerLabel: _chunkUUMKZJRJcjs.Schema.number({ min: 1, int: true }).optional(),
1536
+ overflowValue: _chunkUUMKZJRJcjs.Schema.string({ minLength: 1 }).optional()
1518
1537
  }, { unknownKeys: "passthrough" })
1519
1538
  ]).optional(),
1520
1539
  otlp: otlpOptions.optional(),
1521
- flushIntervalMs: _chunkCZIVE6NTcjs.Schema.number({ min: 1, int: true }).optional(),
1522
- autoStart: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1540
+ flushIntervalMs: _chunkUUMKZJRJcjs.Schema.number({ min: 1, int: true }).optional(),
1541
+ autoStart: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1523
1542
  traceSeed: object.optional(),
1524
1543
  childName: fn.optional(),
1525
1544
  onFlushError: fn.optional()
1526
1545
  }, { unknownKeys: "passthrough" });
1527
- var httpObservabilityOptions = _chunkCZIVE6NTcjs.Schema.object({
1546
+ var httpObservabilityOptions = _chunkUUMKZJRJcjs.Schema.object({
1528
1547
  metrics: falseOrObject.optional(),
1529
- logs: _chunkCZIVE6NTcjs.Schema.union([
1530
- _chunkCZIVE6NTcjs.Schema.literal(false),
1531
- _chunkCZIVE6NTcjs.Schema.object({
1532
- requestLevel: _chunkCZIVE6NTcjs.Schema.union([logLevel, _chunkCZIVE6NTcjs.Schema.literal(false)]).optional(),
1533
- responseLevel: _chunkCZIVE6NTcjs.Schema.union([logLevel, _chunkCZIVE6NTcjs.Schema.literal(false)]).optional(),
1534
- errorLevel: _chunkCZIVE6NTcjs.Schema.union([logLevel, _chunkCZIVE6NTcjs.Schema.literal(false)]).optional()
1548
+ logs: _chunkUUMKZJRJcjs.Schema.union([
1549
+ _chunkUUMKZJRJcjs.Schema.literal(false),
1550
+ _chunkUUMKZJRJcjs.Schema.object({
1551
+ requestLevel: _chunkUUMKZJRJcjs.Schema.union([logLevel, _chunkUUMKZJRJcjs.Schema.literal(false)]).optional(),
1552
+ responseLevel: _chunkUUMKZJRJcjs.Schema.union([logLevel, _chunkUUMKZJRJcjs.Schema.literal(false)]).optional(),
1553
+ errorLevel: _chunkUUMKZJRJcjs.Schema.union([logLevel, _chunkUUMKZJRJcjs.Schema.literal(false)]).optional()
1535
1554
  }, { unknownKeys: "passthrough" })
1536
1555
  ]).optional(),
1537
- spans: _chunkCZIVE6NTcjs.Schema.union([
1538
- _chunkCZIVE6NTcjs.Schema.literal(false),
1539
- _chunkCZIVE6NTcjs.Schema.object({
1540
- name: _chunkCZIVE6NTcjs.Schema.union([_chunkCZIVE6NTcjs.Schema.string({ minLength: 1 }), fn]).optional(),
1541
- attributes: _chunkCZIVE6NTcjs.Schema.union([object, fn]).optional()
1556
+ spans: _chunkUUMKZJRJcjs.Schema.union([
1557
+ _chunkUUMKZJRJcjs.Schema.literal(false),
1558
+ _chunkUUMKZJRJcjs.Schema.object({
1559
+ name: _chunkUUMKZJRJcjs.Schema.union([_chunkUUMKZJRJcjs.Schema.string({ minLength: 1 }), fn]).optional(),
1560
+ attributes: _chunkUUMKZJRJcjs.Schema.union([object, fn]).optional(),
1561
+ events: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1562
+ sampleRate: ratio.optional()
1542
1563
  }, { unknownKeys: "passthrough" })
1543
1564
  ]).optional(),
1544
- adaptiveLimiter: _chunkCZIVE6NTcjs.Schema.union([
1545
- _chunkCZIVE6NTcjs.Schema.boolean(),
1546
- _chunkCZIVE6NTcjs.Schema.object({
1547
- enabled: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1548
- includeKeyLabel: _chunkCZIVE6NTcjs.Schema.boolean().optional()
1565
+ adaptiveLimiter: _chunkUUMKZJRJcjs.Schema.union([
1566
+ _chunkUUMKZJRJcjs.Schema.boolean(),
1567
+ _chunkUUMKZJRJcjs.Schema.object({
1568
+ enabled: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1569
+ includeKeyLabel: _chunkUUMKZJRJcjs.Schema.boolean().optional()
1549
1570
  }, { unknownKeys: "passthrough" })
1550
1571
  ]).optional(),
1551
- policy: _chunkCZIVE6NTcjs.Schema.union([
1552
- _chunkCZIVE6NTcjs.Schema.boolean(),
1553
- _chunkCZIVE6NTcjs.Schema.object({
1554
- enabled: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1555
- labelKeys: _chunkCZIVE6NTcjs.Schema.array(_chunkCZIVE6NTcjs.Schema.enum(["preset", "lane", "poolKey", "dedupKey", "priority", "retry"])).optional()
1572
+ policy: _chunkUUMKZJRJcjs.Schema.union([
1573
+ _chunkUUMKZJRJcjs.Schema.boolean(),
1574
+ _chunkUUMKZJRJcjs.Schema.object({
1575
+ enabled: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1576
+ labelKeys: _chunkUUMKZJRJcjs.Schema.array(_chunkUUMKZJRJcjs.Schema.enum(["preset", "lane", "poolKey", "dedupKey", "priority", "retry"])).optional()
1556
1577
  }, { unknownKeys: "passthrough" })
1557
1578
  ]).optional(),
1558
- injectTraceHeaders: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1559
- includeHostLabel: _chunkCZIVE6NTcjs.Schema.boolean().optional(),
1560
- route: _chunkCZIVE6NTcjs.Schema.union([_chunkCZIVE6NTcjs.Schema.string({ minLength: 1 }), fn]).optional(),
1579
+ injectTraceHeaders: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1580
+ includeHostLabel: _chunkUUMKZJRJcjs.Schema.boolean().optional(),
1581
+ route: _chunkUUMKZJRJcjs.Schema.union([_chunkUUMKZJRJcjs.Schema.string({ minLength: 1 }), fn]).optional(),
1561
1582
  clock: fn.optional(),
1562
- durationBuckets: _chunkCZIVE6NTcjs.Schema.array(_chunkCZIVE6NTcjs.Schema.number({ min: 0 }).refine((n) => n > 0, "duration bucket must be > 0")).optional()
1583
+ durationBuckets: _chunkUUMKZJRJcjs.Schema.array(_chunkUUMKZJRJcjs.Schema.number({ min: 0 }).refine((n) => n > 0, "duration bucket must be > 0")).optional()
1563
1584
  }, { unknownKeys: "passthrough" });
1564
1585
  function validateObservabilityOptions(options) {
1565
- _chunkCZIVE6NTcjs.parseConfig.call(void 0, "ObservabilityOptions", observabilityOptions, options);
1586
+ _chunkUUMKZJRJcjs.parseConfig.call(void 0, "ObservabilityOptions", observabilityOptions, options);
1566
1587
  }
1567
1588
  function validateHttpObservabilityOptions(options) {
1568
- _chunkCZIVE6NTcjs.parseConfig.call(void 0, "HttpObservabilityOptions", httpObservabilityOptions, options);
1589
+ _chunkUUMKZJRJcjs.parseConfig.call(void 0, "HttpObservabilityOptions", httpObservabilityOptions, options);
1569
1590
  }
1570
1591
 
1571
1592
  // src/observability/setup.ts
1593
+ var DEFAULT_OTLP_SIGNALS = ["metrics", "traces", "logs"];
1594
+ function makeOtlpOptions(input) {
1595
+ const endpoint = normalizeOtlpEndpoint(input.endpoint);
1596
+ const signals = _nullishCoalesce(input.signals, () => ( DEFAULT_OTLP_SIGNALS));
1597
+ return {
1598
+ ...signals.includes("metrics") ? { metricsUrl: `${endpoint}/v1/metrics` } : {},
1599
+ ...signals.includes("traces") ? { tracesUrl: `${endpoint}/v1/traces` } : {},
1600
+ ...signals.includes("logs") ? { logsUrl: `${endpoint}/v1/logs` } : {},
1601
+ ...input.headers ? { headers: input.headers } : {},
1602
+ ...input.fetch ? { fetch: input.fetch } : {},
1603
+ ...input.timeoutMs !== void 0 ? { timeoutMs: input.timeoutMs } : {},
1604
+ ...input.retry ? { retry: input.retry } : {},
1605
+ ...input.pipeline ? { pipeline: input.pipeline } : {}
1606
+ };
1607
+ }
1608
+ function normalizeOtlpEndpoint(endpoint) {
1609
+ const trimmed = endpoint.trim();
1610
+ let end = trimmed.length;
1611
+ while (end > 0 && trimmed.charCodeAt(end - 1) === 47) {
1612
+ end -= 1;
1613
+ }
1614
+ const normalized = trimmed.slice(0, end);
1615
+ if (!normalized) {
1616
+ throw new Error("makeOtlpOptions endpoint must not be empty");
1617
+ }
1618
+ return normalized;
1619
+ }
1572
1620
  function makeObservability(options = {}) {
1573
1621
  validateObservabilityOptions(options);
1574
1622
  const serviceName = _nullishCoalesce(options.serviceName, () => ( "brass-runtime"));
1575
- const eventBus = _nullishCoalesce(options.eventBus, () => ( new (0, _chunk52PPNNI4cjs.EventBus)()));
1576
- const rawMetrics = _chunk52PPNNI4cjs.makeMetrics.call(void 0, );
1623
+ const eventBus = _nullishCoalesce(options.eventBus, () => ( new (0, _chunkAJMKZXRBcjs.EventBus)()));
1624
+ const rawMetrics = _chunkAJMKZXRBcjs.makeMetrics.call(void 0, );
1577
1625
  const metrics = options.cardinality === false ? rawMetrics : makeCardinalityLimitedMetrics(rawMetrics, _nullishCoalesce(options.cardinality, () => ( {})));
1578
1626
  const redactor = makeObservabilityRedactor(options.redaction);
1579
1627
  const traceOptions = options.traces && typeof options.traces === "object" ? options.traces : {};
1580
- const tracer = new (0, _chunk52PPNNI4cjs.InMemoryTracer)({
1628
+ const tracer = new (0, _chunkAJMKZXRBcjs.InMemoryTracer)({
1581
1629
  maxFinishedSpans: _nullishCoalesce(traceOptions.maxFinishedSpans, () => ( 1e4)),
1582
1630
  maxSpanAgeMs: _nullishCoalesce(traceOptions.maxSpanAgeMs, () => ( 10 * 6e4)),
1583
1631
  clock: traceOptions.clock,
@@ -1934,7 +1982,7 @@ function makeRequestObservabilityContext(observability, input = {}) {
1934
1982
  const env = observability.envForRequest(input);
1935
1983
  const attributes = requestSpanAttributes(input);
1936
1984
  const defaultSpanName = _nullishCoalesce(input.spanName, () => ( (input.method && input.route ? `${input.method} ${input.route}` : _nullishCoalesce(input.route, () => ( "request")))));
1937
- const makeRuntime = (extraEnv, options = {}) => new (0, _chunkGLE2WY7Zcjs.Runtime)({
1985
+ const makeRuntime = (extraEnv, options = {}) => new (0, _chunkSSQJKDN3cjs.Runtime)({
1938
1986
  ...options,
1939
1987
  env: mergeEnv(extraEnv, env),
1940
1988
  hooks: observability.hooks
@@ -1969,7 +2017,7 @@ function requestSpanAttributes(input) {
1969
2017
  function targetPath(target) {
1970
2018
  try {
1971
2019
  return new URL(target, "http://local").pathname;
1972
- } catch (e7) {
2020
+ } catch (e8) {
1973
2021
  return _nullishCoalesce(target.split("?", 1)[0], () => ( target));
1974
2022
  }
1975
2023
  }
@@ -2190,4 +2238,5 @@ function compactLabels(labels) {
2190
2238
 
2191
2239
 
2192
2240
 
2193
- exports.snapshotRuntimeHealth = snapshotRuntimeHealth; exports.makeRuntimeHealth = makeRuntimeHealth; exports.runtimeHealth = runtimeHealth; exports.readiness = readiness; exports.healthToHttpResponse = healthToHttpResponse; exports.makeObservabilityRedactor = makeObservabilityRedactor; exports.parseTraceparent = parseTraceparent; exports.formatTraceparent = formatTraceparent; exports.extractTraceContext = extractTraceContext; exports.injectTraceContext = injectTraceContext; exports.parseBaggage = parseBaggage; exports.formatBaggage = formatBaggage; exports.extractBaggage = extractBaggage; exports.injectBaggage = injectBaggage; exports.normalizeTraceId = normalizeTraceId; exports.normalizeSpanId = normalizeSpanId; exports.PROMETHEUS_CONTENT_TYPE = PROMETHEUS_CONTENT_TYPE; exports.OTLP_JSON_CONTENT_TYPE = OTLP_JSON_CONTENT_TYPE; exports.makePrometheusMetricsExporter = makePrometheusMetricsExporter; exports.formatPrometheusMetrics = formatPrometheusMetrics; exports.metricsSnapshotToOtlp = metricsSnapshotToOtlp; exports.makeOtlpHttpMetricsExporter = makeOtlpHttpMetricsExporter; exports.makeRuntimeMetricsSink = makeRuntimeMetricsSink; exports.exemplarFromTraceContext = exemplarFromTraceContext; exports.toOtlpAttributes = toOtlpAttributes; exports.otlpAnyValue = otlpAnyValue; exports.postOtlpJson = postOtlpJson; exports.unixNanoFromMs = unixNanoFromMs; exports.makeStructuredLogSink = makeStructuredLogSink; exports.formatStructuredLog = formatStructuredLog; exports.structuredLogsToOtlp = structuredLogsToOtlp; exports.makeOtlpHttpLogExporter = makeOtlpHttpLogExporter; exports.logEffect = logEffect; exports.withLogContext = withLogContext; exports.defaultStructuredLogWriter = defaultStructuredLogWriter; exports.alwaysOnSampler = alwaysOnSampler; exports.alwaysOffSampler = alwaysOffSampler; exports.ratioSampler = ratioSampler; exports.makeTraceSampler = makeTraceSampler; exports.resolveTraceSampling = resolveTraceSampling; exports.shouldSampleWith = shouldSampleWith; exports.withSpan = withSpan; exports.spanLink = spanLink; exports.currentSpanLink = currentSpanLink; exports.withBaggage = withBaggage; exports.currentBaggage = currentBaggage; exports.spanEvent = spanEvent; exports.spansToOtlp = spansToOtlp; exports.makeOtlpHttpSpanExporter = makeOtlpHttpSpanExporter; exports.makeExportPipeline = makeExportPipeline; exports.exportWithRetry = exportWithRetry; exports.withTimeout = withTimeout; exports.makeCardinalityLimitedMetrics = makeCardinalityLimitedMetrics; exports.normalizeHttpRoute = normalizeHttpRoute; exports.sanitizeHttpTarget = sanitizeHttpTarget; exports.validateHttpObservabilityOptions = validateHttpObservabilityOptions; exports.makeObservability = makeObservability; exports.resolveRequestTraceSeed = resolveRequestTraceSeed; exports.resolveRequestBaggage = resolveRequestBaggage; exports.makeRequestObservabilityContext = makeRequestObservabilityContext; exports.runObservedHttpServerEffect = runObservedHttpServerEffect; exports.observeHttpServerRequest = observeHttpServerRequest;
2241
+
2242
+ exports.snapshotRuntimeHealth = snapshotRuntimeHealth; exports.makeRuntimeHealth = makeRuntimeHealth; exports.runtimeHealth = runtimeHealth; exports.readiness = readiness; exports.healthToHttpResponse = healthToHttpResponse; exports.makeObservabilityRedactor = makeObservabilityRedactor; exports.parseTraceparent = parseTraceparent; exports.formatTraceparent = formatTraceparent; exports.extractTraceContext = extractTraceContext; exports.injectTraceContext = injectTraceContext; exports.parseBaggage = parseBaggage; exports.formatBaggage = formatBaggage; exports.extractBaggage = extractBaggage; exports.injectBaggage = injectBaggage; exports.normalizeTraceId = normalizeTraceId; exports.normalizeSpanId = normalizeSpanId; exports.PROMETHEUS_CONTENT_TYPE = PROMETHEUS_CONTENT_TYPE; exports.OTLP_JSON_CONTENT_TYPE = OTLP_JSON_CONTENT_TYPE; exports.makePrometheusMetricsExporter = makePrometheusMetricsExporter; exports.formatPrometheusMetrics = formatPrometheusMetrics; exports.metricsSnapshotToOtlp = metricsSnapshotToOtlp; exports.makeOtlpHttpMetricsExporter = makeOtlpHttpMetricsExporter; exports.makeRuntimeMetricsSink = makeRuntimeMetricsSink; exports.exemplarFromTraceContext = exemplarFromTraceContext; exports.toOtlpAttributes = toOtlpAttributes; exports.otlpAnyValue = otlpAnyValue; exports.postOtlpJson = postOtlpJson; exports.unixNanoFromMs = unixNanoFromMs; exports.makeStructuredLogSink = makeStructuredLogSink; exports.formatStructuredLog = formatStructuredLog; exports.structuredLogsToOtlp = structuredLogsToOtlp; exports.makeOtlpHttpLogExporter = makeOtlpHttpLogExporter; exports.logEffect = logEffect; exports.withLogContext = withLogContext; exports.defaultStructuredLogWriter = defaultStructuredLogWriter; exports.alwaysOnSampler = alwaysOnSampler; exports.alwaysOffSampler = alwaysOffSampler; exports.ratioSampler = ratioSampler; exports.makeTraceSampler = makeTraceSampler; exports.resolveTraceSampling = resolveTraceSampling; exports.shouldSampleWith = shouldSampleWith; exports.withSpan = withSpan; exports.spanLink = spanLink; exports.currentSpanLink = currentSpanLink; exports.withBaggage = withBaggage; exports.currentBaggage = currentBaggage; exports.spanEvent = spanEvent; exports.spansToOtlp = spansToOtlp; exports.makeOtlpHttpSpanExporter = makeOtlpHttpSpanExporter; exports.makeExportPipeline = makeExportPipeline; exports.exportWithRetry = exportWithRetry; exports.withTimeout = withTimeout; exports.makeCardinalityLimitedMetrics = makeCardinalityLimitedMetrics; exports.normalizeHttpRoute = normalizeHttpRoute; exports.sanitizeHttpTarget = sanitizeHttpTarget; exports.validateHttpObservabilityOptions = validateHttpObservabilityOptions; exports.makeOtlpOptions = makeOtlpOptions; exports.makeObservability = makeObservability; exports.resolveRequestTraceSeed = resolveRequestTraceSeed; exports.resolveRequestBaggage = resolveRequestBaggage; exports.makeRequestObservabilityContext = makeRequestObservabilityContext; exports.runObservedHttpServerEffect = runObservedHttpServerEffect; exports.observeHttpServerRequest = observeHttpServerRequest;
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunk52PPNNI4cjs = require('./chunk-52PPNNI4.cjs');
3
+ var _chunkAJMKZXRBcjs = require('./chunk-AJMKZXRB.cjs');
4
4
 
5
5
 
6
6
 
7
- var _chunkGLE2WY7Zcjs = require('./chunk-GLE2WY7Z.cjs');
7
+ var _chunkSSQJKDN3cjs = require('./chunk-SSQJKDN3.cjs');
8
8
 
9
9
 
10
10
 
@@ -73,9 +73,9 @@ function fiberRefSnapshot() {
73
73
  return new Map(currentFiberRefs(false));
74
74
  }
75
75
  function currentFiberRefs(create) {
76
- const fiber = _chunkGLE2WY7Zcjs.getCurrentFiber.call(void 0, );
76
+ const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
77
77
  if (!fiber) return void 0;
78
- fiber.fiberContext ??= { log: _chunkGLE2WY7Zcjs.emptyContext, trace: null };
78
+ fiber.fiberContext ??= { log: _chunkSSQJKDN3cjs.emptyContext, trace: null };
79
79
  if (!fiber.fiberContext.fiberRefs && create) fiber.fiberContext.fiberRefs = /* @__PURE__ */ new Map();
80
80
  return fiber.fiberContext.fiberRefs;
81
81
  }
@@ -98,7 +98,7 @@ function makeRuntimeRecorder(options = {}) {
98
98
  return out;
99
99
  };
100
100
  const emit = (ev, ctx) => {
101
- records[next] = _chunk52PPNNI4cjs.makeRuntimeEventRecord.call(void 0, ev, ctx, seq++);
101
+ records[next] = _chunkAJMKZXRBcjs.makeRuntimeEventRecord.call(void 0, ev, ctx, seq++);
102
102
  next = (next + 1) % capacity;
103
103
  if (size < capacity) size++;
104
104
  else dropped++;
@@ -1,26 +1,24 @@
1
1
  import {
2
2
  makeFiberRef,
3
3
  makeRuntimeRecorder
4
- } from "./chunk-EOC4UHBS.mjs";
5
- import {
6
- makeDefaultHttpClient
7
- } from "./chunk-7CMJS3QE.mjs";
8
- import {
9
- makeHttp
10
- } from "./chunk-5VRJNBLZ.mjs";
4
+ } from "./chunk-G5JTCFMI.mjs";
11
5
  import {
12
6
  withHttpObservability
13
- } from "./chunk-DNFO2EIZ.mjs";
7
+ } from "./chunk-QCOLAHU3.mjs";
14
8
  import {
15
9
  makeObservability
16
- } from "./chunk-MT3OWDPC.mjs";
10
+ } from "./chunk-KRYP6CAE.mjs";
17
11
  import {
18
12
  EventBus
19
- } from "./chunk-EJ6BPYVR.mjs";
13
+ } from "./chunk-OT2TESZU.mjs";
14
+ import {
15
+ makeDefaultHttpClient,
16
+ makeHttp
17
+ } from "./chunk-Z3PSSXP3.mjs";
20
18
  import {
21
19
  Runtime,
22
20
  Scheduler
23
- } from "./chunk-GYM3LLGS.mjs";
21
+ } from "./chunk-2QNREG6K.mjs";
24
22
  import {
25
23
  asyncFlatMap,
26
24
  asyncSucceed,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeBoundedRingBuffer
3
- } from "./chunk-GYM3LLGS.mjs";
3
+ } from "./chunk-2QNREG6K.mjs";
4
4
  import {
5
5
  Cause
6
6
  } from "./chunk-36I3M4UC.mjs";
@@ -1,26 +1,24 @@
1
1
  import {
2
2
  makeFiberRef,
3
3
  makeRuntimeRecorder
4
- } from "./chunk-5QC7LRZ3.js";
5
- import {
6
- makeDefaultHttpClient
7
- } from "./chunk-74ZTY6CP.js";
8
- import {
9
- makeHttp
10
- } from "./chunk-MIIYDLGM.js";
4
+ } from "./chunk-S4HHFUYP.js";
11
5
  import {
12
6
  withHttpObservability
13
- } from "./chunk-AVNQLJ5V.js";
7
+ } from "./chunk-3PHU7FWS.js";
14
8
  import {
15
9
  makeObservability
16
- } from "./chunk-CIZFIMK5.js";
10
+ } from "./chunk-4YQHPIWJ.js";
17
11
  import {
18
12
  EventBus
19
- } from "./chunk-RKGKFN2A.js";
13
+ } from "./chunk-AADFFVYS.js";
14
+ import {
15
+ makeDefaultHttpClient,
16
+ makeHttp
17
+ } from "./chunk-H5GYX7RZ.js";
20
18
  import {
21
19
  Runtime,
22
20
  Scheduler
23
- } from "./chunk-FH2X7BVP.js";
21
+ } from "./chunk-XSAHV5HQ.js";
24
22
  import {
25
23
  asyncFlatMap,
26
24
  asyncSucceed,