@wrongstack/core 0.1.9 → 0.2.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/dist/agent-bridge-DmBiCipY.d.ts +33 -0
- package/dist/compactor-DSl2FK7a.d.ts +17 -0
- package/dist/config-DXrqb41m.d.ts +193 -0
- package/dist/{provider-txgB0Oq9.d.ts → context-u0bryklF.d.ts} +540 -472
- package/dist/coordination/index.d.ts +892 -0
- package/dist/coordination/index.js +2869 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/defaults/index.d.ts +34 -2309
- package/dist/defaults/index.js +5610 -4608
- package/dist/defaults/index.js.map +1 -1
- package/dist/events-B6Q03pTu.d.ts +290 -0
- package/dist/execution/index.d.ts +260 -0
- package/dist/execution/index.js +1625 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/index.d.ts +81 -11
- package/dist/index.js +7727 -6174
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/index.d.ts +10 -0
- package/dist/infrastructure/index.js +575 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/input-reader-E-ffP2ee.d.ts +12 -0
- package/dist/kernel/index.d.ts +15 -4
- package/dist/kernel/index.js.map +1 -1
- package/dist/logger-BH6AE0W9.d.ts +24 -0
- package/dist/logger-BMQgxvdy.d.ts +12 -0
- package/dist/mcp-servers-BA1Ofmfj.d.ts +100 -0
- package/dist/memory-CEXuo7sz.d.ts +16 -0
- package/dist/mode-CV077NjV.d.ts +27 -0
- package/dist/models/index.d.ts +60 -0
- package/dist/models/index.js +621 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models-registry-DqzwpBQy.d.ts +46 -0
- package/dist/models-registry-Y2xbog0E.d.ts +95 -0
- package/dist/multi-agent-BDfkxL5C.d.ts +351 -0
- package/dist/observability/index.d.ts +353 -0
- package/dist/observability/index.js +691 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability-BhnVLBLS.d.ts +67 -0
- package/dist/path-resolver-CPRj4bFY.d.ts +10 -0
- package/dist/path-resolver-Crkt8wTQ.d.ts +54 -0
- package/dist/plugin-CoYYZKdn.d.ts +447 -0
- package/dist/renderer-0A2ZEtca.d.ts +158 -0
- package/dist/sdd/index.d.ts +206 -0
- package/dist/sdd/index.js +864 -0
- package/dist/sdd/index.js.map +1 -0
- package/dist/secret-scrubber-3TLUkiCV.d.ts +31 -0
- package/dist/secret-scrubber-CwYliRWd.d.ts +54 -0
- package/dist/secret-vault-DoISxaKO.d.ts +19 -0
- package/dist/security/index.d.ts +46 -0
- package/dist/security/index.js +536 -0
- package/dist/security/index.js.map +1 -0
- package/dist/selector-BRqzvugb.d.ts +51 -0
- package/dist/session-reader-C3x96CDR.d.ts +150 -0
- package/dist/skill-Bx8jxznf.d.ts +72 -0
- package/dist/storage/index.d.ts +540 -0
- package/dist/storage/index.js +1802 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/{system-prompt-vAB0F54-.d.ts → system-prompt-CG9jU5-5.d.ts} +9 -1
- package/dist/task-graph-BITvWt4t.d.ts +160 -0
- package/dist/tool-executor-CYdZdtno.d.ts +97 -0
- package/dist/types/index.d.ts +26 -4
- package/dist/types/index.js +1787 -4
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +49 -2
- package/dist/utils/index.js +100 -2
- package/dist/utils/index.js.map +1 -1
- package/package.json +34 -2
- package/dist/mode-Pjt5vMS6.d.ts +0 -815
- package/dist/session-reader-9sOTgmeC.d.ts +0 -1087
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import { e as MetricsSink, M as MetricLabels, f as MetricsSnapshot, b as HealthRegistry, H as HealthCheck, A as AggregateHealth, T as Tracer, S as Span } from '../observability-BhnVLBLS.js';
|
|
2
|
+
import { E as EventBus } from '../events-B6Q03pTu.js';
|
|
3
|
+
import '../context-u0bryklF.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* In-memory metrics sink. Suitable for embedded use, tests, and /metrics
|
|
7
|
+
* scrape over HTTP. For production push-based pipelines, write an adapter
|
|
8
|
+
* that implements MetricsSink and forwards to OTLP/StatsD/Prometheus.
|
|
9
|
+
*/
|
|
10
|
+
declare class InMemoryMetricsSink implements MetricsSink {
|
|
11
|
+
private counters;
|
|
12
|
+
private gauges;
|
|
13
|
+
private histograms;
|
|
14
|
+
counter(name: string, value?: number, labels?: MetricLabels): void;
|
|
15
|
+
gauge(name: string, value: number, labels?: MetricLabels): void;
|
|
16
|
+
histogram(name: string, value: number, labels?: MetricLabels): void;
|
|
17
|
+
snapshot(): MetricsSnapshot;
|
|
18
|
+
reset(): void;
|
|
19
|
+
private getOrCreate;
|
|
20
|
+
}
|
|
21
|
+
/** Cheap noop sink — drop-in default when observability is not configured. */
|
|
22
|
+
declare class NoopMetricsSink implements MetricsSink {
|
|
23
|
+
counter(): void;
|
|
24
|
+
gauge(): void;
|
|
25
|
+
histogram(): void;
|
|
26
|
+
snapshot(): MetricsSnapshot;
|
|
27
|
+
reset(): void;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Aggregates registered health checks. Worst status wins — one unhealthy check
|
|
32
|
+
* makes the whole system unhealthy. Use timeouts so a slow probe can't stall
|
|
33
|
+
* the response.
|
|
34
|
+
*/
|
|
35
|
+
declare class DefaultHealthRegistry implements HealthRegistry {
|
|
36
|
+
private checks;
|
|
37
|
+
private readonly timeoutMs;
|
|
38
|
+
constructor(opts?: {
|
|
39
|
+
timeoutMs?: number;
|
|
40
|
+
});
|
|
41
|
+
register(check: HealthCheck): void;
|
|
42
|
+
unregister(name: string): void;
|
|
43
|
+
run(): Promise<AggregateHealth>;
|
|
44
|
+
private runOne;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Default tracer is a noop — zero overhead when observability is not wired up.
|
|
49
|
+
* Replace at runtime with an OpenTelemetry-backed Tracer to enable real spans.
|
|
50
|
+
*/
|
|
51
|
+
declare class NoopTracer implements Tracer {
|
|
52
|
+
startSpan(): Span;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Lightweight OTel adapter. Doesn't pull in `@opentelemetry/api` directly —
|
|
57
|
+
* the user passes their already-initialized OTel Tracer through, and this
|
|
58
|
+
* wrapper translates our minimal Span surface onto theirs.
|
|
59
|
+
*
|
|
60
|
+
* Usage:
|
|
61
|
+
* import { trace } from '@opentelemetry/api';
|
|
62
|
+
* const tracer = trace.getTracer('wrongstack', '1.0');
|
|
63
|
+
* const wrappedTracer = new OTelTracer(tracer);
|
|
64
|
+
* // pass `wrappedTracer` as Agent.tracer / ToolExecutor.tracer.
|
|
65
|
+
*
|
|
66
|
+
* The shape of the upstream Tracer is intentionally typed loosely so we
|
|
67
|
+
* don't need a build-time dependency. Anything OTel-compatible works,
|
|
68
|
+
* including OpenInference, Tempo, etc.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
interface OTelLikeSpan {
|
|
72
|
+
setAttribute(key: string, value: string | number | boolean): unknown;
|
|
73
|
+
recordException(err: {
|
|
74
|
+
message: string;
|
|
75
|
+
stack?: string;
|
|
76
|
+
name?: string;
|
|
77
|
+
}): unknown;
|
|
78
|
+
setStatus?(status: {
|
|
79
|
+
code: number;
|
|
80
|
+
message?: string;
|
|
81
|
+
}): unknown;
|
|
82
|
+
end(): unknown;
|
|
83
|
+
}
|
|
84
|
+
interface OTelLikeTracer {
|
|
85
|
+
startSpan(name: string, options?: {
|
|
86
|
+
attributes?: Record<string, string | number | boolean>;
|
|
87
|
+
}): OTelLikeSpan;
|
|
88
|
+
}
|
|
89
|
+
declare class OTelTracer implements Tracer {
|
|
90
|
+
private readonly upstream;
|
|
91
|
+
constructor(upstream: OTelLikeTracer);
|
|
92
|
+
startSpan(name: string, attrs?: Record<string, string | number | boolean>): Span;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Subscribes a MetricsSink to the EventBus. Returns an unsubscribe function
|
|
97
|
+
* that detaches all listeners. This is the single integration point between
|
|
98
|
+
* the agent's event stream and the observability layer — no metric calls
|
|
99
|
+
* leak into core call sites.
|
|
100
|
+
*/
|
|
101
|
+
declare function wireMetricsToEvents(events: EventBus, sink: MetricsSink): () => void;
|
|
102
|
+
|
|
103
|
+
/** TLS options for HTTPS metrics endpoint. */
|
|
104
|
+
interface MetricsTlsOptions {
|
|
105
|
+
cert: string;
|
|
106
|
+
key: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Render a `MetricsSnapshot` as Prometheus text-format bytes. The output
|
|
110
|
+
* always ends with a trailing newline (Prometheus requires it).
|
|
111
|
+
*/
|
|
112
|
+
declare function renderPrometheus(snapshot: MetricsSnapshot): string;
|
|
113
|
+
/** MIME type Prometheus servers must respond with on /metrics. */
|
|
114
|
+
declare const PROMETHEUS_CONTENT_TYPE = "text/plain; version=0.0.4; charset=utf-8";
|
|
115
|
+
interface MetricsServerOptions {
|
|
116
|
+
port: number;
|
|
117
|
+
/** Bind address. Defaults to 127.0.0.1 so we don't accidentally expose metrics publicly. */
|
|
118
|
+
host?: string;
|
|
119
|
+
sink: MetricsSink;
|
|
120
|
+
/** Path to serve on. Defaults to /metrics. */
|
|
121
|
+
path?: string;
|
|
122
|
+
/**
|
|
123
|
+
* V2-C: optional health registry. When provided, the server also responds
|
|
124
|
+
* on `/healthz` (configurable via `healthPath`) with a JSON aggregate of
|
|
125
|
+
* every registered health check. K8s probes expect a single HTTP server
|
|
126
|
+
* exposing both `/metrics` and `/healthz`, so we mount them on the same
|
|
127
|
+
* port rather than opening a sibling listener.
|
|
128
|
+
*/
|
|
129
|
+
healthRegistry?: HealthRegistry;
|
|
130
|
+
/** Path to serve health JSON on. Defaults to /healthz. */
|
|
131
|
+
healthPath?: string;
|
|
132
|
+
/** Enable HTTPS by providing TLS key/cert. Both required. */
|
|
133
|
+
tls?: MetricsTlsOptions;
|
|
134
|
+
}
|
|
135
|
+
interface MetricsServerHandle {
|
|
136
|
+
port: number;
|
|
137
|
+
url: string;
|
|
138
|
+
close(): Promise<void>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Start an HTTP server that exposes a Prometheus scrape endpoint.
|
|
142
|
+
* Uses node:http directly to avoid pulling a framework into the core graph.
|
|
143
|
+
*
|
|
144
|
+
* Why bind to 127.0.0.1 by default: telemetry endpoints inside an agent
|
|
145
|
+
* process can leak prompt content via metric labels (tool name, error
|
|
146
|
+
* message, etc.). The default keeps that on the loopback interface;
|
|
147
|
+
* operators who want network scraping opt in explicitly with host: '0.0.0.0'.
|
|
148
|
+
*/
|
|
149
|
+
declare function startMetricsServer(opts: MetricsServerOptions): Promise<MetricsServerHandle>;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* V2-A: OTLP/JSON metrics push exporter.
|
|
153
|
+
*
|
|
154
|
+
* Periodically POSTs `MetricsSink.snapshot()` to an OTLP HTTP receiver
|
|
155
|
+
* (the OpenTelemetry Collector, vendor agents like Honeycomb, Datadog,
|
|
156
|
+
* Grafana Cloud, etc.). The wire format is OTLP/JSON v1.0 — covered by
|
|
157
|
+
* the spec at github.com/open-telemetry/opentelemetry-proto.
|
|
158
|
+
*
|
|
159
|
+
* Why no `@opentelemetry/*` dep: the core graph is intentionally
|
|
160
|
+
* dependency-free. The JSON shape is well-defined and stable; bringing
|
|
161
|
+
* in the official SDK would add ~3MB and pin us to its release cadence.
|
|
162
|
+
* Operators who need the OTLP gRPC transport or vendor-specific quirks
|
|
163
|
+
* can wrap an `@opentelemetry/exporter-metrics-otlp-grpc` in a custom
|
|
164
|
+
* `MetricsSink` instead — the seam exists.
|
|
165
|
+
*/
|
|
166
|
+
interface OtlpMetricsExporterOptions {
|
|
167
|
+
/** Source of metric data. The exporter reads `snapshot()` per interval. */
|
|
168
|
+
sink: MetricsSink;
|
|
169
|
+
/**
|
|
170
|
+
* OTLP HTTP endpoint base URL. Path `/v1/metrics` is appended unless
|
|
171
|
+
* the URL already ends with `/v1/metrics` (idempotent).
|
|
172
|
+
* Example: `http://otel-collector:4318` or `https://otlp.example.com`.
|
|
173
|
+
*/
|
|
174
|
+
endpoint: string;
|
|
175
|
+
/** Push interval in milliseconds. Defaults to 30s (Prometheus default). */
|
|
176
|
+
intervalMs?: number;
|
|
177
|
+
/** Optional bearer token / API key (sent as `Authorization`). */
|
|
178
|
+
authorization?: string;
|
|
179
|
+
/** Extra request headers (vendor-specific keys go here). */
|
|
180
|
+
headers?: Record<string, string>;
|
|
181
|
+
/** Resource attributes attached to every export. Defaults: `service.name=wrongstack`. */
|
|
182
|
+
resourceAttributes?: Record<string, string>;
|
|
183
|
+
/** Instrumentation scope. Default: `wrongstack`. */
|
|
184
|
+
scopeName?: string;
|
|
185
|
+
/** Per-request timeout. Defaults to 10s. */
|
|
186
|
+
timeoutMs?: number;
|
|
187
|
+
/** Override fetch (for tests). Defaults to global `fetch`. */
|
|
188
|
+
fetchImpl?: typeof globalThis.fetch;
|
|
189
|
+
/** Called when a push fails. Defaults to silent (telemetry must never crash the host). */
|
|
190
|
+
onError?: (err: unknown) => void;
|
|
191
|
+
}
|
|
192
|
+
interface OtlpMetricsExporterHandle {
|
|
193
|
+
/** Push immediately (in addition to the scheduled interval). */
|
|
194
|
+
flush(): Promise<void>;
|
|
195
|
+
/** Stop the timer, attempt a final flush, then resolve. */
|
|
196
|
+
stop(): Promise<void>;
|
|
197
|
+
}
|
|
198
|
+
interface OtlpAttribute$1 {
|
|
199
|
+
key: string;
|
|
200
|
+
value: {
|
|
201
|
+
stringValue: string;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
interface OtlpDataPoint {
|
|
205
|
+
attributes: OtlpAttribute$1[];
|
|
206
|
+
timeUnixNano: string;
|
|
207
|
+
asDouble?: number;
|
|
208
|
+
asInt?: string;
|
|
209
|
+
count?: string;
|
|
210
|
+
sum?: number;
|
|
211
|
+
quantileValues?: {
|
|
212
|
+
quantile: number;
|
|
213
|
+
value: number;
|
|
214
|
+
}[];
|
|
215
|
+
}
|
|
216
|
+
interface OtlpMetric {
|
|
217
|
+
name: string;
|
|
218
|
+
description?: string;
|
|
219
|
+
unit?: string;
|
|
220
|
+
sum?: {
|
|
221
|
+
dataPoints: OtlpDataPoint[];
|
|
222
|
+
aggregationTemporality: 2;
|
|
223
|
+
isMonotonic: true;
|
|
224
|
+
};
|
|
225
|
+
gauge?: {
|
|
226
|
+
dataPoints: OtlpDataPoint[];
|
|
227
|
+
};
|
|
228
|
+
summary?: {
|
|
229
|
+
dataPoints: OtlpDataPoint[];
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
interface OtlpExportRequest {
|
|
233
|
+
resourceMetrics: {
|
|
234
|
+
resource: {
|
|
235
|
+
attributes: OtlpAttribute$1[];
|
|
236
|
+
};
|
|
237
|
+
scopeMetrics: {
|
|
238
|
+
scope: {
|
|
239
|
+
name: string;
|
|
240
|
+
version?: string;
|
|
241
|
+
};
|
|
242
|
+
metrics: OtlpMetric[];
|
|
243
|
+
}[];
|
|
244
|
+
}[];
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Build the OTLP/JSON export body from a sink snapshot. Exported for tests
|
|
248
|
+
* and for callers that want to ship via their own transport.
|
|
249
|
+
*/
|
|
250
|
+
declare function buildOtlpMetricsRequest(sink: MetricsSink, opts?: {
|
|
251
|
+
resourceAttributes?: Record<string, string>;
|
|
252
|
+
scopeName?: string;
|
|
253
|
+
}): OtlpExportRequest;
|
|
254
|
+
/**
|
|
255
|
+
* Start pushing metrics to an OTLP HTTP receiver. Returns a handle with
|
|
256
|
+
* `flush()` and `stop()`.
|
|
257
|
+
*/
|
|
258
|
+
declare function startOtlpMetricsExporter(opts: OtlpMetricsExporterOptions): OtlpMetricsExporterHandle;
|
|
259
|
+
|
|
260
|
+
type SpanAttrValue = string | number | boolean;
|
|
261
|
+
interface RecordedSpan {
|
|
262
|
+
traceId: string;
|
|
263
|
+
spanId: string;
|
|
264
|
+
name: string;
|
|
265
|
+
startTimeUnixNano: bigint;
|
|
266
|
+
endTimeUnixNano?: bigint;
|
|
267
|
+
attributes: Record<string, SpanAttrValue>;
|
|
268
|
+
status: {
|
|
269
|
+
code: number;
|
|
270
|
+
message?: string;
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
interface OtlpTraceExporterOptions {
|
|
274
|
+
/** OTLP HTTP endpoint base URL. `/v1/traces` is appended unless already present. */
|
|
275
|
+
endpoint: string;
|
|
276
|
+
/** Push interval in milliseconds. Defaults to 5s (traces are bursty). */
|
|
277
|
+
intervalMs?: number;
|
|
278
|
+
/** Hard cap on buffered spans. When exceeded, oldest are dropped. Defaults to 2048. */
|
|
279
|
+
maxBufferedSpans?: number;
|
|
280
|
+
/** Authorization header. */
|
|
281
|
+
authorization?: string;
|
|
282
|
+
/** Extra request headers. */
|
|
283
|
+
headers?: Record<string, string>;
|
|
284
|
+
/** Resource attributes. Defaults to `service.name=wrongstack`. */
|
|
285
|
+
resourceAttributes?: Record<string, string>;
|
|
286
|
+
/** Instrumentation scope name. Default `wrongstack`. */
|
|
287
|
+
scopeName?: string;
|
|
288
|
+
/** Per-request timeout in ms. Default 10s. */
|
|
289
|
+
timeoutMs?: number;
|
|
290
|
+
/** Override fetch (for tests). */
|
|
291
|
+
fetchImpl?: typeof globalThis.fetch;
|
|
292
|
+
/** Called on push failure. Defaults to silent. */
|
|
293
|
+
onError?: (err: unknown) => void;
|
|
294
|
+
}
|
|
295
|
+
interface OtlpTraceExporterHandle {
|
|
296
|
+
/** The Tracer to install on Agent / ToolExecutor. */
|
|
297
|
+
readonly tracer: Tracer;
|
|
298
|
+
/** Push buffered spans immediately. */
|
|
299
|
+
flush(): Promise<void>;
|
|
300
|
+
/** Stop the timer, push remaining spans, resolve. */
|
|
301
|
+
stop(): Promise<void>;
|
|
302
|
+
/** Test helper: snapshot of spans currently in the buffer (not yet pushed). */
|
|
303
|
+
readonly buffered: () => readonly RecordedSpan[];
|
|
304
|
+
}
|
|
305
|
+
interface OtlpAttribute {
|
|
306
|
+
key: string;
|
|
307
|
+
value: {
|
|
308
|
+
stringValue: string;
|
|
309
|
+
} | {
|
|
310
|
+
boolValue: boolean;
|
|
311
|
+
} | {
|
|
312
|
+
doubleValue: number;
|
|
313
|
+
} | {
|
|
314
|
+
intValue: string;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
interface OtlpSpan {
|
|
318
|
+
traceId: string;
|
|
319
|
+
spanId: string;
|
|
320
|
+
name: string;
|
|
321
|
+
kind: 1;
|
|
322
|
+
startTimeUnixNano: string;
|
|
323
|
+
endTimeUnixNano: string;
|
|
324
|
+
attributes: OtlpAttribute[];
|
|
325
|
+
status: {
|
|
326
|
+
code: number;
|
|
327
|
+
message?: string;
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
interface OtlpTracesRequest {
|
|
331
|
+
resourceSpans: {
|
|
332
|
+
resource: {
|
|
333
|
+
attributes: OtlpAttribute[];
|
|
334
|
+
};
|
|
335
|
+
scopeSpans: {
|
|
336
|
+
scope: {
|
|
337
|
+
name: string;
|
|
338
|
+
};
|
|
339
|
+
spans: OtlpSpan[];
|
|
340
|
+
}[];
|
|
341
|
+
}[];
|
|
342
|
+
}
|
|
343
|
+
declare function buildOtlpTracesRequest(spans: readonly RecordedSpan[], opts?: {
|
|
344
|
+
resourceAttributes?: Record<string, string>;
|
|
345
|
+
scopeName?: string;
|
|
346
|
+
}): OtlpTracesRequest;
|
|
347
|
+
/**
|
|
348
|
+
* Start the OTLP trace exporter. Returns a `Tracer` to install on the
|
|
349
|
+
* runtime (`Agent.run` etc.) and `flush()`/`stop()` controls.
|
|
350
|
+
*/
|
|
351
|
+
declare function startOtlpTraceExporter(opts: OtlpTraceExporterOptions): OtlpTraceExporterHandle;
|
|
352
|
+
|
|
353
|
+
export { DefaultHealthRegistry, InMemoryMetricsSink, type MetricsServerHandle, type MetricsServerOptions, type MetricsTlsOptions, NoopMetricsSink, NoopTracer, OTelTracer, type OtlpMetricsExporterHandle, type OtlpMetricsExporterOptions, type OtlpTraceExporterHandle, type OtlpTraceExporterOptions, PROMETHEUS_CONTENT_TYPE, buildOtlpMetricsRequest, buildOtlpTracesRequest, renderPrometheus, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, wireMetricsToEvents };
|