autotel 3.1.1 → 3.3.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/attribute-redacting-processor.cjs +8 -8
- package/dist/attribute-redacting-processor.js +1 -1
- package/dist/attributes.cjs +21 -21
- package/dist/attributes.js +2 -2
- package/dist/auto.cjs +3 -3
- package/dist/auto.js +2 -2
- package/dist/{chunk-MYWQELNY.js → chunk-32AXF4MA.js} +30 -8
- package/dist/chunk-32AXF4MA.js.map +1 -0
- package/dist/{chunk-6X2GG65S.cjs → chunk-3MZJ7Y24.cjs} +5 -5
- package/dist/{chunk-6X2GG65S.cjs.map → chunk-3MZJ7Y24.cjs.map} +1 -1
- package/dist/{chunk-DDXIUZEG.js → chunk-454CH4OV.js} +3 -3
- package/dist/{chunk-DDXIUZEG.js.map → chunk-454CH4OV.js.map} +1 -1
- package/dist/{chunk-MXO6LXV5.cjs → chunk-4RA6HIYF.cjs} +5 -5
- package/dist/{chunk-MXO6LXV5.cjs.map → chunk-4RA6HIYF.cjs.map} +1 -1
- package/dist/{chunk-6TFJF7SS.js → chunk-4TAQQZDU.js} +3 -3
- package/dist/{chunk-6TFJF7SS.js.map → chunk-4TAQQZDU.js.map} +1 -1
- package/dist/{chunk-LIYNUGML.cjs → chunk-DQSVSGK3.cjs} +23 -32
- package/dist/chunk-DQSVSGK3.cjs.map +1 -0
- package/dist/{chunk-PEEUMQ3R.js → chunk-FZROHTZZ.js} +3 -3
- package/dist/{chunk-PEEUMQ3R.js.map → chunk-FZROHTZZ.js.map} +1 -1
- package/dist/{chunk-DQ2SUROF.cjs → chunk-M3LFHHTN.cjs} +4 -4
- package/dist/{chunk-DQ2SUROF.cjs.map → chunk-M3LFHHTN.cjs.map} +1 -1
- package/dist/{chunk-ZPERWNOP.cjs → chunk-MQH5OOZK.cjs} +17 -17
- package/dist/{chunk-ZPERWNOP.cjs.map → chunk-MQH5OOZK.cjs.map} +1 -1
- package/dist/{chunk-NXLRY2CE.cjs → chunk-NEIB3TLD.cjs} +10 -8
- package/dist/chunk-NEIB3TLD.cjs.map +1 -0
- package/dist/{chunk-MHPYLMQS.js → chunk-OACAWYLR.js} +4 -4
- package/dist/{chunk-MHPYLMQS.js.map → chunk-OACAWYLR.js.map} +1 -1
- package/dist/{chunk-52ALHU7T.js → chunk-OPCTN527.js} +3 -3
- package/dist/{chunk-52ALHU7T.js.map → chunk-OPCTN527.js.map} +1 -1
- package/dist/{chunk-YPQMAE6U.cjs → chunk-QICFEFD6.cjs} +7 -7
- package/dist/{chunk-YPQMAE6U.cjs.map → chunk-QICFEFD6.cjs.map} +1 -1
- package/dist/{chunk-45B2GD4P.cjs → chunk-QJYWKAC5.cjs} +32 -10
- package/dist/chunk-QJYWKAC5.cjs.map +1 -0
- package/dist/{chunk-JVWJDHDB.js → chunk-RUPKBKUF.js} +10 -8
- package/dist/chunk-RUPKBKUF.js.map +1 -0
- package/dist/{chunk-FTBBBPT6.js → chunk-TGV2XF57.js} +13 -22
- package/dist/chunk-TGV2XF57.js.map +1 -0
- package/dist/{chunk-T7CPAGOI.js → chunk-U4D5IBSB.js} +4 -4
- package/dist/chunk-U4D5IBSB.js.map +1 -0
- package/dist/{chunk-KPDIEVVV.cjs → chunk-U72TGONP.cjs} +32 -32
- package/dist/chunk-U72TGONP.cjs.map +1 -0
- package/dist/correlation-id.cjs +11 -11
- package/dist/correlation-id.js +3 -3
- package/dist/decorators.cjs +5 -5
- package/dist/decorators.js +4 -4
- package/dist/event-subscriber.d.cts +15 -1
- package/dist/event-subscriber.d.ts +15 -1
- package/dist/event.cjs +7 -7
- package/dist/event.js +4 -4
- package/dist/functional.cjs +12 -12
- package/dist/functional.js +4 -4
- package/dist/http.cjs +4 -4
- package/dist/http.js +3 -3
- package/dist/index.cjs +280 -94
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +209 -4
- package/dist/index.d.ts +209 -4
- package/dist/index.js +191 -14
- package/dist/index.js.map +1 -1
- package/dist/{init-BSyIyDs5.d.ts → init-DyE43paw.d.ts} +7 -2
- package/dist/{init-D9Bxx39e.d.cts → init-gyesUMwz.d.cts} +7 -2
- package/dist/instrumentation.cjs +9 -9
- package/dist/instrumentation.js +2 -2
- package/dist/messaging.cjs +8 -8
- package/dist/messaging.js +5 -5
- package/dist/semantic-helpers.cjs +9 -9
- package/dist/semantic-helpers.js +5 -5
- package/dist/webhook.cjs +6 -6
- package/dist/webhook.js +4 -4
- package/dist/workflow-distributed.cjs +6 -6
- package/dist/workflow-distributed.js +4 -4
- package/dist/workflow.cjs +9 -9
- package/dist/workflow.js +5 -5
- package/dist/yaml-config.d.cts +1 -1
- package/dist/yaml-config.d.ts +1 -1
- package/package.json +1 -1
- package/skills/build-audit-trails/SKILL.md +150 -5
- package/skills/build-audit-trails/references/audit-queries.md +73 -0
- package/skills/build-audit-trails/references/framework-wiring.md +187 -0
- package/skills/review-otel-patterns/SKILL.md +41 -0
- package/src/attribute-redacting-processor.ts +12 -9
- package/src/define-event.test.ts +41 -0
- package/src/define-event.ts +77 -0
- package/src/error-catalog.test.ts +128 -0
- package/src/error-catalog.ts +259 -0
- package/src/event-queue.ts +4 -0
- package/src/event-subscriber.ts +15 -0
- package/src/functional.ts +2 -1
- package/src/gen-ai-cost.test.ts +81 -0
- package/src/gen-ai-cost.ts +145 -0
- package/src/index.ts +35 -0
- package/src/init-auto-redactor.test.ts +53 -0
- package/src/init.ts +46 -7
- package/src/track.ts +3 -0
- package/src/validation.test.ts +7 -3
- package/src/validation.ts +19 -21
- package/dist/chunk-45B2GD4P.cjs.map +0 -1
- package/dist/chunk-FTBBBPT6.js.map +0 -1
- package/dist/chunk-JVWJDHDB.js.map +0 -1
- package/dist/chunk-KPDIEVVV.cjs.map +0 -1
- package/dist/chunk-LIYNUGML.cjs.map +0 -1
- package/dist/chunk-MYWQELNY.js.map +0 -1
- package/dist/chunk-NXLRY2CE.cjs.map +0 -1
- package/dist/chunk-T7CPAGOI.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk7EQ4G4SI_cjs = require('./chunk-7EQ4G4SI.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunk4RA6HIYF_cjs = require('./chunk-4RA6HIYF.cjs');
|
|
5
|
+
var chunkM3LFHHTN_cjs = require('./chunk-M3LFHHTN.cjs');
|
|
6
6
|
var chunk2ZKEORFN_cjs = require('./chunk-2ZKEORFN.cjs');
|
|
7
7
|
var chunkESMHTKLJ_cjs = require('./chunk-ESMHTKLJ.cjs');
|
|
8
8
|
var chunkT4B5LB6E_cjs = require('./chunk-T4B5LB6E.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunk3MZJ7Y24_cjs = require('./chunk-3MZJ7Y24.cjs');
|
|
10
10
|
var chunk4P6ZOARG_cjs = require('./chunk-4P6ZOARG.cjs');
|
|
11
11
|
var chunkINJD3G4K_cjs = require('./chunk-INJD3G4K.cjs');
|
|
12
12
|
var chunkTC5ZPWM4_cjs = require('./chunk-TC5ZPWM4.cjs');
|
|
13
13
|
require('./chunk-YTXEZ4SD.cjs');
|
|
14
14
|
var chunkWJH6IYU2_cjs = require('./chunk-WJH6IYU2.cjs');
|
|
15
|
-
var
|
|
16
|
-
var
|
|
15
|
+
var chunkQICFEFD6_cjs = require('./chunk-QICFEFD6.cjs');
|
|
16
|
+
var chunkU72TGONP_cjs = require('./chunk-U72TGONP.cjs');
|
|
17
17
|
var chunk2GIBANLB_cjs = require('./chunk-2GIBANLB.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkMQH5OOZK_cjs = require('./chunk-MQH5OOZK.cjs');
|
|
19
19
|
require('./chunk-NZ72VDNY.cjs');
|
|
20
20
|
require('./chunk-UY3UYPBZ.cjs');
|
|
21
21
|
var chunkVQTCQKHQ_cjs = require('./chunk-VQTCQKHQ.cjs');
|
|
22
|
-
var
|
|
23
|
-
var
|
|
22
|
+
var chunkDQSVSGK3_cjs = require('./chunk-DQSVSGK3.cjs');
|
|
23
|
+
var chunkQJYWKAC5_cjs = require('./chunk-QJYWKAC5.cjs');
|
|
24
24
|
require('./chunk-FEEVB2GV.cjs');
|
|
25
25
|
require('./chunk-CEAQK2QY.cjs');
|
|
26
26
|
var chunkZNMBW67B_cjs = require('./chunk-ZNMBW67B.cjs');
|
|
27
27
|
var chunkIOYFAFHJ_cjs = require('./chunk-IOYFAFHJ.cjs');
|
|
28
|
-
var
|
|
28
|
+
var chunkNEIB3TLD_cjs = require('./chunk-NEIB3TLD.cjs');
|
|
29
29
|
require('./chunk-CU6IDACR.cjs');
|
|
30
30
|
var chunk6S5RUKU3_cjs = require('./chunk-6S5RUKU3.cjs');
|
|
31
31
|
require('./chunk-HR5YFXZW.cjs');
|
|
@@ -34,6 +34,7 @@ require('./chunk-FU6R566Y.cjs');
|
|
|
34
34
|
require('./chunk-ESLWRGAG.cjs');
|
|
35
35
|
var chunkYREV3LGG_cjs = require('./chunk-YREV3LGG.cjs');
|
|
36
36
|
var api = require('@opentelemetry/api');
|
|
37
|
+
var crypto$1 = require('crypto');
|
|
37
38
|
var async_hooks = require('async_hooks');
|
|
38
39
|
var sdkMetrics = require('@opentelemetry/sdk-metrics');
|
|
39
40
|
|
|
@@ -54,16 +55,55 @@ var otelMethods = {
|
|
|
54
55
|
setSpanContext: api.trace.setSpanContext
|
|
55
56
|
};
|
|
56
57
|
var trace2 = Object.assign(
|
|
57
|
-
|
|
58
|
+
chunkU72TGONP_cjs.trace,
|
|
58
59
|
otelMethods
|
|
59
60
|
);
|
|
61
|
+
function defineEvent(name, schema, options = {}) {
|
|
62
|
+
const jsonSchema = options.toJsonSchema?.(schema);
|
|
63
|
+
const schemaMetadata = jsonSchema ? {
|
|
64
|
+
source: "zod",
|
|
65
|
+
jsonSchema,
|
|
66
|
+
hash: hashSchema(jsonSchema)
|
|
67
|
+
} : void 0;
|
|
68
|
+
return {
|
|
69
|
+
name,
|
|
70
|
+
schemaMetadata,
|
|
71
|
+
track(payload) {
|
|
72
|
+
const parsed = schema.safeParse(payload);
|
|
73
|
+
if (!parsed.success) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`Invalid payload for event "${name}". Schema validation failed.`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
chunkDQSVSGK3_cjs.track(
|
|
79
|
+
name,
|
|
80
|
+
parsed.data,
|
|
81
|
+
schemaMetadata ? { schema: schemaMetadata } : void 0
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function hashSchema(schema) {
|
|
87
|
+
return crypto$1.createHash("sha256").update(stableStringify(schema)).digest("hex");
|
|
88
|
+
}
|
|
89
|
+
function stableStringify(value) {
|
|
90
|
+
if (value === null || value === void 0 || typeof value !== "object") {
|
|
91
|
+
return JSON.stringify(value);
|
|
92
|
+
}
|
|
93
|
+
if (Array.isArray(value)) {
|
|
94
|
+
return "[" + value.map((v) => stableStringify(v)).join(",") + "]";
|
|
95
|
+
}
|
|
96
|
+
const obj = value;
|
|
97
|
+
const body = Object.keys(obj).sort().map((k) => JSON.stringify(k) + ":" + stableStringify(obj[k])).join(",");
|
|
98
|
+
return "{" + body + "}";
|
|
99
|
+
}
|
|
60
100
|
|
|
61
101
|
// src/shutdown.ts
|
|
62
102
|
async function flush(options) {
|
|
63
103
|
const timeout = options?.timeout ?? 2e3;
|
|
64
104
|
const forShutdown = options?.forShutdown ?? false;
|
|
65
105
|
const doFlush = async () => {
|
|
66
|
-
const eventsQueue =
|
|
106
|
+
const eventsQueue = chunkDQSVSGK3_cjs.getEventQueue();
|
|
67
107
|
if (eventsQueue) {
|
|
68
108
|
if (forShutdown) {
|
|
69
109
|
await eventsQueue.shutdown();
|
|
@@ -71,7 +111,7 @@ async function flush(options) {
|
|
|
71
111
|
await eventsQueue.flush();
|
|
72
112
|
}
|
|
73
113
|
}
|
|
74
|
-
const sdk =
|
|
114
|
+
const sdk = chunkQJYWKAC5_cjs.getSdk();
|
|
75
115
|
if (sdk) {
|
|
76
116
|
try {
|
|
77
117
|
const sdkAny = sdk;
|
|
@@ -105,7 +145,7 @@ async function flush(options) {
|
|
|
105
145
|
if (timeoutHandle) {
|
|
106
146
|
clearTimeout(timeoutHandle);
|
|
107
147
|
}
|
|
108
|
-
const logger =
|
|
148
|
+
const logger = chunkQJYWKAC5_cjs.getLogger();
|
|
109
149
|
logger.error(
|
|
110
150
|
{
|
|
111
151
|
err: error instanceof Error ? error : new Error(String(error))
|
|
@@ -116,7 +156,7 @@ async function flush(options) {
|
|
|
116
156
|
}
|
|
117
157
|
}
|
|
118
158
|
async function shutdown() {
|
|
119
|
-
const logger =
|
|
159
|
+
const logger = chunkQJYWKAC5_cjs.getLogger();
|
|
120
160
|
let shutdownError = null;
|
|
121
161
|
try {
|
|
122
162
|
await flush({ forShutdown: true });
|
|
@@ -131,7 +171,7 @@ async function shutdown() {
|
|
|
131
171
|
);
|
|
132
172
|
}
|
|
133
173
|
try {
|
|
134
|
-
const sdk =
|
|
174
|
+
const sdk = chunkQJYWKAC5_cjs.getSdk();
|
|
135
175
|
if (sdk) {
|
|
136
176
|
await sdk.shutdown();
|
|
137
177
|
}
|
|
@@ -145,14 +185,14 @@ async function shutdown() {
|
|
|
145
185
|
logger.error({ err }, "[autotel] SDK shutdown failed");
|
|
146
186
|
}
|
|
147
187
|
} finally {
|
|
148
|
-
await
|
|
149
|
-
const eventsQueue =
|
|
188
|
+
await chunkQJYWKAC5_cjs._closeEmbeddedDevtools();
|
|
189
|
+
const eventsQueue = chunkDQSVSGK3_cjs.getEventQueue();
|
|
150
190
|
if (eventsQueue && typeof eventsQueue.cleanup === "function") {
|
|
151
191
|
eventsQueue.cleanup();
|
|
152
192
|
}
|
|
153
|
-
|
|
193
|
+
chunkMQH5OOZK_cjs.resetEvents();
|
|
154
194
|
chunkTC5ZPWM4_cjs.resetMetrics();
|
|
155
|
-
|
|
195
|
+
chunkDQSVSGK3_cjs.resetEventQueue();
|
|
156
196
|
}
|
|
157
197
|
if (shutdownError) {
|
|
158
198
|
throw shutdownError;
|
|
@@ -167,7 +207,7 @@ function registerShutdownHooks() {
|
|
|
167
207
|
if (shuttingDown) return;
|
|
168
208
|
shuttingDown = true;
|
|
169
209
|
if (process.env.NODE_ENV !== "test") {
|
|
170
|
-
|
|
210
|
+
chunkQJYWKAC5_cjs.getLogger().info(
|
|
171
211
|
{},
|
|
172
212
|
`[autotel] Received ${signal}, flushing telemetry...`
|
|
173
213
|
);
|
|
@@ -175,7 +215,7 @@ function registerShutdownHooks() {
|
|
|
175
215
|
try {
|
|
176
216
|
await shutdown();
|
|
177
217
|
} catch (error) {
|
|
178
|
-
|
|
218
|
+
chunkQJYWKAC5_cjs.getLogger().error(
|
|
179
219
|
{
|
|
180
220
|
err: error instanceof Error ? error : void 0
|
|
181
221
|
},
|
|
@@ -225,7 +265,7 @@ function resolveContext(ctx2) {
|
|
|
225
265
|
"[autotel] getRequestLogger() requires an active span or runWithRequestContext(). Wrap your handler with trace() or use runWithRequestContext()."
|
|
226
266
|
);
|
|
227
267
|
}
|
|
228
|
-
return
|
|
268
|
+
return chunkDQSVSGK3_cjs.createTraceContext(span2);
|
|
229
269
|
}
|
|
230
270
|
function getRequestLogger(ctx2, options) {
|
|
231
271
|
const activeContext = resolveContext(ctx2);
|
|
@@ -233,7 +273,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
233
273
|
let emitted = false;
|
|
234
274
|
let lastSnapshot = null;
|
|
235
275
|
const addLogEvent = (level, message, fields) => {
|
|
236
|
-
const attrs2 = fields ?
|
|
276
|
+
const attrs2 = fields ? chunkDQSVSGK3_cjs.flattenToAttributes(fields) : void 0;
|
|
237
277
|
chunk4P6ZOARG_cjs.emitCorrelatedEvent(activeContext, `log.${level}`, {
|
|
238
278
|
message,
|
|
239
279
|
...attrs2 ?? {}
|
|
@@ -252,7 +292,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
252
292
|
sealCheck("log.set()", Object.keys(fields));
|
|
253
293
|
if (emitted) return;
|
|
254
294
|
mergeInto(contextState, fields);
|
|
255
|
-
activeContext.setAttributes(
|
|
295
|
+
activeContext.setAttributes(chunkDQSVSGK3_cjs.flattenToAttributes(fields));
|
|
256
296
|
},
|
|
257
297
|
info(message, fields) {
|
|
258
298
|
const keys = fields ? ["message", ...Object.keys(fields).filter((k) => k !== "requestLogs")] : ["message"];
|
|
@@ -261,7 +301,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
261
301
|
addLogEvent("info", message, fields);
|
|
262
302
|
if (fields) {
|
|
263
303
|
mergeInto(contextState, fields);
|
|
264
|
-
activeContext.setAttributes(
|
|
304
|
+
activeContext.setAttributes(chunkDQSVSGK3_cjs.flattenToAttributes(fields));
|
|
265
305
|
}
|
|
266
306
|
},
|
|
267
307
|
warn(message, fields) {
|
|
@@ -272,7 +312,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
272
312
|
activeContext.setAttribute("autotel.log.level", "warn");
|
|
273
313
|
if (fields) {
|
|
274
314
|
mergeInto(contextState, fields);
|
|
275
|
-
activeContext.setAttributes(
|
|
315
|
+
activeContext.setAttributes(chunkDQSVSGK3_cjs.flattenToAttributes(fields));
|
|
276
316
|
}
|
|
277
317
|
},
|
|
278
318
|
error(error, fields) {
|
|
@@ -280,11 +320,11 @@ function getRequestLogger(ctx2, options) {
|
|
|
280
320
|
sealCheck("log.error()", keys);
|
|
281
321
|
if (emitted) return;
|
|
282
322
|
const err = typeof error === "string" ? new Error(error) : error;
|
|
283
|
-
|
|
323
|
+
chunkDQSVSGK3_cjs.recordStructuredError(activeContext, err);
|
|
284
324
|
addLogEvent("error", err.message, fields);
|
|
285
325
|
if (fields) {
|
|
286
326
|
mergeInto(contextState, fields);
|
|
287
|
-
activeContext.setAttributes(
|
|
327
|
+
activeContext.setAttributes(chunkDQSVSGK3_cjs.flattenToAttributes(fields));
|
|
288
328
|
}
|
|
289
329
|
activeContext.setAttribute("autotel.log.level", "error");
|
|
290
330
|
},
|
|
@@ -300,7 +340,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
300
340
|
...contextState,
|
|
301
341
|
...overrides ?? {}
|
|
302
342
|
};
|
|
303
|
-
const flattened =
|
|
343
|
+
const flattened = chunkDQSVSGK3_cjs.flattenToAttributes(mergedContext);
|
|
304
344
|
activeContext.setAttributes(flattened);
|
|
305
345
|
const snapshot = {
|
|
306
346
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -332,7 +372,7 @@ function getRequestLogger(ctx2, options) {
|
|
|
332
372
|
const lifecycle = forkOptions?.lifecycle;
|
|
333
373
|
void tracer.startActiveSpan(`request.fork:${label}`, (childSpan) => {
|
|
334
374
|
const childContext = {
|
|
335
|
-
...
|
|
375
|
+
...chunkDQSVSGK3_cjs.createTraceContext(childSpan),
|
|
336
376
|
correlationId: crypto.randomUUID()
|
|
337
377
|
};
|
|
338
378
|
requestContextStore.run(childContext, () => {
|
|
@@ -365,6 +405,86 @@ function getRequestLogger(ctx2, options) {
|
|
|
365
405
|
};
|
|
366
406
|
}
|
|
367
407
|
|
|
408
|
+
// src/error-catalog.ts
|
|
409
|
+
var catalogCodeKey = /* @__PURE__ */ Symbol.for("autotel.catalog.code");
|
|
410
|
+
function readCatalogCode(error) {
|
|
411
|
+
if (error === null || typeof error !== "object") return void 0;
|
|
412
|
+
return error[catalogCodeKey];
|
|
413
|
+
}
|
|
414
|
+
function isCatalogError(error) {
|
|
415
|
+
return readCatalogCode(error) !== void 0;
|
|
416
|
+
}
|
|
417
|
+
function getCatalogCode(error) {
|
|
418
|
+
return readCatalogCode(error);
|
|
419
|
+
}
|
|
420
|
+
function defineErrorCatalog(namespace, entries) {
|
|
421
|
+
const catalog = {};
|
|
422
|
+
for (const [key, entry] of Object.entries(entries)) {
|
|
423
|
+
const code = entry.code ?? `${namespace}.${key}`;
|
|
424
|
+
const usesParams = typeof entry.message === "function" || typeof entry.why === "function";
|
|
425
|
+
const builder = ((paramsOrOptions, maybeOptions) => {
|
|
426
|
+
const params = usesParams ? paramsOrOptions : void 0;
|
|
427
|
+
const options = usesParams ? maybeOptions : paramsOrOptions;
|
|
428
|
+
const message = typeof entry.message === "function" ? entry.message(params) : entry.message;
|
|
429
|
+
const why = typeof entry.why === "function" ? entry.why(params) : entry.why;
|
|
430
|
+
const error = chunkDQSVSGK3_cjs.createStructuredError({
|
|
431
|
+
message,
|
|
432
|
+
name: entry.name ?? key,
|
|
433
|
+
code,
|
|
434
|
+
...entry.status === void 0 ? {} : { status: entry.status },
|
|
435
|
+
...why === void 0 ? {} : { why },
|
|
436
|
+
...entry.fix === void 0 ? {} : { fix: entry.fix },
|
|
437
|
+
...entry.link === void 0 ? {} : { link: entry.link },
|
|
438
|
+
...options?.cause === void 0 ? {} : { cause: options.cause },
|
|
439
|
+
...options?.details === void 0 ? {} : { details: options.details },
|
|
440
|
+
...options?.internal === void 0 ? {} : { internal: options.internal }
|
|
441
|
+
});
|
|
442
|
+
Object.defineProperty(error, catalogCodeKey, {
|
|
443
|
+
value: code,
|
|
444
|
+
enumerable: false,
|
|
445
|
+
writable: false,
|
|
446
|
+
configurable: true
|
|
447
|
+
});
|
|
448
|
+
return error;
|
|
449
|
+
});
|
|
450
|
+
Object.defineProperty(builder, "code", {
|
|
451
|
+
value: code,
|
|
452
|
+
enumerable: true
|
|
453
|
+
});
|
|
454
|
+
Object.defineProperty(builder, "match", {
|
|
455
|
+
value: (error) => readCatalogCode(error) === code,
|
|
456
|
+
enumerable: false
|
|
457
|
+
});
|
|
458
|
+
catalog[key] = builder;
|
|
459
|
+
}
|
|
460
|
+
return Object.freeze(catalog);
|
|
461
|
+
}
|
|
462
|
+
function defineAuditCatalog(namespace, entries) {
|
|
463
|
+
const catalog = {};
|
|
464
|
+
for (const [key, entry] of Object.entries(entries)) {
|
|
465
|
+
const action = entry.action ?? `${namespace}.${key}`;
|
|
466
|
+
const severity = entry.severity ?? "info";
|
|
467
|
+
const descriptor = ((params) => {
|
|
468
|
+
const message = typeof entry.message === "function" ? entry.message(params) : entry.message;
|
|
469
|
+
return Object.freeze({
|
|
470
|
+
action,
|
|
471
|
+
severity,
|
|
472
|
+
...message === void 0 ? {} : { message }
|
|
473
|
+
});
|
|
474
|
+
});
|
|
475
|
+
Object.defineProperty(descriptor, "action", {
|
|
476
|
+
value: action,
|
|
477
|
+
enumerable: true
|
|
478
|
+
});
|
|
479
|
+
Object.defineProperty(descriptor, "severity", {
|
|
480
|
+
value: severity,
|
|
481
|
+
enumerable: true
|
|
482
|
+
});
|
|
483
|
+
catalog[key] = descriptor;
|
|
484
|
+
}
|
|
485
|
+
return Object.freeze(catalog);
|
|
486
|
+
}
|
|
487
|
+
|
|
368
488
|
// src/drain-toolkit.ts
|
|
369
489
|
var DEFAULT_TIMEOUT_MS = 5e3;
|
|
370
490
|
var DEFAULT_RETRIES = 2;
|
|
@@ -601,89 +721,146 @@ function buildStreamFirstTokenAttrs(event) {
|
|
|
601
721
|
return attrs2;
|
|
602
722
|
}
|
|
603
723
|
|
|
724
|
+
// src/gen-ai-cost.ts
|
|
725
|
+
var GEN_AI_COST_ATTRIBUTE = "gen_ai.usage.cost.usd";
|
|
726
|
+
var MODEL_PRICING = {
|
|
727
|
+
// OpenAI
|
|
728
|
+
"gpt-4o": { inputPer1M: 2.5, outputPer1M: 10 },
|
|
729
|
+
"gpt-4o-mini": { inputPer1M: 0.15, outputPer1M: 0.6 },
|
|
730
|
+
"gpt-4.1": { inputPer1M: 2, outputPer1M: 8 },
|
|
731
|
+
"gpt-4.1-mini": { inputPer1M: 0.4, outputPer1M: 1.6 },
|
|
732
|
+
"gpt-4.1-nano": { inputPer1M: 0.1, outputPer1M: 0.4 },
|
|
733
|
+
"o3-mini": { inputPer1M: 1.1, outputPer1M: 4.4 },
|
|
734
|
+
// Anthropic Claude
|
|
735
|
+
"claude-opus-4": { inputPer1M: 15, outputPer1M: 75 },
|
|
736
|
+
"claude-sonnet-4": { inputPer1M: 3, outputPer1M: 15 },
|
|
737
|
+
"claude-3-5-sonnet": { inputPer1M: 3, outputPer1M: 15 },
|
|
738
|
+
"claude-3-5-haiku": { inputPer1M: 0.8, outputPer1M: 4 },
|
|
739
|
+
"claude-3-opus": { inputPer1M: 15, outputPer1M: 75 },
|
|
740
|
+
"claude-3-haiku": { inputPer1M: 0.25, outputPer1M: 1.25 },
|
|
741
|
+
// Google Gemini
|
|
742
|
+
"gemini-1.5-pro": { inputPer1M: 1.25, outputPer1M: 5 },
|
|
743
|
+
"gemini-1.5-flash": { inputPer1M: 0.075, outputPer1M: 0.3 },
|
|
744
|
+
"gemini-2.0-flash": { inputPer1M: 0.1, outputPer1M: 0.4 }
|
|
745
|
+
};
|
|
746
|
+
function resolvePricing(table, model) {
|
|
747
|
+
const exact = table[model];
|
|
748
|
+
if (exact) return exact;
|
|
749
|
+
let best;
|
|
750
|
+
let bestLength = 0;
|
|
751
|
+
for (const key of Object.keys(table)) {
|
|
752
|
+
if (model.startsWith(key) && key.length > bestLength) {
|
|
753
|
+
best = table[key];
|
|
754
|
+
bestLength = key.length;
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
return best;
|
|
758
|
+
}
|
|
759
|
+
function round(value) {
|
|
760
|
+
return Math.round(value * 1e6) / 1e6;
|
|
761
|
+
}
|
|
762
|
+
function estimateLLMCost(model, usage, options) {
|
|
763
|
+
const table = options?.pricing ? { ...MODEL_PRICING, ...options.pricing } : MODEL_PRICING;
|
|
764
|
+
const price = resolvePricing(table, model);
|
|
765
|
+
if (!price) return void 0;
|
|
766
|
+
const cachedInput = usage.cachedInputTokens ?? 0;
|
|
767
|
+
const billedInput = Math.max(0, (usage.inputTokens ?? 0) - cachedInput);
|
|
768
|
+
const output = usage.outputTokens ?? 0;
|
|
769
|
+
const cachedRate = price.cachedInputPer1M ?? price.inputPer1M;
|
|
770
|
+
const cost = billedInput / 1e6 * price.inputPer1M + cachedInput / 1e6 * cachedRate + output / 1e6 * price.outputPer1M;
|
|
771
|
+
return round(cost);
|
|
772
|
+
}
|
|
773
|
+
function recordLLMCost(ctx2, model, usage, options) {
|
|
774
|
+
const cost = estimateLLMCost(model, usage, options);
|
|
775
|
+
if (cost !== void 0) {
|
|
776
|
+
ctx2.setAttribute(GEN_AI_COST_ATTRIBUTE, cost);
|
|
777
|
+
}
|
|
778
|
+
return cost;
|
|
779
|
+
}
|
|
780
|
+
|
|
604
781
|
Object.defineProperty(exports, "createDrainPipeline", {
|
|
605
782
|
enumerable: true,
|
|
606
783
|
get: function () { return chunk7EQ4G4SI_cjs.createDrainPipeline; }
|
|
607
784
|
});
|
|
608
785
|
Object.defineProperty(exports, "getCurrentWorkflowContext", {
|
|
609
786
|
enumerable: true,
|
|
610
|
-
get: function () { return
|
|
787
|
+
get: function () { return chunk4RA6HIYF_cjs.getCurrentWorkflowContext; }
|
|
611
788
|
});
|
|
612
789
|
Object.defineProperty(exports, "isInWorkflow", {
|
|
613
790
|
enumerable: true,
|
|
614
|
-
get: function () { return
|
|
791
|
+
get: function () { return chunk4RA6HIYF_cjs.isInWorkflow; }
|
|
615
792
|
});
|
|
616
793
|
Object.defineProperty(exports, "traceStep", {
|
|
617
794
|
enumerable: true,
|
|
618
|
-
get: function () { return
|
|
795
|
+
get: function () { return chunk4RA6HIYF_cjs.traceStep; }
|
|
619
796
|
});
|
|
620
797
|
Object.defineProperty(exports, "traceWorkflow", {
|
|
621
798
|
enumerable: true,
|
|
622
|
-
get: function () { return
|
|
799
|
+
get: function () { return chunk4RA6HIYF_cjs.traceWorkflow; }
|
|
623
800
|
});
|
|
624
801
|
Object.defineProperty(exports, "attrs", {
|
|
625
802
|
enumerable: true,
|
|
626
|
-
get: function () { return
|
|
803
|
+
get: function () { return chunkM3LFHHTN_cjs.attrs; }
|
|
627
804
|
});
|
|
628
805
|
Object.defineProperty(exports, "autoRedactPII", {
|
|
629
806
|
enumerable: true,
|
|
630
|
-
get: function () { return
|
|
807
|
+
get: function () { return chunkM3LFHHTN_cjs.autoRedactPII; }
|
|
631
808
|
});
|
|
632
809
|
Object.defineProperty(exports, "dbClient", {
|
|
633
810
|
enumerable: true,
|
|
634
|
-
get: function () { return
|
|
811
|
+
get: function () { return chunkM3LFHHTN_cjs.dbClient; }
|
|
635
812
|
});
|
|
636
813
|
Object.defineProperty(exports, "httpClient", {
|
|
637
814
|
enumerable: true,
|
|
638
|
-
get: function () { return
|
|
815
|
+
get: function () { return chunkM3LFHHTN_cjs.httpClient; }
|
|
639
816
|
});
|
|
640
817
|
Object.defineProperty(exports, "httpServer", {
|
|
641
818
|
enumerable: true,
|
|
642
|
-
get: function () { return
|
|
819
|
+
get: function () { return chunkM3LFHHTN_cjs.httpServer; }
|
|
643
820
|
});
|
|
644
821
|
Object.defineProperty(exports, "identify", {
|
|
645
822
|
enumerable: true,
|
|
646
|
-
get: function () { return
|
|
823
|
+
get: function () { return chunkM3LFHHTN_cjs.identify; }
|
|
647
824
|
});
|
|
648
825
|
Object.defineProperty(exports, "mergeAttrs", {
|
|
649
826
|
enumerable: true,
|
|
650
|
-
get: function () { return
|
|
827
|
+
get: function () { return chunkM3LFHHTN_cjs.mergeAttrs; }
|
|
651
828
|
});
|
|
652
829
|
Object.defineProperty(exports, "mergeServiceResource", {
|
|
653
830
|
enumerable: true,
|
|
654
|
-
get: function () { return
|
|
831
|
+
get: function () { return chunkM3LFHHTN_cjs.mergeServiceResource; }
|
|
655
832
|
});
|
|
656
833
|
Object.defineProperty(exports, "request", {
|
|
657
834
|
enumerable: true,
|
|
658
|
-
get: function () { return
|
|
835
|
+
get: function () { return chunkM3LFHHTN_cjs.request; }
|
|
659
836
|
});
|
|
660
837
|
Object.defineProperty(exports, "safeSetAttributes", {
|
|
661
838
|
enumerable: true,
|
|
662
|
-
get: function () { return
|
|
839
|
+
get: function () { return chunkM3LFHHTN_cjs.safeSetAttributes; }
|
|
663
840
|
});
|
|
664
841
|
Object.defineProperty(exports, "setDevice", {
|
|
665
842
|
enumerable: true,
|
|
666
|
-
get: function () { return
|
|
843
|
+
get: function () { return chunkM3LFHHTN_cjs.setDevice; }
|
|
667
844
|
});
|
|
668
845
|
Object.defineProperty(exports, "setError", {
|
|
669
846
|
enumerable: true,
|
|
670
|
-
get: function () { return
|
|
847
|
+
get: function () { return chunkM3LFHHTN_cjs.setError; }
|
|
671
848
|
});
|
|
672
849
|
Object.defineProperty(exports, "setException", {
|
|
673
850
|
enumerable: true,
|
|
674
|
-
get: function () { return
|
|
851
|
+
get: function () { return chunkM3LFHHTN_cjs.setException; }
|
|
675
852
|
});
|
|
676
853
|
Object.defineProperty(exports, "setSession", {
|
|
677
854
|
enumerable: true,
|
|
678
|
-
get: function () { return
|
|
855
|
+
get: function () { return chunkM3LFHHTN_cjs.setSession; }
|
|
679
856
|
});
|
|
680
857
|
Object.defineProperty(exports, "setUser", {
|
|
681
858
|
enumerable: true,
|
|
682
|
-
get: function () { return
|
|
859
|
+
get: function () { return chunkM3LFHHTN_cjs.setUser; }
|
|
683
860
|
});
|
|
684
861
|
Object.defineProperty(exports, "validateAttribute", {
|
|
685
862
|
enumerable: true,
|
|
686
|
-
get: function () { return
|
|
863
|
+
get: function () { return chunkM3LFHHTN_cjs.validateAttribute; }
|
|
687
864
|
});
|
|
688
865
|
Object.defineProperty(exports, "httpRequestHeaderAttribute", {
|
|
689
866
|
enumerable: true,
|
|
@@ -711,11 +888,11 @@ Object.defineProperty(exports, "parseError", {
|
|
|
711
888
|
});
|
|
712
889
|
Object.defineProperty(exports, "traceConsumer", {
|
|
713
890
|
enumerable: true,
|
|
714
|
-
get: function () { return
|
|
891
|
+
get: function () { return chunk3MZJ7Y24_cjs.traceConsumer; }
|
|
715
892
|
});
|
|
716
893
|
Object.defineProperty(exports, "traceProducer", {
|
|
717
894
|
enumerable: true,
|
|
718
|
-
get: function () { return
|
|
895
|
+
get: function () { return chunk3MZJ7Y24_cjs.traceProducer; }
|
|
719
896
|
});
|
|
720
897
|
Object.defineProperty(exports, "BusinessBaggage", {
|
|
721
898
|
enumerable: true,
|
|
@@ -759,47 +936,47 @@ Object.defineProperty(exports, "getMeter", {
|
|
|
759
936
|
});
|
|
760
937
|
Object.defineProperty(exports, "traceDB", {
|
|
761
938
|
enumerable: true,
|
|
762
|
-
get: function () { return
|
|
939
|
+
get: function () { return chunkQICFEFD6_cjs.traceDB; }
|
|
763
940
|
});
|
|
764
941
|
Object.defineProperty(exports, "traceHTTP", {
|
|
765
942
|
enumerable: true,
|
|
766
|
-
get: function () { return
|
|
943
|
+
get: function () { return chunkQICFEFD6_cjs.traceHTTP; }
|
|
767
944
|
});
|
|
768
945
|
Object.defineProperty(exports, "traceLLM", {
|
|
769
946
|
enumerable: true,
|
|
770
|
-
get: function () { return
|
|
947
|
+
get: function () { return chunkQICFEFD6_cjs.traceLLM; }
|
|
771
948
|
});
|
|
772
949
|
Object.defineProperty(exports, "traceMessaging", {
|
|
773
950
|
enumerable: true,
|
|
774
|
-
get: function () { return
|
|
951
|
+
get: function () { return chunkQICFEFD6_cjs.traceMessaging; }
|
|
775
952
|
});
|
|
776
953
|
Object.defineProperty(exports, "ctx", {
|
|
777
954
|
enumerable: true,
|
|
778
|
-
get: function () { return
|
|
955
|
+
get: function () { return chunkU72TGONP_cjs.ctx; }
|
|
779
956
|
});
|
|
780
957
|
Object.defineProperty(exports, "instrument", {
|
|
781
958
|
enumerable: true,
|
|
782
|
-
get: function () { return
|
|
959
|
+
get: function () { return chunkU72TGONP_cjs.instrument; }
|
|
783
960
|
});
|
|
784
961
|
Object.defineProperty(exports, "markAsImmediate", {
|
|
785
962
|
enumerable: true,
|
|
786
|
-
get: function () { return
|
|
963
|
+
get: function () { return chunkU72TGONP_cjs.markAsImmediate; }
|
|
787
964
|
});
|
|
788
965
|
Object.defineProperty(exports, "span", {
|
|
789
966
|
enumerable: true,
|
|
790
|
-
get: function () { return
|
|
967
|
+
get: function () { return chunkU72TGONP_cjs.span; }
|
|
791
968
|
});
|
|
792
969
|
Object.defineProperty(exports, "withBaggage", {
|
|
793
970
|
enumerable: true,
|
|
794
|
-
get: function () { return
|
|
971
|
+
get: function () { return chunkU72TGONP_cjs.withBaggage; }
|
|
795
972
|
});
|
|
796
973
|
Object.defineProperty(exports, "withNewContext", {
|
|
797
974
|
enumerable: true,
|
|
798
|
-
get: function () { return
|
|
975
|
+
get: function () { return chunkU72TGONP_cjs.withNewContext; }
|
|
799
976
|
});
|
|
800
977
|
Object.defineProperty(exports, "withTracing", {
|
|
801
978
|
enumerable: true,
|
|
802
|
-
get: function () { return
|
|
979
|
+
get: function () { return chunkU72TGONP_cjs.withTracing; }
|
|
803
980
|
});
|
|
804
981
|
Object.defineProperty(exports, "createDeterministicTraceId", {
|
|
805
982
|
enumerable: true,
|
|
@@ -847,15 +1024,15 @@ Object.defineProperty(exports, "runWithSpan", {
|
|
|
847
1024
|
});
|
|
848
1025
|
Object.defineProperty(exports, "Event", {
|
|
849
1026
|
enumerable: true,
|
|
850
|
-
get: function () { return
|
|
1027
|
+
get: function () { return chunkMQH5OOZK_cjs.Event; }
|
|
851
1028
|
});
|
|
852
1029
|
Object.defineProperty(exports, "getEvents", {
|
|
853
1030
|
enumerable: true,
|
|
854
|
-
get: function () { return
|
|
1031
|
+
get: function () { return chunkMQH5OOZK_cjs.getEvents; }
|
|
855
1032
|
});
|
|
856
1033
|
Object.defineProperty(exports, "resetEvents", {
|
|
857
1034
|
enumerable: true,
|
|
858
|
-
get: function () { return
|
|
1035
|
+
get: function () { return chunkMQH5OOZK_cjs.resetEvents; }
|
|
859
1036
|
});
|
|
860
1037
|
Object.defineProperty(exports, "getOperationContext", {
|
|
861
1038
|
enumerable: true,
|
|
@@ -867,87 +1044,87 @@ Object.defineProperty(exports, "runInOperationContext", {
|
|
|
867
1044
|
});
|
|
868
1045
|
Object.defineProperty(exports, "CORRELATION_ID_BAGGAGE_KEY", {
|
|
869
1046
|
enumerable: true,
|
|
870
|
-
get: function () { return
|
|
1047
|
+
get: function () { return chunkDQSVSGK3_cjs.CORRELATION_ID_BAGGAGE_KEY; }
|
|
871
1048
|
});
|
|
872
1049
|
Object.defineProperty(exports, "createStructuredError", {
|
|
873
1050
|
enumerable: true,
|
|
874
|
-
get: function () { return
|
|
1051
|
+
get: function () { return chunkDQSVSGK3_cjs.createStructuredError; }
|
|
875
1052
|
});
|
|
876
1053
|
Object.defineProperty(exports, "defineBaggageSchema", {
|
|
877
1054
|
enumerable: true,
|
|
878
|
-
get: function () { return
|
|
1055
|
+
get: function () { return chunkDQSVSGK3_cjs.defineBaggageSchema; }
|
|
879
1056
|
});
|
|
880
1057
|
Object.defineProperty(exports, "flattenToAttributes", {
|
|
881
1058
|
enumerable: true,
|
|
882
|
-
get: function () { return
|
|
1059
|
+
get: function () { return chunkDQSVSGK3_cjs.flattenToAttributes; }
|
|
883
1060
|
});
|
|
884
1061
|
Object.defineProperty(exports, "generateCorrelationId", {
|
|
885
1062
|
enumerable: true,
|
|
886
|
-
get: function () { return
|
|
1063
|
+
get: function () { return chunkDQSVSGK3_cjs.generateCorrelationId; }
|
|
887
1064
|
});
|
|
888
1065
|
Object.defineProperty(exports, "getCorrelationId", {
|
|
889
1066
|
enumerable: true,
|
|
890
|
-
get: function () { return
|
|
1067
|
+
get: function () { return chunkDQSVSGK3_cjs.getCorrelationId; }
|
|
891
1068
|
});
|
|
892
1069
|
Object.defineProperty(exports, "getEventQueue", {
|
|
893
1070
|
enumerable: true,
|
|
894
|
-
get: function () { return
|
|
1071
|
+
get: function () { return chunkDQSVSGK3_cjs.getEventQueue; }
|
|
895
1072
|
});
|
|
896
1073
|
Object.defineProperty(exports, "getOrCreateCorrelationId", {
|
|
897
1074
|
enumerable: true,
|
|
898
|
-
get: function () { return
|
|
1075
|
+
get: function () { return chunkDQSVSGK3_cjs.getOrCreateCorrelationId; }
|
|
899
1076
|
});
|
|
900
1077
|
Object.defineProperty(exports, "getStructuredErrorAttributes", {
|
|
901
1078
|
enumerable: true,
|
|
902
|
-
get: function () { return
|
|
1079
|
+
get: function () { return chunkDQSVSGK3_cjs.getStructuredErrorAttributes; }
|
|
903
1080
|
});
|
|
904
1081
|
Object.defineProperty(exports, "recordStructuredError", {
|
|
905
1082
|
enumerable: true,
|
|
906
|
-
get: function () { return
|
|
1083
|
+
get: function () { return chunkDQSVSGK3_cjs.recordStructuredError; }
|
|
907
1084
|
});
|
|
908
1085
|
Object.defineProperty(exports, "runWithCorrelationId", {
|
|
909
1086
|
enumerable: true,
|
|
910
|
-
get: function () { return
|
|
1087
|
+
get: function () { return chunkDQSVSGK3_cjs.runWithCorrelationId; }
|
|
911
1088
|
});
|
|
912
1089
|
Object.defineProperty(exports, "setCorrelationId", {
|
|
913
1090
|
enumerable: true,
|
|
914
|
-
get: function () { return
|
|
1091
|
+
get: function () { return chunkDQSVSGK3_cjs.setCorrelationId; }
|
|
915
1092
|
});
|
|
916
1093
|
Object.defineProperty(exports, "setCorrelationIdInBaggage", {
|
|
917
1094
|
enumerable: true,
|
|
918
|
-
get: function () { return
|
|
1095
|
+
get: function () { return chunkDQSVSGK3_cjs.setCorrelationIdInBaggage; }
|
|
919
1096
|
});
|
|
920
1097
|
Object.defineProperty(exports, "structuredErrorToJSON", {
|
|
921
1098
|
enumerable: true,
|
|
922
|
-
get: function () { return
|
|
1099
|
+
get: function () { return chunkDQSVSGK3_cjs.structuredErrorToJSON; }
|
|
923
1100
|
});
|
|
924
1101
|
Object.defineProperty(exports, "toAttributeValue", {
|
|
925
1102
|
enumerable: true,
|
|
926
|
-
get: function () { return
|
|
1103
|
+
get: function () { return chunkDQSVSGK3_cjs.toAttributeValue; }
|
|
927
1104
|
});
|
|
928
1105
|
Object.defineProperty(exports, "track", {
|
|
929
1106
|
enumerable: true,
|
|
930
|
-
get: function () { return
|
|
1107
|
+
get: function () { return chunkDQSVSGK3_cjs.track; }
|
|
931
1108
|
});
|
|
932
1109
|
Object.defineProperty(exports, "BaggageSpanProcessor", {
|
|
933
1110
|
enumerable: true,
|
|
934
|
-
get: function () { return
|
|
1111
|
+
get: function () { return chunkQJYWKAC5_cjs.BaggageSpanProcessor; }
|
|
935
1112
|
});
|
|
936
1113
|
Object.defineProperty(exports, "createStringRedactor", {
|
|
937
1114
|
enumerable: true,
|
|
938
|
-
get: function () { return
|
|
1115
|
+
get: function () { return chunkQJYWKAC5_cjs.createStringRedactor; }
|
|
939
1116
|
});
|
|
940
1117
|
Object.defineProperty(exports, "init", {
|
|
941
1118
|
enumerable: true,
|
|
942
|
-
get: function () { return
|
|
1119
|
+
get: function () { return chunkQJYWKAC5_cjs.init; }
|
|
943
1120
|
});
|
|
944
1121
|
Object.defineProperty(exports, "isLoggerLocked", {
|
|
945
1122
|
enumerable: true,
|
|
946
|
-
get: function () { return
|
|
1123
|
+
get: function () { return chunkQJYWKAC5_cjs.isLoggerLocked; }
|
|
947
1124
|
});
|
|
948
1125
|
Object.defineProperty(exports, "lockLogger", {
|
|
949
1126
|
enumerable: true,
|
|
950
|
-
get: function () { return
|
|
1127
|
+
get: function () { return chunkQJYWKAC5_cjs.lockLogger; }
|
|
951
1128
|
});
|
|
952
1129
|
Object.defineProperty(exports, "FilteringSpanProcessor", {
|
|
953
1130
|
enumerable: true,
|
|
@@ -967,31 +1144,31 @@ Object.defineProperty(exports, "SpanNameNormalizingProcessor", {
|
|
|
967
1144
|
});
|
|
968
1145
|
Object.defineProperty(exports, "AttributeRedactingProcessor", {
|
|
969
1146
|
enumerable: true,
|
|
970
|
-
get: function () { return
|
|
1147
|
+
get: function () { return chunkNEIB3TLD_cjs.AttributeRedactingProcessor; }
|
|
971
1148
|
});
|
|
972
1149
|
Object.defineProperty(exports, "REDACTOR_PATTERNS", {
|
|
973
1150
|
enumerable: true,
|
|
974
|
-
get: function () { return
|
|
1151
|
+
get: function () { return chunkNEIB3TLD_cjs.REDACTOR_PATTERNS; }
|
|
975
1152
|
});
|
|
976
1153
|
Object.defineProperty(exports, "REDACTOR_PRESETS", {
|
|
977
1154
|
enumerable: true,
|
|
978
|
-
get: function () { return
|
|
1155
|
+
get: function () { return chunkNEIB3TLD_cjs.REDACTOR_PRESETS; }
|
|
979
1156
|
});
|
|
980
1157
|
Object.defineProperty(exports, "builtinPatterns", {
|
|
981
1158
|
enumerable: true,
|
|
982
|
-
get: function () { return
|
|
1159
|
+
get: function () { return chunkNEIB3TLD_cjs.builtinPatterns; }
|
|
983
1160
|
});
|
|
984
1161
|
Object.defineProperty(exports, "createAttributeRedactor", {
|
|
985
1162
|
enumerable: true,
|
|
986
|
-
get: function () { return
|
|
1163
|
+
get: function () { return chunkNEIB3TLD_cjs.createAttributeRedactor; }
|
|
987
1164
|
});
|
|
988
1165
|
Object.defineProperty(exports, "createRedactedSpan", {
|
|
989
1166
|
enumerable: true,
|
|
990
|
-
get: function () { return
|
|
1167
|
+
get: function () { return chunkNEIB3TLD_cjs.createRedactedSpan; }
|
|
991
1168
|
});
|
|
992
1169
|
Object.defineProperty(exports, "normalizeAttributeRedactorConfig", {
|
|
993
1170
|
enumerable: true,
|
|
994
|
-
get: function () { return
|
|
1171
|
+
get: function () { return chunkNEIB3TLD_cjs.normalizeAttributeRedactorConfig; }
|
|
995
1172
|
});
|
|
996
1173
|
Object.defineProperty(exports, "formatDuration", {
|
|
997
1174
|
enumerable: true,
|
|
@@ -1077,16 +1254,25 @@ Object.defineProperty(exports, "propagation", {
|
|
|
1077
1254
|
enumerable: true,
|
|
1078
1255
|
get: function () { return api.propagation; }
|
|
1079
1256
|
});
|
|
1257
|
+
exports.GEN_AI_COST_ATTRIBUTE = GEN_AI_COST_ATTRIBUTE;
|
|
1080
1258
|
exports.GEN_AI_COST_USD_BUCKETS = GEN_AI_COST_USD_BUCKETS;
|
|
1081
1259
|
exports.GEN_AI_DURATION_BUCKETS_SECONDS = GEN_AI_DURATION_BUCKETS_SECONDS;
|
|
1082
1260
|
exports.GEN_AI_TOKEN_USAGE_BUCKETS = GEN_AI_TOKEN_USAGE_BUCKETS;
|
|
1261
|
+
exports.MODEL_PRICING = MODEL_PRICING;
|
|
1262
|
+
exports.defineAuditCatalog = defineAuditCatalog;
|
|
1083
1263
|
exports.defineDrain = defineDrain;
|
|
1084
1264
|
exports.defineEnricher = defineEnricher;
|
|
1265
|
+
exports.defineErrorCatalog = defineErrorCatalog;
|
|
1266
|
+
exports.defineEvent = defineEvent;
|
|
1085
1267
|
exports.defineHttpDrain = defineHttpDrain;
|
|
1268
|
+
exports.estimateLLMCost = estimateLLMCost;
|
|
1086
1269
|
exports.flush = flush;
|
|
1087
1270
|
exports.genAiMetricViews = genAiMetricViews;
|
|
1271
|
+
exports.getCatalogCode = getCatalogCode;
|
|
1088
1272
|
exports.getRequestLogger = getRequestLogger;
|
|
1273
|
+
exports.isCatalogError = isCatalogError;
|
|
1089
1274
|
exports.llmHistogramAdvice = llmHistogramAdvice;
|
|
1275
|
+
exports.recordLLMCost = recordLLMCost;
|
|
1090
1276
|
exports.recordPromptSent = recordPromptSent;
|
|
1091
1277
|
exports.recordResponseReceived = recordResponseReceived;
|
|
1092
1278
|
exports.recordRetry = recordRetry;
|