@rivetkit/traces 2.0.4-rc.1
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/LICENSE +203 -0
- package/dist/schemas/v1.ts +653 -0
- package/dist/tsup/chunk-2D7JND4Z.js +63 -0
- package/dist/tsup/chunk-2D7JND4Z.js.map +1 -0
- package/dist/tsup/chunk-7RQXHEKZ.js +541 -0
- package/dist/tsup/chunk-7RQXHEKZ.js.map +1 -0
- package/dist/tsup/chunk-DXS2HLRN.cjs +63 -0
- package/dist/tsup/chunk-DXS2HLRN.cjs.map +1 -0
- package/dist/tsup/chunk-QOSSO6CN.cjs +541 -0
- package/dist/tsup/chunk-QOSSO6CN.cjs.map +1 -0
- package/dist/tsup/chunk-UNGPFJ4C.js +417 -0
- package/dist/tsup/chunk-UNGPFJ4C.js.map +1 -0
- package/dist/tsup/chunk-ZTVH74GC.cjs +417 -0
- package/dist/tsup/chunk-ZTVH74GC.cjs.map +1 -0
- package/dist/tsup/encoding.cjs +20 -0
- package/dist/tsup/encoding.cjs.map +1 -0
- package/dist/tsup/encoding.d.cts +6 -0
- package/dist/tsup/encoding.d.ts +6 -0
- package/dist/tsup/encoding.js +20 -0
- package/dist/tsup/encoding.js.map +1 -0
- package/dist/tsup/index.browser.cjs +15 -0
- package/dist/tsup/index.browser.cjs.map +1 -0
- package/dist/tsup/index.browser.d.cts +7 -0
- package/dist/tsup/index.browser.d.ts +7 -0
- package/dist/tsup/index.browser.js +15 -0
- package/dist/tsup/index.browser.js.map +1 -0
- package/dist/tsup/index.cjs +921 -0
- package/dist/tsup/index.cjs.map +1 -0
- package/dist/tsup/index.d.cts +9 -0
- package/dist/tsup/index.d.ts +9 -0
- package/dist/tsup/index.js +921 -0
- package/dist/tsup/index.js.map +1 -0
- package/dist/tsup/noop-CcgjEgCu.d.cts +99 -0
- package/dist/tsup/noop-D-YAZiGa.d.ts +99 -0
- package/dist/tsup/otlp-Da4Yz0xC.d.cts +81 -0
- package/dist/tsup/otlp-Da4Yz0xC.d.ts +81 -0
- package/dist/tsup/otlp-entry.cjs +16 -0
- package/dist/tsup/otlp-entry.cjs.map +1 -0
- package/dist/tsup/otlp-entry.d.cts +10 -0
- package/dist/tsup/otlp-entry.d.ts +10 -0
- package/dist/tsup/otlp-entry.js +16 -0
- package/dist/tsup/otlp-entry.js.map +1 -0
- package/dist/tsup/v1-DovAIc7f.d.cts +118 -0
- package/dist/tsup/v1-DovAIc7f.d.ts +118 -0
- package/package.json +74 -0
- package/schemas/v1.bare +177 -0
- package/schemas/versioned.ts +99 -0
- package/src/encoding.ts +18 -0
- package/src/index.browser.ts +13 -0
- package/src/index.ts +31 -0
- package/src/noop.ts +81 -0
- package/src/otlp-entry.ts +18 -0
- package/src/otlp.ts +158 -0
- package/src/read-range.ts +502 -0
- package/src/traces.ts +1186 -0
- package/src/types.ts +94 -0
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/otlp.ts
|
|
2
|
+
var _cborx = require('cbor-x');
|
|
3
|
+
function hexFromBytes(bytes) {
|
|
4
|
+
let out = "";
|
|
5
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
6
|
+
out += bytes[i].toString(16).padStart(2, "0");
|
|
7
|
+
}
|
|
8
|
+
return out;
|
|
9
|
+
}
|
|
10
|
+
function base64FromBytes(bytes) {
|
|
11
|
+
const bufferCtor = globalThis.Buffer;
|
|
12
|
+
if (bufferCtor) {
|
|
13
|
+
return bufferCtor.from(bytes).toString("base64");
|
|
14
|
+
}
|
|
15
|
+
let binary = "";
|
|
16
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
17
|
+
binary += String.fromCharCode(bytes[i]);
|
|
18
|
+
}
|
|
19
|
+
const btoaFn = globalThis.btoa;
|
|
20
|
+
if (!btoaFn) {
|
|
21
|
+
throw new Error("No base64 encoder available");
|
|
22
|
+
}
|
|
23
|
+
return btoaFn(binary);
|
|
24
|
+
}
|
|
25
|
+
function anyValueFromCborBytes(bytes) {
|
|
26
|
+
const value = _cborx.decode.call(void 0, bytes);
|
|
27
|
+
return anyValueFromJs(value);
|
|
28
|
+
}
|
|
29
|
+
function anyValueFromJs(value) {
|
|
30
|
+
if (value === null || value === void 0) {
|
|
31
|
+
return { stringValue: "" };
|
|
32
|
+
}
|
|
33
|
+
if (typeof value === "string") {
|
|
34
|
+
return { stringValue: value };
|
|
35
|
+
}
|
|
36
|
+
if (typeof value === "boolean") {
|
|
37
|
+
return { boolValue: value };
|
|
38
|
+
}
|
|
39
|
+
if (typeof value === "number") {
|
|
40
|
+
if (Number.isFinite(value) && Number.isInteger(value)) {
|
|
41
|
+
return { intValue: value.toString() };
|
|
42
|
+
}
|
|
43
|
+
return { doubleValue: value };
|
|
44
|
+
}
|
|
45
|
+
if (typeof value === "bigint") {
|
|
46
|
+
return { intValue: value.toString() };
|
|
47
|
+
}
|
|
48
|
+
if (value instanceof Uint8Array) {
|
|
49
|
+
return { bytesValue: base64FromBytes(value) };
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(value)) {
|
|
52
|
+
return { arrayValue: { values: value.map((v) => anyValueFromJs(v)) } };
|
|
53
|
+
}
|
|
54
|
+
if (value instanceof Map) {
|
|
55
|
+
const values = [];
|
|
56
|
+
for (const [key, mapValue] of value.entries()) {
|
|
57
|
+
if (typeof key !== "string") {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
values.push({ key, value: anyValueFromJs(mapValue) });
|
|
61
|
+
}
|
|
62
|
+
return { kvlistValue: { values } };
|
|
63
|
+
}
|
|
64
|
+
if (typeof value === "object") {
|
|
65
|
+
const values = [];
|
|
66
|
+
for (const [key, objectValue] of Object.entries(value)) {
|
|
67
|
+
values.push({ key, value: anyValueFromJs(objectValue) });
|
|
68
|
+
}
|
|
69
|
+
return { kvlistValue: { values } };
|
|
70
|
+
}
|
|
71
|
+
return { stringValue: String(value) };
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// src/read-range.ts
|
|
75
|
+
|
|
76
|
+
function toUint8Array(buffer) {
|
|
77
|
+
return new Uint8Array(buffer);
|
|
78
|
+
}
|
|
79
|
+
function normalizeBytes(input) {
|
|
80
|
+
return input instanceof Uint8Array ? input : new Uint8Array(input);
|
|
81
|
+
}
|
|
82
|
+
function spanKey(spanId) {
|
|
83
|
+
return hexFromBytes(normalizeBytes(spanId));
|
|
84
|
+
}
|
|
85
|
+
function readRangeWireToOtlp(wire, resource) {
|
|
86
|
+
const startMs = typeof wire.startTimeMs === "bigint" ? wire.startTimeMs : BigInt(Math.floor(wire.startTimeMs));
|
|
87
|
+
const endMs = typeof wire.endTimeMs === "bigint" ? wire.endTimeMs : BigInt(Math.floor(wire.endTimeMs));
|
|
88
|
+
const limit = typeof wire.limit === "bigint" ? Number(wire.limit) : wire.limit;
|
|
89
|
+
if (limit <= 0 || endMs <= startMs) {
|
|
90
|
+
return { otlp: emptyExport(resource), clamped: wire.clamped };
|
|
91
|
+
}
|
|
92
|
+
const startNs = startMs * 1000000n;
|
|
93
|
+
const endNs = endMs * 1000000n;
|
|
94
|
+
const baseRecords = buildBaseRecordMap(wire.baseChunks);
|
|
95
|
+
const sequenceRef = { value: 0 };
|
|
96
|
+
const records = [];
|
|
97
|
+
for (const chunk of wire.chunks) {
|
|
98
|
+
collectRecordEntries(records, chunk, startNs, endNs, sequenceRef);
|
|
99
|
+
}
|
|
100
|
+
records.sort((a, b) => {
|
|
101
|
+
if (a.absNs < b.absNs) return -1;
|
|
102
|
+
if (a.absNs > b.absNs) return 1;
|
|
103
|
+
return a.sequence - b.sequence;
|
|
104
|
+
});
|
|
105
|
+
const { spans, reachedSpanLimit } = buildSpansFromRecords(
|
|
106
|
+
records,
|
|
107
|
+
baseRecords,
|
|
108
|
+
limit
|
|
109
|
+
);
|
|
110
|
+
const exported = spans.map(toOtlpSpan);
|
|
111
|
+
return {
|
|
112
|
+
otlp: buildExport(exported, resource),
|
|
113
|
+
clamped: wire.clamped || reachedSpanLimit
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function collectRecordEntries(collector, chunk, startNs, endNs, sequenceRef) {
|
|
117
|
+
for (const record of chunk.records) {
|
|
118
|
+
const absNs = chunk.baseUnixNs + record.timeOffsetNs;
|
|
119
|
+
if (absNs < startNs || absNs >= endNs) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
collector.push({
|
|
123
|
+
record,
|
|
124
|
+
strings: chunk.strings,
|
|
125
|
+
absNs,
|
|
126
|
+
sequence: sequenceRef.value++
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function buildBaseRecordMap(chunks) {
|
|
131
|
+
const map = /* @__PURE__ */ new Map();
|
|
132
|
+
for (const chunk of chunks) {
|
|
133
|
+
for (const record of chunk.records) {
|
|
134
|
+
const absNs = chunk.baseUnixNs + record.timeOffsetNs;
|
|
135
|
+
map.set(spanKey(recordSpanId(record.body)), {
|
|
136
|
+
record,
|
|
137
|
+
strings: chunk.strings,
|
|
138
|
+
absNs
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return map;
|
|
143
|
+
}
|
|
144
|
+
function buildSpansFromRecords(records, baseRecords, limit) {
|
|
145
|
+
const spans = /* @__PURE__ */ new Map();
|
|
146
|
+
let reachedSpanLimit = false;
|
|
147
|
+
for (const entry of records) {
|
|
148
|
+
const body = entry.record.body;
|
|
149
|
+
const id = recordSpanId(body);
|
|
150
|
+
const key = spanKey(id);
|
|
151
|
+
let span = spans.get(key);
|
|
152
|
+
if (!span) {
|
|
153
|
+
if (spans.size >= limit) {
|
|
154
|
+
reachedSpanLimit = true;
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
const baseRecord = baseRecords.get(key);
|
|
158
|
+
if (baseRecord) {
|
|
159
|
+
span = initSpanFromBaseRecord(
|
|
160
|
+
baseRecord.record.body,
|
|
161
|
+
baseRecord.strings,
|
|
162
|
+
baseRecord.absNs
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
if (!span) {
|
|
166
|
+
span = initSpanFromRecord(
|
|
167
|
+
body,
|
|
168
|
+
entry.absNs,
|
|
169
|
+
entry.strings
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
if (!span) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
spans.set(key, span);
|
|
176
|
+
}
|
|
177
|
+
applyRecord(span, body, entry.absNs, entry.strings);
|
|
178
|
+
}
|
|
179
|
+
return { spans: Array.from(spans.values()), reachedSpanLimit };
|
|
180
|
+
}
|
|
181
|
+
function recordSpanId(body) {
|
|
182
|
+
switch (body.tag) {
|
|
183
|
+
case "SpanStart":
|
|
184
|
+
return body.val.spanId;
|
|
185
|
+
case "SpanEvent":
|
|
186
|
+
return body.val.spanId;
|
|
187
|
+
case "SpanUpdate":
|
|
188
|
+
return body.val.spanId;
|
|
189
|
+
case "SpanEnd":
|
|
190
|
+
return body.val.spanId;
|
|
191
|
+
case "SpanSnapshot":
|
|
192
|
+
return body.val.spanId;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function initSpanFromBaseRecord(base, strings, absNs) {
|
|
196
|
+
switch (base.tag) {
|
|
197
|
+
case "SpanStart":
|
|
198
|
+
return initSpanFromStart(base.val, absNs, strings);
|
|
199
|
+
case "SpanSnapshot":
|
|
200
|
+
return initSpanFromSnapshot(base.val, strings);
|
|
201
|
+
default:
|
|
202
|
+
return void 0;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
function initSpanFromRecord(body, absNs, strings) {
|
|
206
|
+
switch (body.tag) {
|
|
207
|
+
case "SpanStart":
|
|
208
|
+
return initSpanFromStart(body.val, absNs, strings);
|
|
209
|
+
case "SpanSnapshot":
|
|
210
|
+
return initSpanFromSnapshot(body.val, strings);
|
|
211
|
+
default:
|
|
212
|
+
return void 0;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function initSpanFromStart(start, absNs, strings) {
|
|
216
|
+
return {
|
|
217
|
+
traceId: start.traceId,
|
|
218
|
+
spanId: start.spanId,
|
|
219
|
+
parentSpanId: start.parentSpanId,
|
|
220
|
+
name: _nullishCoalesce(strings[start.name], () => ( "")),
|
|
221
|
+
kind: start.kind,
|
|
222
|
+
traceState: start.traceState,
|
|
223
|
+
flags: start.flags,
|
|
224
|
+
attributes: decodeAttributeList(start.attributes, strings),
|
|
225
|
+
droppedAttributesCount: start.droppedAttributesCount,
|
|
226
|
+
links: decodeLinks(start.links, strings),
|
|
227
|
+
droppedLinksCount: start.droppedLinksCount,
|
|
228
|
+
status: null,
|
|
229
|
+
startTimeUnixNs: _nullishCoalesce(absNs, () => ( 0n)),
|
|
230
|
+
endTimeUnixNs: null,
|
|
231
|
+
events: []
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
function initSpanFromSnapshot(snapshot, strings) {
|
|
235
|
+
return {
|
|
236
|
+
traceId: snapshot.traceId,
|
|
237
|
+
spanId: snapshot.spanId,
|
|
238
|
+
parentSpanId: snapshot.parentSpanId,
|
|
239
|
+
name: _nullishCoalesce(strings[snapshot.name], () => ( "")),
|
|
240
|
+
kind: snapshot.kind,
|
|
241
|
+
traceState: snapshot.traceState,
|
|
242
|
+
flags: snapshot.flags,
|
|
243
|
+
attributes: decodeAttributeList(snapshot.attributes, strings),
|
|
244
|
+
droppedAttributesCount: snapshot.droppedAttributesCount,
|
|
245
|
+
links: decodeLinks(snapshot.links, strings),
|
|
246
|
+
droppedLinksCount: snapshot.droppedLinksCount,
|
|
247
|
+
status: snapshot.status,
|
|
248
|
+
startTimeUnixNs: snapshot.startTimeUnixNs,
|
|
249
|
+
endTimeUnixNs: null,
|
|
250
|
+
events: []
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
function applyRecord(span, body, absNs, strings) {
|
|
254
|
+
switch (body.tag) {
|
|
255
|
+
case "SpanStart":
|
|
256
|
+
if (span.startTimeUnixNs === 0n) {
|
|
257
|
+
span.startTimeUnixNs = absNs;
|
|
258
|
+
}
|
|
259
|
+
return;
|
|
260
|
+
case "SpanSnapshot":
|
|
261
|
+
span.traceId = body.val.traceId;
|
|
262
|
+
span.parentSpanId = body.val.parentSpanId;
|
|
263
|
+
span.name = _nullishCoalesce(strings[body.val.name], () => ( ""));
|
|
264
|
+
span.kind = body.val.kind;
|
|
265
|
+
span.traceState = body.val.traceState;
|
|
266
|
+
span.flags = body.val.flags;
|
|
267
|
+
span.attributes = decodeAttributeList(
|
|
268
|
+
body.val.attributes,
|
|
269
|
+
strings
|
|
270
|
+
);
|
|
271
|
+
span.droppedAttributesCount = body.val.droppedAttributesCount;
|
|
272
|
+
span.links = decodeLinks(body.val.links, strings);
|
|
273
|
+
span.droppedLinksCount = body.val.droppedLinksCount;
|
|
274
|
+
span.status = body.val.status;
|
|
275
|
+
span.startTimeUnixNs = body.val.startTimeUnixNs;
|
|
276
|
+
return;
|
|
277
|
+
case "SpanUpdate":
|
|
278
|
+
applyAttributes(span.attributes, body.val.attributes, strings);
|
|
279
|
+
span.droppedAttributesCount += body.val.droppedAttributesCount;
|
|
280
|
+
if (body.val.status) {
|
|
281
|
+
span.status = body.val.status;
|
|
282
|
+
}
|
|
283
|
+
return;
|
|
284
|
+
case "SpanEvent":
|
|
285
|
+
span.events.push({
|
|
286
|
+
name: _nullishCoalesce(strings[body.val.name], () => ( "")),
|
|
287
|
+
timeUnixNs: absNs,
|
|
288
|
+
attributes: decodeAttributeList(
|
|
289
|
+
body.val.attributes,
|
|
290
|
+
strings
|
|
291
|
+
),
|
|
292
|
+
droppedAttributesCount: body.val.droppedAttributesCount
|
|
293
|
+
});
|
|
294
|
+
return;
|
|
295
|
+
case "SpanEnd":
|
|
296
|
+
span.endTimeUnixNs = absNs;
|
|
297
|
+
if (body.val.status) {
|
|
298
|
+
span.status = body.val.status;
|
|
299
|
+
}
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
function decodeAttributeList(attributes, strings) {
|
|
304
|
+
const map = /* @__PURE__ */ new Map();
|
|
305
|
+
for (const kv of attributes) {
|
|
306
|
+
const key = _nullishCoalesce(strings[kv.key], () => ( ""));
|
|
307
|
+
try {
|
|
308
|
+
map.set(key, _cborx.decode.call(void 0, toUint8Array(kv.value)));
|
|
309
|
+
} catch (e) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return map;
|
|
314
|
+
}
|
|
315
|
+
function applyAttributes(map, attributes, strings) {
|
|
316
|
+
for (const kv of attributes) {
|
|
317
|
+
const key = _nullishCoalesce(strings[kv.key], () => ( ""));
|
|
318
|
+
try {
|
|
319
|
+
map.set(key, _cborx.decode.call(void 0, toUint8Array(kv.value)));
|
|
320
|
+
} catch (e2) {
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
function decodeLinks(links, strings) {
|
|
326
|
+
return links.map((link) => ({
|
|
327
|
+
traceId: link.traceId,
|
|
328
|
+
spanId: link.spanId,
|
|
329
|
+
traceState: link.traceState,
|
|
330
|
+
attributes: decodeAttributeList(link.attributes, strings),
|
|
331
|
+
droppedAttributesCount: link.droppedAttributesCount
|
|
332
|
+
}));
|
|
333
|
+
}
|
|
334
|
+
function toOtlpSpan(span) {
|
|
335
|
+
const attributes = mapToOtlpAttributes(span.attributes);
|
|
336
|
+
const events = span.events.map((event) => toOtlpEvent(event));
|
|
337
|
+
const links = span.links.map((link) => toOtlpLink(link));
|
|
338
|
+
const status = span.status ? toOtlpStatus(span.status) : void 0;
|
|
339
|
+
return {
|
|
340
|
+
traceId: hexFromBytes(normalizeBytes(span.traceId)),
|
|
341
|
+
spanId: hexFromBytes(normalizeBytes(span.spanId)),
|
|
342
|
+
parentSpanId: span.parentSpanId ? hexFromBytes(normalizeBytes(span.parentSpanId)) : void 0,
|
|
343
|
+
name: span.name,
|
|
344
|
+
kind: span.kind,
|
|
345
|
+
traceState: _nullishCoalesce(span.traceState, () => ( void 0)),
|
|
346
|
+
flags: span.flags || void 0,
|
|
347
|
+
startTimeUnixNano: span.startTimeUnixNs.toString(),
|
|
348
|
+
endTimeUnixNano: span.endTimeUnixNs ? span.endTimeUnixNs.toString() : void 0,
|
|
349
|
+
attributes: attributes.length > 0 ? attributes : void 0,
|
|
350
|
+
droppedAttributesCount: span.droppedAttributesCount || void 0,
|
|
351
|
+
events: events.length > 0 ? events : void 0,
|
|
352
|
+
links: links.length > 0 ? links : void 0,
|
|
353
|
+
droppedLinksCount: span.droppedLinksCount || void 0,
|
|
354
|
+
status
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
function toOtlpEvent(event) {
|
|
358
|
+
const attributes = mapToOtlpAttributes(event.attributes);
|
|
359
|
+
return {
|
|
360
|
+
timeUnixNano: event.timeUnixNs.toString(),
|
|
361
|
+
name: event.name,
|
|
362
|
+
attributes: attributes.length > 0 ? attributes : void 0,
|
|
363
|
+
droppedAttributesCount: event.droppedAttributesCount || void 0
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
function toOtlpLink(link) {
|
|
367
|
+
const attributes = mapToOtlpAttributes(link.attributes);
|
|
368
|
+
return {
|
|
369
|
+
traceId: hexFromBytes(normalizeBytes(link.traceId)),
|
|
370
|
+
spanId: hexFromBytes(normalizeBytes(link.spanId)),
|
|
371
|
+
traceState: _nullishCoalesce(link.traceState, () => ( void 0)),
|
|
372
|
+
attributes: attributes.length > 0 ? attributes : void 0,
|
|
373
|
+
droppedAttributesCount: link.droppedAttributesCount || void 0
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
function toOtlpStatus(status) {
|
|
377
|
+
const code = status.code === "OK" /* OK */ ? 1 : status.code === "ERROR" /* ERROR */ ? 2 : 0;
|
|
378
|
+
return {
|
|
379
|
+
code,
|
|
380
|
+
message: _nullishCoalesce(status.message, () => ( void 0))
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
function mapToOtlpAttributes(map) {
|
|
384
|
+
const list = [];
|
|
385
|
+
for (const [key, value] of map.entries()) {
|
|
386
|
+
if (value === void 0 || typeof value === "function") {
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
if (typeof value === "symbol") {
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
list.push({ key, value: anyValueFromJs(value) });
|
|
393
|
+
}
|
|
394
|
+
return list;
|
|
395
|
+
}
|
|
396
|
+
function emptyExport(resourceValue) {
|
|
397
|
+
return buildExport([], resourceValue);
|
|
398
|
+
}
|
|
399
|
+
function buildExport(spans, resourceValue) {
|
|
400
|
+
return {
|
|
401
|
+
resourceSpans: [
|
|
402
|
+
{
|
|
403
|
+
resource: resourceValue,
|
|
404
|
+
scopeSpans: [{ spans }]
|
|
405
|
+
}
|
|
406
|
+
]
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
exports.hexFromBytes = hexFromBytes; exports.base64FromBytes = base64FromBytes; exports.anyValueFromCborBytes = anyValueFromCborBytes; exports.anyValueFromJs = anyValueFromJs; exports.readRangeWireToOtlp = readRangeWireToOtlp;
|
|
417
|
+
//# sourceMappingURL=chunk-ZTVH74GC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/chunk-ZTVH74GC.cjs","../../src/otlp.ts","../../src/read-range.ts"],"names":["decodeCbor"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/chunk-ZTVH74GC.cjs","sourcesContent":[null,"import { decode as decodeCbor } from \"cbor-x\";\n\nexport interface OtlpAnyValue {\n\tstringValue?: string;\n\tboolValue?: boolean;\n\tintValue?: string;\n\tdoubleValue?: number;\n\tbytesValue?: string;\n\tarrayValue?: { values: OtlpAnyValue[] };\n\tkvlistValue?: { values: OtlpKeyValue[] };\n}\n\nexport interface OtlpKeyValue {\n\tkey: string;\n\tvalue?: OtlpAnyValue;\n}\n\nexport interface OtlpSpanStatus {\n\tcode: number;\n\tmessage?: string;\n}\n\nexport interface OtlpSpanEvent {\n\ttimeUnixNano: string;\n\tname: string;\n\tattributes?: OtlpKeyValue[];\n\tdroppedAttributesCount?: number;\n}\n\nexport interface OtlpSpanLink {\n\ttraceId: string;\n\tspanId: string;\n\ttraceState?: string;\n\tattributes?: OtlpKeyValue[];\n\tdroppedAttributesCount?: number;\n}\n\nexport interface OtlpSpan {\n\ttraceId: string;\n\tspanId: string;\n\tparentSpanId?: string;\n\tname: string;\n\tkind?: number;\n\tstartTimeUnixNano: string;\n\tendTimeUnixNano?: string;\n\tattributes?: OtlpKeyValue[];\n\tdroppedAttributesCount?: number;\n\tevents?: OtlpSpanEvent[];\n\tdroppedEventsCount?: number;\n\tlinks?: OtlpSpanLink[];\n\tdroppedLinksCount?: number;\n\tstatus?: OtlpSpanStatus;\n\ttraceState?: string;\n\tflags?: number;\n}\n\nexport interface OtlpInstrumentationScope {\n\tname: string;\n\tversion?: string;\n\tattributes?: OtlpKeyValue[];\n\tdroppedAttributesCount?: number;\n}\n\nexport interface OtlpScopeSpans {\n\tscope?: OtlpInstrumentationScope;\n\tspans: OtlpSpan[];\n\tschemaUrl?: string;\n}\n\nexport interface OtlpResource {\n\tattributes?: OtlpKeyValue[];\n\tdroppedAttributesCount?: number;\n}\n\nexport interface OtlpResourceSpans {\n\tresource?: OtlpResource;\n\tscopeSpans: OtlpScopeSpans[];\n\tschemaUrl?: string;\n}\n\nexport interface OtlpExportTraceServiceRequestJson {\n\tresourceSpans: OtlpResourceSpans[];\n}\n\nexport function hexFromBytes(bytes: Uint8Array): string {\n\tlet out = \"\";\n\tfor (let i = 0; i < bytes.length; i++) {\n\t\tout += bytes[i].toString(16).padStart(2, \"0\");\n\t}\n\treturn out;\n}\n\nexport function base64FromBytes(bytes: Uint8Array): string {\n\tconst bufferCtor = (globalThis as { Buffer?: { from: (data: Uint8Array) => { toString: (encoding: string) => string } } }).Buffer;\n\tif (bufferCtor) {\n\t\treturn bufferCtor.from(bytes).toString(\"base64\");\n\t}\n\tlet binary = \"\";\n\tfor (let i = 0; i < bytes.length; i++) {\n\t\tbinary += String.fromCharCode(bytes[i]);\n\t}\n\tconst btoaFn = (globalThis as { btoa?: (data: string) => string }).btoa;\n\tif (!btoaFn) {\n\t\tthrow new Error(\"No base64 encoder available\");\n\t}\n\treturn btoaFn(binary);\n}\n\nexport function anyValueFromCborBytes(bytes: Uint8Array): OtlpAnyValue {\n\tconst value = decodeCbor(bytes) as unknown;\n\treturn anyValueFromJs(value);\n}\n\nexport function anyValueFromJs(value: unknown): OtlpAnyValue {\n\tif (value === null || value === undefined) {\n\t\treturn { stringValue: \"\" };\n\t}\n\tif (typeof value === \"string\") {\n\t\treturn { stringValue: value };\n\t}\n\tif (typeof value === \"boolean\") {\n\t\treturn { boolValue: value };\n\t}\n\tif (typeof value === \"number\") {\n\t\tif (Number.isFinite(value) && Number.isInteger(value)) {\n\t\t\treturn { intValue: value.toString() };\n\t\t}\n\t\treturn { doubleValue: value };\n\t}\n\tif (typeof value === \"bigint\") {\n\t\treturn { intValue: value.toString() };\n\t}\n\tif (value instanceof Uint8Array) {\n\t\treturn { bytesValue: base64FromBytes(value) };\n\t}\n\tif (Array.isArray(value)) {\n\t\treturn { arrayValue: { values: value.map((v) => anyValueFromJs(v)) } };\n\t}\n\tif (value instanceof Map) {\n\t\tconst values: OtlpKeyValue[] = [];\n\t\tfor (const [key, mapValue] of value.entries()) {\n\t\t\tif (typeof key !== \"string\") {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvalues.push({ key, value: anyValueFromJs(mapValue) });\n\t\t}\n\t\treturn { kvlistValue: { values } };\n\t}\n\tif (typeof value === \"object\") {\n\t\tconst values: OtlpKeyValue[] = [];\n\t\tfor (const [key, objectValue] of Object.entries(value as object)) {\n\t\t\tvalues.push({ key, value: anyValueFromJs(objectValue) });\n\t\t}\n\t\treturn { kvlistValue: { values } };\n\t}\n\n\treturn { stringValue: String(value) };\n}\n","import { decode as decodeCbor } from \"cbor-x\";\nimport {\n\ttype Attributes,\n\ttype Chunk,\n\ttype ReadRangeWire,\n\ttype Record as TraceRecord,\n\ttype RecordBody,\n\ttype SpanId,\n\ttype SpanLink,\n\ttype SpanSnapshot,\n\ttype SpanStart,\n\ttype SpanStatus,\n\tSpanStatusCode,\n\ttype TraceId,\n} from \"../schemas/versioned.js\";\nimport {\n\tanyValueFromJs,\n\thexFromBytes,\n\ttype OtlpExportTraceServiceRequestJson,\n\ttype OtlpKeyValue,\n\ttype OtlpResource,\n\ttype OtlpSpan,\n\ttype OtlpSpanEvent,\n\ttype OtlpSpanLink,\n\ttype OtlpSpanStatus,\n} from \"./otlp.js\";\n\ntype AttributeMap = Map<string, unknown>;\n\ntype LinkState = {\n\ttraceId: TraceId;\n\tspanId: SpanId;\n\ttraceState: string | null;\n\tattributes: AttributeMap;\n\tdroppedAttributesCount: number;\n};\n\ntype SpanEventState = {\n\tname: string;\n\ttimeUnixNs: bigint;\n\tattributes: AttributeMap;\n\tdroppedAttributesCount: number;\n};\n\ntype SpanBuilder = {\n\ttraceId: TraceId;\n\tspanId: SpanId;\n\tparentSpanId: SpanId | null;\n\tname: string;\n\tkind: number;\n\ttraceState: string | null;\n\tflags: number;\n\tattributes: AttributeMap;\n\tdroppedAttributesCount: number;\n\tlinks: LinkState[];\n\tdroppedLinksCount: number;\n\tstatus: SpanStatus | null;\n\tstartTimeUnixNs: bigint;\n\tendTimeUnixNs: bigint | null;\n\tevents: SpanEventState[];\n};\n\ntype RecordEntry = {\n\trecord: TraceRecord;\n\tstrings: readonly string[];\n\tabsNs: bigint;\n\tsequence: number;\n};\n\ntype BaseRecordEntry = {\n\trecord: TraceRecord;\n\tstrings: readonly string[];\n\tabsNs: bigint;\n};\n\nfunction toUint8Array(buffer: ArrayBuffer): Uint8Array {\n\treturn new Uint8Array(buffer);\n}\n\nfunction normalizeBytes(input: Uint8Array | ArrayBuffer): Uint8Array {\n\treturn input instanceof Uint8Array ? input : new Uint8Array(input);\n}\n\nfunction spanKey(spanId: Uint8Array | SpanId): string {\n\treturn hexFromBytes(normalizeBytes(spanId));\n}\n\nexport function readRangeWireToOtlp(\n\twire: ReadRangeWire,\n\tresource?: OtlpResource,\n): { otlp: OtlpExportTraceServiceRequestJson; clamped: boolean } {\n\tconst startMs =\n\t\ttypeof wire.startTimeMs === \"bigint\"\n\t\t\t? wire.startTimeMs\n\t\t\t: BigInt(Math.floor(wire.startTimeMs));\n\tconst endMs =\n\t\ttypeof wire.endTimeMs === \"bigint\"\n\t\t\t? wire.endTimeMs\n\t\t\t: BigInt(Math.floor(wire.endTimeMs));\n\tconst limit =\n\t\ttypeof wire.limit === \"bigint\" ? Number(wire.limit) : wire.limit;\n\n\tif (limit <= 0 || endMs <= startMs) {\n\t\treturn { otlp: emptyExport(resource), clamped: wire.clamped };\n\t}\n\n\tconst startNs = startMs * 1_000_000n;\n\tconst endNs = endMs * 1_000_000n;\n\tconst baseRecords = buildBaseRecordMap(wire.baseChunks);\n\tconst sequenceRef = { value: 0 };\n\tconst records: RecordEntry[] = [];\n\tfor (const chunk of wire.chunks) {\n\t\tcollectRecordEntries(records, chunk, startNs, endNs, sequenceRef);\n\t}\n\n\trecords.sort((a, b) => {\n\t\tif (a.absNs < b.absNs) return -1;\n\t\tif (a.absNs > b.absNs) return 1;\n\t\treturn a.sequence - b.sequence;\n\t});\n\n\tconst { spans, reachedSpanLimit } = buildSpansFromRecords(\n\t\trecords,\n\t\tbaseRecords,\n\t\tlimit,\n\t);\n\tconst exported = spans.map(toOtlpSpan);\n\treturn {\n\t\totlp: buildExport(exported, resource),\n\t\tclamped: wire.clamped || reachedSpanLimit,\n\t};\n}\n\nfunction collectRecordEntries(\n\tcollector: RecordEntry[],\n\tchunk: Chunk,\n\tstartNs: bigint,\n\tendNs: bigint,\n\tsequenceRef: { value: number },\n): void {\n\tfor (const record of chunk.records) {\n\t\tconst absNs = chunk.baseUnixNs + record.timeOffsetNs;\n\t\tif (absNs < startNs || absNs >= endNs) {\n\t\t\tcontinue;\n\t\t}\n\t\tcollector.push({\n\t\t\trecord,\n\t\t\tstrings: chunk.strings,\n\t\t\tabsNs,\n\t\t\tsequence: sequenceRef.value++,\n\t\t});\n\t}\n}\n\nfunction buildBaseRecordMap(\n\tchunks: readonly Chunk[],\n): Map<string, BaseRecordEntry> {\n\tconst map = new Map<string, BaseRecordEntry>();\n\tfor (const chunk of chunks) {\n\t\tfor (const record of chunk.records) {\n\t\t\tconst absNs = chunk.baseUnixNs + record.timeOffsetNs;\n\t\t\tmap.set(spanKey(recordSpanId(record.body)), {\n\t\t\t\trecord,\n\t\t\t\tstrings: chunk.strings,\n\t\t\t\tabsNs,\n\t\t\t});\n\t\t}\n\t}\n\treturn map;\n}\n\nfunction buildSpansFromRecords(\n\trecords: RecordEntry[],\n\tbaseRecords: Map<string, BaseRecordEntry>,\n\tlimit: number,\n): { spans: SpanBuilder[]; reachedSpanLimit: boolean } {\n\tconst spans = new Map<string, SpanBuilder>();\n\tlet reachedSpanLimit = false;\n\n\tfor (const entry of records) {\n\t\tconst body = entry.record.body;\n\t\tconst id = recordSpanId(body);\n\t\tconst key = spanKey(id);\n\t\tlet span = spans.get(key);\n\t\tif (!span) {\n\t\t\tif (spans.size >= limit) {\n\t\t\t\treachedSpanLimit = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst baseRecord = baseRecords.get(key);\n\t\t\tif (baseRecord) {\n\t\t\t\tspan = initSpanFromBaseRecord(\n\t\t\t\t\tbaseRecord.record.body,\n\t\t\t\t\tbaseRecord.strings,\n\t\t\t\t\tbaseRecord.absNs,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!span) {\n\t\t\t\tspan = initSpanFromRecord(\n\t\t\t\t\tbody,\n\t\t\t\t\tentry.absNs,\n\t\t\t\t\tentry.strings,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!span) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tspans.set(key, span);\n\t\t}\n\t\tapplyRecord(span, body, entry.absNs, entry.strings);\n\t}\n\n\treturn { spans: Array.from(spans.values()), reachedSpanLimit };\n}\n\nfunction recordSpanId(body: RecordBody): SpanId {\n\tswitch (body.tag) {\n\t\tcase \"SpanStart\":\n\t\t\treturn body.val.spanId;\n\t\tcase \"SpanEvent\":\n\t\t\treturn body.val.spanId;\n\t\tcase \"SpanUpdate\":\n\t\t\treturn body.val.spanId;\n\t\tcase \"SpanEnd\":\n\t\t\treturn body.val.spanId;\n\t\tcase \"SpanSnapshot\":\n\t\t\treturn body.val.spanId;\n\t}\n}\n\nfunction initSpanFromBaseRecord(\n\tbase: RecordBody,\n\tstrings: readonly string[],\n\tabsNs: bigint,\n): SpanBuilder | undefined {\n\tswitch (base.tag) {\n\t\tcase \"SpanStart\":\n\t\t\treturn initSpanFromStart(base.val, absNs, strings);\n\t\tcase \"SpanSnapshot\":\n\t\t\treturn initSpanFromSnapshot(base.val, strings);\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction initSpanFromRecord(\n\tbody: RecordBody,\n\tabsNs: bigint,\n\tstrings: readonly string[],\n): SpanBuilder | undefined {\n\tswitch (body.tag) {\n\t\tcase \"SpanStart\":\n\t\t\treturn initSpanFromStart(body.val, absNs, strings);\n\t\tcase \"SpanSnapshot\":\n\t\t\treturn initSpanFromSnapshot(body.val, strings);\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction initSpanFromStart(\n\tstart: SpanStart,\n\tabsNs: bigint | null,\n\tstrings: readonly string[],\n): SpanBuilder {\n\treturn {\n\t\ttraceId: start.traceId,\n\t\tspanId: start.spanId,\n\t\tparentSpanId: start.parentSpanId,\n\t\tname: strings[start.name] ?? \"\",\n\t\tkind: start.kind,\n\t\ttraceState: start.traceState,\n\t\tflags: start.flags,\n\t\tattributes: decodeAttributeList(start.attributes, strings),\n\t\tdroppedAttributesCount: start.droppedAttributesCount,\n\t\tlinks: decodeLinks(start.links, strings),\n\t\tdroppedLinksCount: start.droppedLinksCount,\n\t\tstatus: null,\n\t\tstartTimeUnixNs: absNs ?? 0n,\n\t\tendTimeUnixNs: null,\n\t\tevents: [],\n\t};\n}\n\nfunction initSpanFromSnapshot(\n\tsnapshot: SpanSnapshot,\n\tstrings: readonly string[],\n): SpanBuilder {\n\treturn {\n\t\ttraceId: snapshot.traceId,\n\t\tspanId: snapshot.spanId,\n\t\tparentSpanId: snapshot.parentSpanId,\n\t\tname: strings[snapshot.name] ?? \"\",\n\t\tkind: snapshot.kind,\n\t\ttraceState: snapshot.traceState,\n\t\tflags: snapshot.flags,\n\t\tattributes: decodeAttributeList(snapshot.attributes, strings),\n\t\tdroppedAttributesCount: snapshot.droppedAttributesCount,\n\t\tlinks: decodeLinks(snapshot.links, strings),\n\t\tdroppedLinksCount: snapshot.droppedLinksCount,\n\t\tstatus: snapshot.status,\n\t\tstartTimeUnixNs: snapshot.startTimeUnixNs,\n\t\tendTimeUnixNs: null,\n\t\tevents: [],\n\t};\n}\n\nfunction applyRecord(\n\tspan: SpanBuilder,\n\tbody: RecordBody,\n\tabsNs: bigint,\n\tstrings: readonly string[],\n): void {\n\tswitch (body.tag) {\n\t\tcase \"SpanStart\":\n\t\t\tif (span.startTimeUnixNs === 0n) {\n\t\t\t\tspan.startTimeUnixNs = absNs;\n\t\t\t}\n\t\t\treturn;\n\t\tcase \"SpanSnapshot\":\n\t\t\tspan.traceId = body.val.traceId;\n\t\t\tspan.parentSpanId = body.val.parentSpanId;\n\t\t\tspan.name = strings[body.val.name] ?? \"\";\n\t\t\tspan.kind = body.val.kind;\n\t\t\tspan.traceState = body.val.traceState;\n\t\t\tspan.flags = body.val.flags;\n\t\t\tspan.attributes = decodeAttributeList(\n\t\t\t\tbody.val.attributes,\n\t\t\t\tstrings,\n\t\t\t);\n\t\t\tspan.droppedAttributesCount = body.val.droppedAttributesCount;\n\t\t\tspan.links = decodeLinks(body.val.links, strings);\n\t\t\tspan.droppedLinksCount = body.val.droppedLinksCount;\n\t\t\tspan.status = body.val.status;\n\t\t\tspan.startTimeUnixNs = body.val.startTimeUnixNs;\n\t\t\treturn;\n\t\tcase \"SpanUpdate\":\n\t\t\tapplyAttributes(span.attributes, body.val.attributes, strings);\n\t\t\tspan.droppedAttributesCount += body.val.droppedAttributesCount;\n\t\t\tif (body.val.status) {\n\t\t\t\tspan.status = body.val.status;\n\t\t\t}\n\t\t\treturn;\n\t\tcase \"SpanEvent\":\n\t\t\tspan.events.push({\n\t\t\t\tname: strings[body.val.name] ?? \"\",\n\t\t\t\ttimeUnixNs: absNs,\n\t\t\t\tattributes: decodeAttributeList(\n\t\t\t\t\tbody.val.attributes,\n\t\t\t\t\tstrings,\n\t\t\t\t),\n\t\t\t\tdroppedAttributesCount: body.val.droppedAttributesCount,\n\t\t\t});\n\t\t\treturn;\n\t\tcase \"SpanEnd\":\n\t\t\tspan.endTimeUnixNs = absNs;\n\t\t\tif (body.val.status) {\n\t\t\t\tspan.status = body.val.status;\n\t\t\t}\n\t\t\treturn;\n\t}\n}\n\nfunction decodeAttributeList(\n\tattributes: Attributes,\n\tstrings: readonly string[],\n): AttributeMap {\n\tconst map = new Map<string, unknown>();\n\tfor (const kv of attributes) {\n\t\tconst key = strings[kv.key] ?? \"\";\n\t\ttry {\n\t\t\tmap.set(key, decodeCbor(toUint8Array(kv.value)) as unknown);\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn map;\n}\n\nfunction applyAttributes(\n\tmap: AttributeMap,\n\tattributes: Attributes,\n\tstrings: readonly string[],\n): void {\n\tfor (const kv of attributes) {\n\t\tconst key = strings[kv.key] ?? \"\";\n\t\ttry {\n\t\t\tmap.set(key, decodeCbor(toUint8Array(kv.value)) as unknown);\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t}\n}\n\nfunction decodeLinks(\n\tlinks: readonly SpanLink[],\n\tstrings: readonly string[],\n): LinkState[] {\n\treturn links.map((link) => ({\n\t\ttraceId: link.traceId,\n\t\tspanId: link.spanId,\n\t\ttraceState: link.traceState,\n\t\tattributes: decodeAttributeList(link.attributes, strings),\n\t\tdroppedAttributesCount: link.droppedAttributesCount,\n\t}));\n}\n\nfunction toOtlpSpan(span: SpanBuilder): OtlpSpan {\n\tconst attributes = mapToOtlpAttributes(span.attributes);\n\tconst events = span.events.map((event) => toOtlpEvent(event));\n\tconst links = span.links.map((link) => toOtlpLink(link));\n\tconst status = span.status ? toOtlpStatus(span.status) : undefined;\n\treturn {\n\t\ttraceId: hexFromBytes(normalizeBytes(span.traceId)),\n\t\tspanId: hexFromBytes(normalizeBytes(span.spanId)),\n\t\tparentSpanId: span.parentSpanId\n\t\t\t? hexFromBytes(normalizeBytes(span.parentSpanId))\n\t\t\t: undefined,\n\t\tname: span.name,\n\t\tkind: span.kind,\n\t\ttraceState: span.traceState ?? undefined,\n\t\tflags: span.flags || undefined,\n\t\tstartTimeUnixNano: span.startTimeUnixNs.toString(),\n\t\tendTimeUnixNano: span.endTimeUnixNs\n\t\t\t? span.endTimeUnixNs.toString()\n\t\t\t: undefined,\n\t\tattributes: attributes.length > 0 ? attributes : undefined,\n\t\tdroppedAttributesCount: span.droppedAttributesCount || undefined,\n\t\tevents: events.length > 0 ? events : undefined,\n\t\tlinks: links.length > 0 ? links : undefined,\n\t\tdroppedLinksCount: span.droppedLinksCount || undefined,\n\t\tstatus,\n\t};\n}\n\nfunction toOtlpEvent(event: SpanEventState): OtlpSpanEvent {\n\tconst attributes = mapToOtlpAttributes(event.attributes);\n\treturn {\n\t\ttimeUnixNano: event.timeUnixNs.toString(),\n\t\tname: event.name,\n\t\tattributes: attributes.length > 0 ? attributes : undefined,\n\t\tdroppedAttributesCount: event.droppedAttributesCount || undefined,\n\t};\n}\n\nfunction toOtlpLink(link: LinkState): OtlpSpanLink {\n\tconst attributes = mapToOtlpAttributes(link.attributes);\n\treturn {\n\t\ttraceId: hexFromBytes(normalizeBytes(link.traceId)),\n\t\tspanId: hexFromBytes(normalizeBytes(link.spanId)),\n\t\ttraceState: link.traceState ?? undefined,\n\t\tattributes: attributes.length > 0 ? attributes : undefined,\n\t\tdroppedAttributesCount: link.droppedAttributesCount || undefined,\n\t};\n}\n\nfunction toOtlpStatus(status: SpanStatus): OtlpSpanStatus {\n\tconst code =\n\t\tstatus.code === SpanStatusCode.OK\n\t\t\t? 1\n\t\t\t: status.code === SpanStatusCode.ERROR\n\t\t\t\t? 2\n\t\t\t\t: 0;\n\treturn {\n\t\tcode,\n\t\tmessage: status.message ?? undefined,\n\t};\n}\n\nfunction mapToOtlpAttributes(map: AttributeMap): OtlpKeyValue[] {\n\tconst list: OtlpKeyValue[] = [];\n\tfor (const [key, value] of map.entries()) {\n\t\tif (value === undefined || typeof value === \"function\") {\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"symbol\") {\n\t\t\tcontinue;\n\t\t}\n\t\tlist.push({ key, value: anyValueFromJs(value) });\n\t}\n\treturn list;\n}\n\nfunction emptyExport(\n\tresourceValue?: OtlpResource,\n): OtlpExportTraceServiceRequestJson {\n\treturn buildExport([], resourceValue);\n}\n\nfunction buildExport(\n\tspans: OtlpSpan[],\n\tresourceValue?: OtlpResource,\n): OtlpExportTraceServiceRequestJson {\n\treturn {\n\t\tresourceSpans: [\n\t\t\t{\n\t\t\t\tresource: resourceValue,\n\t\t\t\tscopeSpans: [{ spans }],\n\t\t\t},\n\t\t],\n\t};\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkQOSSO6CNcjs = require('./chunk-QOSSO6CN.cjs');
|
|
5
|
+
|
|
6
|
+
// src/encoding.ts
|
|
7
|
+
function encodeReadRangeWire(wire) {
|
|
8
|
+
return _chunkQOSSO6CNcjs.READ_RANGE_VERSIONED.serializeWithEmbeddedVersion(
|
|
9
|
+
wire,
|
|
10
|
+
_chunkQOSSO6CNcjs.CURRENT_VERSION
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
function decodeReadRangeWire(bytes) {
|
|
14
|
+
return _chunkQOSSO6CNcjs.READ_RANGE_VERSIONED.deserializeWithEmbeddedVersion(bytes);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
exports.decodeReadRangeWire = decodeReadRangeWire; exports.encodeReadRangeWire = encodeReadRangeWire;
|
|
20
|
+
//# sourceMappingURL=encoding.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/encoding.cjs","../../src/encoding.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACGO,SAAS,mBAAA,CAAoB,IAAA,EAAiC;AACpE,EAAA,OAAO,sCAAA,CAAqB,4BAAA;AAAA,IAC3B,IAAA;AAAA,IACA;AAAA,EACD,CAAA;AACD;AAEO,SAAS,mBAAA,CAAoB,KAAA,EAAkC;AACrE,EAAA,OAAO,sCAAA,CAAqB,8BAAA,CAA+B,KAAK,CAAA;AACjE;ADFA;AACE;AACA;AACF,qGAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/encoding.cjs","sourcesContent":[null,"import {\n\tCURRENT_VERSION,\n\tREAD_RANGE_VERSIONED,\n\ttype ReadRangeWire,\n} from \"../schemas/versioned.js\";\n\nexport type { ReadRangeWire };\n\nexport function encodeReadRangeWire(wire: ReadRangeWire): Uint8Array {\n\treturn READ_RANGE_VERSIONED.serializeWithEmbeddedVersion(\n\t\twire,\n\t\tCURRENT_VERSION,\n\t);\n}\n\nexport function decodeReadRangeWire(bytes: Uint8Array): ReadRangeWire {\n\treturn READ_RANGE_VERSIONED.deserializeWithEmbeddedVersion(bytes);\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { R as ReadRangeWire } from './v1-DovAIc7f.cjs';
|
|
2
|
+
|
|
3
|
+
declare function encodeReadRangeWire(wire: ReadRangeWire): Uint8Array;
|
|
4
|
+
declare function decodeReadRangeWire(bytes: Uint8Array): ReadRangeWire;
|
|
5
|
+
|
|
6
|
+
export { ReadRangeWire, decodeReadRangeWire, encodeReadRangeWire };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { R as ReadRangeWire } from './v1-DovAIc7f.js';
|
|
2
|
+
|
|
3
|
+
declare function encodeReadRangeWire(wire: ReadRangeWire): Uint8Array;
|
|
4
|
+
declare function decodeReadRangeWire(bytes: Uint8Array): ReadRangeWire;
|
|
5
|
+
|
|
6
|
+
export { ReadRangeWire, decodeReadRangeWire, encodeReadRangeWire };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CURRENT_VERSION,
|
|
3
|
+
READ_RANGE_VERSIONED
|
|
4
|
+
} from "./chunk-7RQXHEKZ.js";
|
|
5
|
+
|
|
6
|
+
// src/encoding.ts
|
|
7
|
+
function encodeReadRangeWire(wire) {
|
|
8
|
+
return READ_RANGE_VERSIONED.serializeWithEmbeddedVersion(
|
|
9
|
+
wire,
|
|
10
|
+
CURRENT_VERSION
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
function decodeReadRangeWire(bytes) {
|
|
14
|
+
return READ_RANGE_VERSIONED.deserializeWithEmbeddedVersion(bytes);
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
decodeReadRangeWire,
|
|
18
|
+
encodeReadRangeWire
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=encoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/encoding.ts"],"sourcesContent":["import {\n\tCURRENT_VERSION,\n\tREAD_RANGE_VERSIONED,\n\ttype ReadRangeWire,\n} from \"../schemas/versioned.js\";\n\nexport type { ReadRangeWire };\n\nexport function encodeReadRangeWire(wire: ReadRangeWire): Uint8Array {\n\treturn READ_RANGE_VERSIONED.serializeWithEmbeddedVersion(\n\t\twire,\n\t\tCURRENT_VERSION,\n\t);\n}\n\nexport function decodeReadRangeWire(bytes: Uint8Array): ReadRangeWire {\n\treturn READ_RANGE_VERSIONED.deserializeWithEmbeddedVersion(bytes);\n}\n"],"mappings":";;;;;;AAQO,SAAS,oBAAoB,MAAiC;AACpE,SAAO,qBAAqB;AAAA,IAC3B;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,oBAAoB,OAAkC;AACrE,SAAO,qBAAqB,+BAA+B,KAAK;AACjE;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkDXS2HLRNcjs = require('./chunk-DXS2HLRN.cjs');
|
|
4
|
+
|
|
5
|
+
// src/index.browser.ts
|
|
6
|
+
function createTraces() {
|
|
7
|
+
throw new Error(
|
|
8
|
+
"createTraces is not available in the browser. This is a server-only API."
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.createNoopTraces = _chunkDXS2HLRNcjs.createNoopTraces; exports.createTraces = createTraces;
|
|
15
|
+
//# sourceMappingURL=index.browser.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/index.browser.cjs","../../src/index.browser.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACIO,SAAS,YAAA,CAAA,EAAsB;AACrC,EAAA,MAAM,IAAI,KAAA;AAAA,IACT;AAAA,EACD,CAAA;AACD;ADFA;AACE;AACA;AACF,mGAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/traces/dist/tsup/index.browser.cjs","sourcesContent":[null,"export { createNoopTraces } from \"./noop.js\";\n\n// Browser stub: createTraces is server-only (uses node:async_hooks, node:crypto,\n// fdb-tuple). This module is selected via the \"browser\" export condition so that\n// bundlers like Vite never pull in the real implementation when resolving\n// @rivetkit/traces in a browser context. The function is never actually called\n// in the browser; it only exists because tsup chunk-splitting may place the\n// import in a shared chunk also reached by client code.\nexport function createTraces(): never {\n\tthrow new Error(\n\t\t\"createTraces is not available in the browser. This is a server-only API.\",\n\t);\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createNoopTraces
|
|
3
|
+
} from "./chunk-2D7JND4Z.js";
|
|
4
|
+
|
|
5
|
+
// src/index.browser.ts
|
|
6
|
+
function createTraces() {
|
|
7
|
+
throw new Error(
|
|
8
|
+
"createTraces is not available in the browser. This is a server-only API."
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
createNoopTraces,
|
|
13
|
+
createTraces
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.browser.ts"],"sourcesContent":["export { createNoopTraces } from \"./noop.js\";\n\n// Browser stub: createTraces is server-only (uses node:async_hooks, node:crypto,\n// fdb-tuple). This module is selected via the \"browser\" export condition so that\n// bundlers like Vite never pull in the real implementation when resolving\n// @rivetkit/traces in a browser context. The function is never actually called\n// in the browser; it only exists because tsup chunk-splitting may place the\n// import in a shared chunk also reached by client code.\nexport function createTraces(): never {\n\tthrow new Error(\n\t\t\"createTraces is not available in the browser. This is a server-only API.\",\n\t);\n}\n"],"mappings":";;;;;AAQO,SAAS,eAAsB;AACrC,QAAM,IAAI;AAAA,IACT;AAAA,EACD;AACD;","names":[]}
|