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.
- package/README.md +40 -8
- package/dist/agent/cli/main.cjs +31 -32
- package/dist/agent/cli/main.js +3 -4
- package/dist/agent/cli/main.mjs +3 -4
- package/dist/agent/index.cjs +4 -5
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.js +3 -4
- package/dist/agent/index.mjs +3 -4
- package/dist/{chunk-GYM3LLGS.mjs → chunk-2QNREG6K.mjs} +188 -5
- package/dist/{chunk-4ROBZFL6.cjs → chunk-2SLT3X6G.cjs} +6 -8
- package/dist/{chunk-KZJQ723N.cjs → chunk-3PFZGP23.cjs} +13 -15
- package/dist/{chunk-AVNQLJ5V.js → chunk-3PHU7FWS.js} +528 -23
- package/dist/{chunk-CIZFIMK5.js → chunk-4YQHPIWJ.js} +60 -11
- package/dist/chunk-5XADBMSU.cjs +33 -0
- package/dist/{chunk-DNFJLJMW.mjs → chunk-6MLAZPBL.mjs} +48 -24
- package/dist/chunk-7TKI527D.cjs +123 -0
- package/dist/{chunk-AGR5B2BC.cjs → chunk-7TXQJFZX.cjs} +564 -12
- package/dist/{chunk-RKGKFN2A.js → chunk-AADFFVYS.js} +1 -1
- package/dist/{chunk-52PPNNI4.cjs → chunk-AJMKZXRB.cjs} +2 -2
- package/dist/{chunk-3AYM6WPJ.js → chunk-BG5RNEA2.js} +20 -299
- package/dist/{chunk-2HQTDLHF.mjs → chunk-ELLF55ER.mjs} +555 -3
- package/dist/{chunk-EOC4UHBS.mjs → chunk-G5JTCFMI.mjs} +2 -2
- package/dist/chunk-H5GYX7RZ.js +6126 -0
- package/dist/{chunk-C3MDXTRZ.js → chunk-HCJ4S3YB.js} +48 -24
- package/dist/{chunk-6IXXWIUM.js → chunk-IBRHSH5H.js} +555 -3
- package/dist/{chunk-Q2I37RP3.cjs → chunk-IFRBVMWJ.cjs} +44 -323
- package/dist/{chunk-52OB2ROS.js → chunk-ITG6I7ZS.js} +2 -4
- package/dist/chunk-ITZQ526U.mjs +33 -0
- package/dist/{chunk-7JIJOVCT.js → chunk-JH4GI3DW.js} +2 -4
- package/dist/{chunk-76YMRMH2.cjs → chunk-KHACHFBQ.cjs} +583 -78
- package/dist/{chunk-MT3OWDPC.mjs → chunk-KRYP6CAE.mjs} +60 -11
- package/dist/chunk-KTGDLBLD.mjs +123 -0
- package/dist/{chunk-ENKODRU3.cjs → chunk-LXBU5E77.cjs} +143 -94
- package/dist/{chunk-PD4EJTQC.cjs → chunk-N6QNSTWD.cjs} +5 -5
- package/dist/{chunk-HLWLMW2F.mjs → chunk-OI4ESUMC.mjs} +9 -11
- package/dist/{chunk-EJ6BPYVR.mjs → chunk-OT2TESZU.mjs} +1 -1
- package/dist/{chunk-BABBZK4Y.js → chunk-PSEU65ND.js} +9 -11
- package/dist/{chunk-DNFO2EIZ.mjs → chunk-QCOLAHU3.mjs} +528 -23
- package/dist/{chunk-KH4SYAOS.mjs → chunk-QZ6QFJNM.mjs} +20 -299
- package/dist/{chunk-MBEJI5HF.mjs → chunk-R6WDSZA6.mjs} +2 -4
- package/dist/{chunk-FHQGHPMO.mjs → chunk-RREBJX2S.mjs} +2 -4
- package/dist/{chunk-5QC7LRZ3.js → chunk-S4HHFUYP.js} +2 -2
- package/dist/{chunk-GLE2WY7Z.cjs → chunk-SSQJKDN3.cjs} +194 -11
- package/dist/{chunk-CZIVE6NT.cjs → chunk-UUMKZJRJ.cjs} +48 -24
- package/dist/chunk-VIFA4DPN.cjs +6126 -0
- package/dist/chunk-W6WR37HN.js +33 -0
- package/dist/{chunk-FH2X7BVP.js → chunk-XSAHV5HQ.js} +188 -5
- package/dist/chunk-YM3EDNYD.js +123 -0
- package/dist/{chunk-VN44DYYT.cjs → chunk-YTX2JYYP.cjs} +18 -20
- package/dist/chunk-Z3PSSXP3.mjs +6126 -0
- package/dist/core/index.cjs +31 -9
- package/dist/core/index.d.ts +19 -152
- package/dist/core/index.js +80 -58
- package/dist/core/index.mjs +80 -58
- package/dist/defaultClient-DhpCQW9m.d.ts +1623 -0
- package/dist/{effect-DIUHZ9IN.d.ts → effect-CtUDl5M5.d.ts} +1 -1
- package/dist/http/index.cjs +202 -59
- package/dist/http/index.d.ts +55 -819
- package/dist/http/index.js +216 -73
- package/dist/http/index.mjs +216 -73
- package/dist/http/testing.cjs +31 -10
- package/dist/http/testing.d.ts +16 -5
- package/dist/http/testing.js +29 -8
- package/dist/http/testing.mjs +29 -8
- package/dist/index.cjs +110 -88
- package/dist/index.d.ts +9 -8
- package/dist/index.js +81 -59
- package/dist/index.mjs +81 -59
- package/dist/{schedule-CK3Ml_7p.d.ts → layer-BalPI6cN.d.ts} +176 -2
- package/dist/observability/index.cjs +22 -7
- package/dist/observability/index.d.ts +32 -8
- package/dist/observability/index.js +21 -6
- package/dist/observability/index.mjs +21 -6
- package/dist/perf/cli.cjs +26 -28
- package/dist/perf/cli.js +11 -13
- package/dist/perf/cli.mjs +11 -13
- package/dist/perf/index.cjs +13 -15
- package/dist/perf/index.js +11 -13
- package/dist/perf/index.mjs +11 -13
- package/dist/schema/index.cjs +2 -2
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.mjs +1 -1
- package/dist/{server-GJPg8ZSG.d.ts → server-C1zVmqE6.d.ts} +16 -5
- package/dist/{stream-B4oK9JFP.d.ts → stream-Bb4FTejt.d.ts} +1 -1
- package/dist/{tracer-Hwt1cl7h.d.ts → tracer-DzfuE6um.d.ts} +2 -2
- package/dist/{tracing-DqbTKGcf.d.ts → tracing-BABA5arE.d.ts} +1 -1
- package/docs/README.md +4 -0
- package/docs/ai/PUBLIC_API.md +31 -7
- package/docs/articles/brass-runtime-http-observability.md +467 -0
- package/docs/framework-integrations.md +38 -0
- package/docs/frameworks/angular.md +204 -0
- package/docs/frameworks/express.md +183 -0
- package/docs/frameworks/fastify.md +173 -0
- package/docs/frameworks/nestjs.md +335 -0
- package/docs/frameworks/nextjs.md +202 -0
- package/docs/frameworks/react.md +183 -0
- package/docs/frameworks/vanilla.md +280 -0
- package/docs/guides/layers.md +130 -0
- package/docs/http-recipes.md +31 -1
- package/docs/http.md +50 -1
- package/docs/nestjs.md +6 -0
- package/docs/observability-framework-examples.md +12 -0
- package/docs/observability.md +239 -0
- package/docs/performance-profiler.md +6 -2
- package/docs/recipes/layers.md +46 -2
- package/docs/recipes/testing.md +25 -0
- package/package.json +4 -1
- package/dist/chunk-3LOYJFRR.cjs +0 -300
- package/dist/chunk-3Y2RIUMM.js +0 -300
- package/dist/chunk-5EC274J5.cjs +0 -2874
- package/dist/chunk-5VRJNBLZ.mjs +0 -2874
- package/dist/chunk-62AZW6UT.cjs +0 -313
- package/dist/chunk-74ZTY6CP.js +0 -2871
- package/dist/chunk-7CMJS3QE.mjs +0 -2871
- package/dist/chunk-A2OM6NEH.mjs +0 -194
- package/dist/chunk-B33ICAKP.js +0 -313
- package/dist/chunk-JF5WGYJJ.cjs +0 -194
- package/dist/chunk-KN32XNTH.mjs +0 -313
- package/dist/chunk-KQLYONSE.cjs +0 -2871
- package/dist/chunk-L2SYFEBS.js +0 -194
- package/dist/chunk-MIIYDLGM.js +0 -2874
- package/dist/chunk-PWC3RBQE.mjs +0 -300
- package/dist/client-CZHU674n.d.ts +0 -820
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkAJMKZXRBcjs = require('./chunk-AJMKZXRB.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
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
|
|
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 =
|
|
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]) ?
|
|
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 =
|
|
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, () => (
|
|
820
|
+
const previous = _nullishCoalesce(fiber.fiberContext.log, () => ( _chunkSSQJKDN3cjs.emptyContext));
|
|
821
821
|
const state = { fiber, previous, ended: false };
|
|
822
|
-
fiber.fiberContext = { ...fiber.fiberContext, log:
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 (
|
|
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 =
|
|
1459
|
-
var object =
|
|
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 =
|
|
1464
|
-
var ratio =
|
|
1465
|
-
var logLevel =
|
|
1466
|
-
var retryOptions =
|
|
1467
|
-
attempts:
|
|
1468
|
-
initialDelayMs:
|
|
1469
|
-
maxDelayMs:
|
|
1470
|
-
jitterRatio:
|
|
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 =
|
|
1474
|
-
maxQueueSize:
|
|
1475
|
-
batchSize:
|
|
1476
|
-
timeoutMs:
|
|
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:
|
|
1479
|
-
shutdownTimeoutMs:
|
|
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 =
|
|
1482
|
-
metricsUrl:
|
|
1483
|
-
tracesUrl:
|
|
1484
|
-
logsUrl:
|
|
1485
|
-
headers:
|
|
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:
|
|
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 =
|
|
1492
|
-
|
|
1510
|
+
var samplingOptions = _chunkUUMKZJRJcjs.Schema.union([
|
|
1511
|
+
_chunkUUMKZJRJcjs.Schema.literal(false),
|
|
1493
1512
|
ratio,
|
|
1494
1513
|
fn,
|
|
1495
|
-
|
|
1514
|
+
_chunkUUMKZJRJcjs.Schema.object({
|
|
1496
1515
|
ratio: ratio.optional(),
|
|
1497
|
-
rules:
|
|
1498
|
-
sampler:
|
|
1499
|
-
respectRemoteSampled:
|
|
1500
|
-
forceSampleOnError:
|
|
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 =
|
|
1504
|
-
serviceName:
|
|
1505
|
-
serviceVersion:
|
|
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:
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
maxValuesPerLabel:
|
|
1517
|
-
overflowValue:
|
|
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:
|
|
1522
|
-
autoStart:
|
|
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 =
|
|
1546
|
+
var httpObservabilityOptions = _chunkUUMKZJRJcjs.Schema.object({
|
|
1528
1547
|
metrics: falseOrObject.optional(),
|
|
1529
|
-
logs:
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
requestLevel:
|
|
1533
|
-
responseLevel:
|
|
1534
|
-
errorLevel:
|
|
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:
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
name:
|
|
1541
|
-
attributes:
|
|
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:
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
enabled:
|
|
1548
|
-
includeKeyLabel:
|
|
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:
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
enabled:
|
|
1555
|
-
labelKeys:
|
|
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:
|
|
1559
|
-
includeHostLabel:
|
|
1560
|
-
route:
|
|
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:
|
|
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
|
-
|
|
1586
|
+
_chunkUUMKZJRJcjs.parseConfig.call(void 0, "ObservabilityOptions", observabilityOptions, options);
|
|
1566
1587
|
}
|
|
1567
1588
|
function validateHttpObservabilityOptions(options) {
|
|
1568
|
-
|
|
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,
|
|
1576
|
-
const rawMetrics =
|
|
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,
|
|
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,
|
|
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 (
|
|
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
|
-
|
|
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
|
|
3
|
+
var _chunkAJMKZXRBcjs = require('./chunk-AJMKZXRB.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
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 =
|
|
76
|
+
const fiber = _chunkSSQJKDN3cjs.getCurrentFiber.call(void 0, );
|
|
77
77
|
if (!fiber) return void 0;
|
|
78
|
-
fiber.fiberContext ??= { log:
|
|
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] =
|
|
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-
|
|
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-
|
|
7
|
+
} from "./chunk-QCOLAHU3.mjs";
|
|
14
8
|
import {
|
|
15
9
|
makeObservability
|
|
16
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KRYP6CAE.mjs";
|
|
17
11
|
import {
|
|
18
12
|
EventBus
|
|
19
|
-
} from "./chunk-
|
|
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-
|
|
21
|
+
} from "./chunk-2QNREG6K.mjs";
|
|
24
22
|
import {
|
|
25
23
|
asyncFlatMap,
|
|
26
24
|
asyncSucceed,
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeFiberRef,
|
|
3
3
|
makeRuntimeRecorder
|
|
4
|
-
} from "./chunk-
|
|
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-
|
|
7
|
+
} from "./chunk-3PHU7FWS.js";
|
|
14
8
|
import {
|
|
15
9
|
makeObservability
|
|
16
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4YQHPIWJ.js";
|
|
17
11
|
import {
|
|
18
12
|
EventBus
|
|
19
|
-
} from "./chunk-
|
|
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-
|
|
21
|
+
} from "./chunk-XSAHV5HQ.js";
|
|
24
22
|
import {
|
|
25
23
|
asyncFlatMap,
|
|
26
24
|
asyncSucceed,
|