@typokit/otel 0.1.4

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Redacts sensitive fields from a data object based on glob-style patterns.
3
+ * Patterns like "*.password" match any key named "password" at any depth.
4
+ * Patterns like "authorization" match the exact key at root level.
5
+ */
6
+ export declare function redactFields(data: Record<string, unknown>, patterns: string[]): Record<string, unknown>;
7
+ //# sourceMappingURL=redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
package/dist/redact.js ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Redacts sensitive fields from a data object based on glob-style patterns.
3
+ * Patterns like "*.password" match any key named "password" at any depth.
4
+ * Patterns like "authorization" match the exact key at root level.
5
+ */
6
+ export function redactFields(data, patterns) {
7
+ if (patterns.length === 0)
8
+ return data;
9
+ const fieldNames = new Set();
10
+ for (const pattern of patterns) {
11
+ // "*.fieldName" → match fieldName at any depth
12
+ if (pattern.startsWith("*.")) {
13
+ fieldNames.add(pattern.slice(2));
14
+ }
15
+ else {
16
+ // exact key name match at any depth
17
+ fieldNames.add(pattern);
18
+ }
19
+ }
20
+ return redactObject(data, fieldNames);
21
+ }
22
+ function redactObject(obj, fieldNames) {
23
+ const result = {};
24
+ for (const key of Object.keys(obj)) {
25
+ const value = obj[key];
26
+ if (fieldNames.has(key)) {
27
+ result[key] = "[REDACTED]";
28
+ }
29
+ else if (isPlainObject(value)) {
30
+ result[key] = redactObject(value, fieldNames);
31
+ }
32
+ else if (Array.isArray(value)) {
33
+ result[key] = value.map((item) => isPlainObject(item)
34
+ ? redactObject(item, fieldNames)
35
+ : item);
36
+ }
37
+ else {
38
+ result[key] = value;
39
+ }
40
+ }
41
+ return result;
42
+ }
43
+ function isPlainObject(value) {
44
+ return typeof value === "object" && value !== null && !Array.isArray(value);
45
+ }
46
+ //# sourceMappingURL=redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,IAA6B,EAC7B,QAAkB;IAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,+CAA+C;QAC/C,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CACnB,GAA4B,EAC5B,UAAuB;IAEvB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAgC,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,aAAa,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,YAAY,CAAC,IAA+B,EAAE,UAAU,CAAC;gBAC3D,CAAC,CAAC,IAAI,CACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,94 @@
1
+ import type { SpanData, SpanStatus, SpanExporter, TracingConfig, TelemetryConfig } from "./types.js";
2
+ /** Generate a 32-char hex trace ID */
3
+ export declare function generateTraceId(): string;
4
+ /** Generate a 16-char hex span ID */
5
+ export declare function generateSpanId(): string;
6
+ /** Exports spans to stdout as structured JSON (dev mode) */
7
+ export declare class ConsoleSpanExporter implements SpanExporter {
8
+ export(spans: SpanData[]): void;
9
+ }
10
+ /** No-op exporter that silently discards spans */
11
+ export declare class NoopSpanExporter implements SpanExporter {
12
+ export(_spans: SpanData[]): void;
13
+ }
14
+ /** Exports spans to an OTLP-compatible HTTP endpoint */
15
+ export declare class OtlpSpanExporter implements SpanExporter {
16
+ private readonly endpoint;
17
+ constructor(endpoint?: string);
18
+ export(spans: SpanData[]): void;
19
+ }
20
+ /** A mutable span representing one phase of request processing */
21
+ export declare class Span {
22
+ readonly traceId: string;
23
+ readonly spanId: string;
24
+ readonly parentSpanId?: string;
25
+ readonly name: string;
26
+ readonly kind: "server" | "internal";
27
+ readonly startTime: string;
28
+ readonly attributes: Record<string, string | number | boolean>;
29
+ private _endTime?;
30
+ private _durationMs?;
31
+ private _status;
32
+ constructor(options: {
33
+ traceId: string;
34
+ spanId?: string;
35
+ parentSpanId?: string;
36
+ name: string;
37
+ kind: "server" | "internal";
38
+ attributes?: Record<string, string | number | boolean>;
39
+ });
40
+ /** Set a key-value attribute on the span */
41
+ setAttribute(key: string, value: string | number | boolean): void;
42
+ /** Mark the span as successful and end it */
43
+ setOk(): void;
44
+ /** Mark the span as errored with an optional message */
45
+ setError(message?: string): void;
46
+ /** End the span and record its duration */
47
+ end(): void;
48
+ /** Whether this span has been ended */
49
+ get ended(): boolean;
50
+ get status(): SpanStatus;
51
+ /** Convert to a plain data object for export */
52
+ toData(): SpanData;
53
+ }
54
+ /** Resolves a TelemetryConfig into a normalized TracingConfig */
55
+ export declare function resolveTracingConfig(telemetry?: TelemetryConfig): TracingConfig;
56
+ /** Creates the appropriate SpanExporter from config */
57
+ export declare function createExporter(config: TracingConfig): SpanExporter;
58
+ /**
59
+ * Tracer creates and manages spans for a single request trace.
60
+ * Each request gets its own Tracer instance with a unique traceId.
61
+ */
62
+ export declare class Tracer {
63
+ readonly traceId: string;
64
+ private readonly spans;
65
+ private readonly exporter;
66
+ private readonly serviceName;
67
+ private readonly enabled;
68
+ private rootSpan?;
69
+ constructor(options?: {
70
+ traceId?: string;
71
+ exporter?: SpanExporter;
72
+ serviceName?: string;
73
+ enabled?: boolean;
74
+ });
75
+ /** Start a root span for the incoming request */
76
+ startRootSpan(name: string, attributes?: Record<string, string | number | boolean>): Span;
77
+ /** Start a child span under the root (or specified parent) */
78
+ startSpan(name: string, options?: {
79
+ parentSpanId?: string;
80
+ attributes?: Record<string, string | number | boolean>;
81
+ }): Span;
82
+ /** End all open spans and export them */
83
+ flush(): void;
84
+ /** Get all collected spans as data objects */
85
+ getSpans(): SpanData[];
86
+ /** Get the root span if one was started */
87
+ getRootSpan(): Span | undefined;
88
+ }
89
+ /**
90
+ * Creates a Tracer for an incoming request, configured from TelemetryConfig.
91
+ * This is the main entry point for request-level tracing.
92
+ */
93
+ export declare function createRequestTracer(telemetry?: TelemetryConfig, exporterOverride?: SpanExporter): Tracer;
94
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ // ─── ID Generation ───────────────────────────────────────────
2
+ function randomHex(bytes) {
3
+ const arr = new Uint8Array(bytes);
4
+ const cryptoObj = globalThis.crypto;
5
+ if (cryptoObj?.getRandomValues) {
6
+ cryptoObj.getRandomValues(arr);
7
+ }
8
+ else {
9
+ for (let i = 0; i < bytes; i++) {
10
+ arr[i] = Math.floor(Math.random() * 256);
11
+ }
12
+ }
13
+ return Array.from(arr, (b) => b.toString(16).padStart(2, "0")).join("");
14
+ }
15
+ /** Generate a 32-char hex trace ID */
16
+ export function generateTraceId() {
17
+ return randomHex(16);
18
+ }
19
+ /** Generate a 16-char hex span ID */
20
+ export function generateSpanId() {
21
+ return randomHex(8);
22
+ }
23
+ // ─── Console Span Exporter ───────────────────────────────────
24
+ /** Exports spans to stdout as structured JSON (dev mode) */
25
+ export class ConsoleSpanExporter {
26
+ export(spans) {
27
+ const proc = globalThis.process;
28
+ for (const span of spans) {
29
+ const output = JSON.stringify({ type: "span", ...span });
30
+ if (proc?.stdout?.write) {
31
+ proc.stdout.write(output + "\n");
32
+ }
33
+ }
34
+ }
35
+ }
36
+ /** No-op exporter that silently discards spans */
37
+ export class NoopSpanExporter {
38
+ export(_spans) {
39
+ // intentionally empty
40
+ }
41
+ }
42
+ /** Exports spans to an OTLP-compatible HTTP endpoint */
43
+ export class OtlpSpanExporter {
44
+ endpoint;
45
+ constructor(endpoint) {
46
+ this.endpoint = endpoint ?? "http://localhost:4318/v1/traces";
47
+ }
48
+ export(spans) {
49
+ // Best-effort fire-and-forget POST to OTLP endpoint
50
+ const fetchFn = globalThis.fetch;
51
+ if (fetchFn) {
52
+ const payload = {
53
+ resourceSpans: [
54
+ {
55
+ resource: { attributes: [] },
56
+ scopeSpans: [
57
+ {
58
+ scope: { name: "@typokit/otel" },
59
+ spans: spans.map((s) => ({
60
+ traceId: s.traceId,
61
+ spanId: s.spanId,
62
+ parentSpanId: s.parentSpanId,
63
+ name: s.name,
64
+ kind: s.kind === "server" ? 2 : 1,
65
+ startTimeUnixNano: new Date(s.startTime).getTime() * 1_000_000,
66
+ endTimeUnixNano: s.endTime
67
+ ? new Date(s.endTime).getTime() * 1_000_000
68
+ : undefined,
69
+ status: {
70
+ code: s.status === "ok" ? 1 : s.status === "error" ? 2 : 0,
71
+ },
72
+ attributes: Object.entries(s.attributes).map(([key, value]) => ({
73
+ key,
74
+ value: typeof value === "string"
75
+ ? { stringValue: value }
76
+ : typeof value === "number"
77
+ ? { intValue: value }
78
+ : { boolValue: value },
79
+ })),
80
+ })),
81
+ },
82
+ ],
83
+ },
84
+ ],
85
+ };
86
+ fetchFn(this.endpoint, {
87
+ method: "POST",
88
+ headers: { "Content-Type": "application/json" },
89
+ body: JSON.stringify(payload),
90
+ }).catch(() => {
91
+ // Silently ignore export failures
92
+ });
93
+ }
94
+ }
95
+ }
96
+ // ─── Span ────────────────────────────────────────────────────
97
+ /** A mutable span representing one phase of request processing */
98
+ export class Span {
99
+ traceId;
100
+ spanId;
101
+ parentSpanId;
102
+ name;
103
+ kind;
104
+ startTime;
105
+ attributes;
106
+ _endTime;
107
+ _durationMs;
108
+ _status = "unset";
109
+ constructor(options) {
110
+ this.traceId = options.traceId;
111
+ this.spanId = options.spanId ?? generateSpanId();
112
+ this.parentSpanId = options.parentSpanId;
113
+ this.name = options.name;
114
+ this.kind = options.kind;
115
+ this.startTime = new Date().toISOString();
116
+ this.attributes = { ...options.attributes };
117
+ }
118
+ /** Set a key-value attribute on the span */
119
+ setAttribute(key, value) {
120
+ this.attributes[key] = value;
121
+ }
122
+ /** Mark the span as successful and end it */
123
+ setOk() {
124
+ this._status = "ok";
125
+ }
126
+ /** Mark the span as errored with an optional message */
127
+ setError(message) {
128
+ this._status = "error";
129
+ if (message) {
130
+ this.attributes["error.message"] = message;
131
+ }
132
+ }
133
+ /** End the span and record its duration */
134
+ end() {
135
+ this._endTime = new Date().toISOString();
136
+ this._durationMs =
137
+ new Date(this._endTime).getTime() - new Date(this.startTime).getTime();
138
+ }
139
+ /** Whether this span has been ended */
140
+ get ended() {
141
+ return this._endTime !== undefined;
142
+ }
143
+ get status() {
144
+ return this._status;
145
+ }
146
+ /** Convert to a plain data object for export */
147
+ toData() {
148
+ return {
149
+ traceId: this.traceId,
150
+ spanId: this.spanId,
151
+ ...(this.parentSpanId !== undefined
152
+ ? { parentSpanId: this.parentSpanId }
153
+ : {}),
154
+ name: this.name,
155
+ kind: this.kind,
156
+ startTime: this.startTime,
157
+ ...(this._endTime !== undefined ? { endTime: this._endTime } : {}),
158
+ ...(this._durationMs !== undefined
159
+ ? { durationMs: this._durationMs }
160
+ : {}),
161
+ status: this._status,
162
+ attributes: { ...this.attributes },
163
+ };
164
+ }
165
+ }
166
+ // ─── Tracer ──────────────────────────────────────────────────
167
+ /** Resolves a TelemetryConfig into a normalized TracingConfig */
168
+ export function resolveTracingConfig(telemetry) {
169
+ if (!telemetry) {
170
+ return { enabled: true, exporter: "console" };
171
+ }
172
+ if (typeof telemetry.tracing === "boolean") {
173
+ return {
174
+ enabled: telemetry.tracing,
175
+ exporter: telemetry.exporter ?? "console",
176
+ endpoint: telemetry.endpoint,
177
+ serviceName: telemetry.serviceName,
178
+ };
179
+ }
180
+ if (typeof telemetry.tracing === "object") {
181
+ return {
182
+ enabled: telemetry.tracing.enabled ?? true,
183
+ exporter: telemetry.tracing.exporter ?? telemetry.exporter ?? "console",
184
+ endpoint: telemetry.tracing.endpoint ?? telemetry.endpoint,
185
+ serviceName: telemetry.tracing.serviceName ?? telemetry.serviceName,
186
+ };
187
+ }
188
+ return {
189
+ enabled: true,
190
+ exporter: telemetry.exporter ?? "console",
191
+ endpoint: telemetry.endpoint,
192
+ serviceName: telemetry.serviceName,
193
+ };
194
+ }
195
+ /** Creates the appropriate SpanExporter from config */
196
+ export function createExporter(config) {
197
+ if (!config.enabled) {
198
+ return new NoopSpanExporter();
199
+ }
200
+ if (config.exporter === "otlp") {
201
+ return new OtlpSpanExporter(config.endpoint);
202
+ }
203
+ return new ConsoleSpanExporter();
204
+ }
205
+ /**
206
+ * Tracer creates and manages spans for a single request trace.
207
+ * Each request gets its own Tracer instance with a unique traceId.
208
+ */
209
+ export class Tracer {
210
+ traceId;
211
+ spans = [];
212
+ exporter;
213
+ serviceName;
214
+ enabled;
215
+ rootSpan;
216
+ constructor(options) {
217
+ this.traceId = options?.traceId ?? generateTraceId();
218
+ this.exporter = options?.exporter ?? new NoopSpanExporter();
219
+ this.serviceName = options?.serviceName ?? "typokit";
220
+ this.enabled = options?.enabled ?? true;
221
+ }
222
+ /** Start a root span for the incoming request */
223
+ startRootSpan(name, attributes) {
224
+ const span = new Span({
225
+ traceId: this.traceId,
226
+ name,
227
+ kind: "server",
228
+ attributes: {
229
+ "service.name": this.serviceName,
230
+ ...attributes,
231
+ },
232
+ });
233
+ this.rootSpan = span;
234
+ this.spans.push(span);
235
+ return span;
236
+ }
237
+ /** Start a child span under the root (or specified parent) */
238
+ startSpan(name, options) {
239
+ if (!this.enabled) {
240
+ // Return a no-op span that won't be exported
241
+ return new Span({
242
+ traceId: this.traceId,
243
+ name,
244
+ kind: "internal",
245
+ });
246
+ }
247
+ const parentId = options?.parentSpanId ?? this.rootSpan?.spanId;
248
+ const span = new Span({
249
+ traceId: this.traceId,
250
+ parentSpanId: parentId,
251
+ name,
252
+ kind: "internal",
253
+ attributes: options?.attributes,
254
+ });
255
+ this.spans.push(span);
256
+ return span;
257
+ }
258
+ /** End all open spans and export them */
259
+ flush() {
260
+ // End any spans that haven't been ended
261
+ for (const span of this.spans) {
262
+ if (!span.ended) {
263
+ span.end();
264
+ }
265
+ }
266
+ if (this.enabled && this.spans.length > 0) {
267
+ this.exporter.export(this.spans.map((s) => s.toData()));
268
+ }
269
+ }
270
+ /** Get all collected spans as data objects */
271
+ getSpans() {
272
+ return this.spans.map((s) => s.toData());
273
+ }
274
+ /** Get the root span if one was started */
275
+ getRootSpan() {
276
+ return this.rootSpan;
277
+ }
278
+ }
279
+ /**
280
+ * Creates a Tracer for an incoming request, configured from TelemetryConfig.
281
+ * This is the main entry point for request-level tracing.
282
+ */
283
+ export function createRequestTracer(telemetry, exporterOverride) {
284
+ const config = resolveTracingConfig(telemetry);
285
+ const exporter = exporterOverride ?? createExporter(config);
286
+ return new Tracer({
287
+ exporter,
288
+ serviceName: config.serviceName,
289
+ enabled: config.enabled,
290
+ });
291
+ }
292
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ export declare const LOG_LEVELS: readonly ["trace", "debug", "info", "warn", "error", "fatal"];
2
+ export type LogLevel = (typeof LOG_LEVELS)[number];
3
+ /** Metadata automatically attached to every log entry */
4
+ export interface LogMetadata {
5
+ traceId?: string;
6
+ route?: string;
7
+ phase?: string;
8
+ requestId?: string;
9
+ serverAdapter?: string;
10
+ }
11
+ /** A single structured log entry */
12
+ export interface LogEntry {
13
+ level: LogLevel;
14
+ message: string;
15
+ timestamp: string;
16
+ data?: Record<string, unknown>;
17
+ traceId?: string;
18
+ route?: string;
19
+ phase?: string;
20
+ requestId?: string;
21
+ serverAdapter?: string;
22
+ }
23
+ /** Configuration for the logging system */
24
+ export interface LoggingConfig {
25
+ /** Minimum log level (default: "info" in production, "debug" in development) */
26
+ level?: LogLevel;
27
+ /** Glob-style paths to redact from log output (e.g., "*.password", "authorization") */
28
+ redact?: string[];
29
+ }
30
+ /** A sink that receives structured log entries */
31
+ export interface LogSink {
32
+ write(entry: LogEntry): void;
33
+ }
34
+ /** Status of a span */
35
+ export type SpanStatus = "ok" | "error" | "unset";
36
+ /** A single span representing a phase of request processing */
37
+ export interface SpanData {
38
+ traceId: string;
39
+ spanId: string;
40
+ parentSpanId?: string;
41
+ name: string;
42
+ kind: "server" | "internal";
43
+ startTime: string;
44
+ endTime?: string;
45
+ durationMs?: number;
46
+ status: SpanStatus;
47
+ attributes: Record<string, string | number | boolean>;
48
+ }
49
+ /** Configuration for the tracing system */
50
+ export interface TracingConfig {
51
+ /** Enable tracing (default: true in dev) */
52
+ enabled?: boolean;
53
+ /** Exporter type: 'console' for dev, 'otlp' for collectors */
54
+ exporter?: "console" | "otlp";
55
+ /** OTel Collector endpoint (default: http://localhost:4318) */
56
+ endpoint?: string;
57
+ /** Service name for OTel resource */
58
+ serviceName?: string;
59
+ }
60
+ /** Full telemetry configuration for createApp() */
61
+ export interface TelemetryConfig {
62
+ tracing?: boolean | TracingConfig;
63
+ metrics?: boolean | MetricsConfig;
64
+ exporter?: "console" | "otlp";
65
+ endpoint?: string;
66
+ serviceName?: string;
67
+ }
68
+ /** Interface for exporting completed spans */
69
+ export interface SpanExporter {
70
+ export(spans: SpanData[]): void;
71
+ }
72
+ /** Configuration for the metrics system */
73
+ export interface MetricsConfig {
74
+ /** Enable metrics collection (default: true) */
75
+ enabled?: boolean;
76
+ /** Exporter type: 'console' for dev, 'otlp' for collectors */
77
+ exporter?: "console" | "otlp";
78
+ /** OTel Collector endpoint (default: http://localhost:4318) */
79
+ endpoint?: string;
80
+ /** Service name for OTel resource */
81
+ serviceName?: string;
82
+ }
83
+ /** Labels applied to all request metrics */
84
+ export interface MetricLabels {
85
+ route: string;
86
+ method: string;
87
+ status: number;
88
+ }
89
+ /** A single histogram data point */
90
+ export interface HistogramDataPoint {
91
+ labels: MetricLabels;
92
+ value: number;
93
+ timestamp: string;
94
+ }
95
+ /** A single gauge data point */
96
+ export interface GaugeDataPoint {
97
+ labels: Partial<MetricLabels>;
98
+ value: number;
99
+ timestamp: string;
100
+ }
101
+ /** A single counter data point */
102
+ export interface CounterDataPoint {
103
+ labels: MetricLabels;
104
+ value: number;
105
+ timestamp: string;
106
+ }
107
+ /** Collected metric data for export */
108
+ export interface MetricData {
109
+ name: string;
110
+ type: "histogram" | "gauge" | "counter";
111
+ dataPoints: (HistogramDataPoint | GaugeDataPoint | CounterDataPoint)[];
112
+ }
113
+ /** Interface for exporting collected metrics */
114
+ export interface MetricExporter {
115
+ export(metrics: MetricData[]): void;
116
+ }
117
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ // Log levels ordered by severity
2
+ export const LOG_LEVELS = [
3
+ "trace",
4
+ "debug",
5
+ "info",
6
+ "warn",
7
+ "error",
8
+ "fatal",
9
+ ];
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@typokit/otel",
3
+ "exports": {
4
+ ".": {
5
+ "import": "./dist/index.js",
6
+ "types": "./dist/index.d.ts"
7
+ }
8
+ },
9
+ "version": "0.1.4",
10
+ "type": "module",
11
+ "files": [
12
+ "dist",
13
+ "src"
14
+ ],
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "dependencies": {
18
+ "@typokit/types": "0.1.4"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/KyleBastien/typokit",
23
+ "directory": "packages/otel"
24
+ },
25
+ "scripts": {
26
+ "test": "rstest run --passWithNoTests"
27
+ }
28
+ }