@morsehq-dev/sdk 0.5.0 → 0.6.0-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/README.md +11 -10
- package/dist/anthropic/index.cjs +11 -11
- package/dist/anthropic/index.d.cts +1 -1
- package/dist/anthropic/index.d.ts +1 -1
- package/dist/anthropic/index.js +4 -4
- package/dist/anthropic-agent-sdk/index.cjs +44 -40
- package/dist/anthropic-agent-sdk/index.cjs.map +1 -1
- package/dist/anthropic-agent-sdk/index.d.cts +1 -1
- package/dist/anthropic-agent-sdk/index.d.ts +1 -1
- package/dist/anthropic-agent-sdk/index.js +10 -6
- package/dist/anthropic-agent-sdk/index.js.map +1 -1
- package/dist/browser/anthropic/index.cjs +11 -11
- package/dist/browser/anthropic/index.js +4 -4
- package/dist/browser/anthropic-agent-sdk/index.cjs +44 -40
- package/dist/browser/anthropic-agent-sdk/index.cjs.map +1 -1
- package/dist/browser/anthropic-agent-sdk/index.js +10 -6
- package/dist/browser/anthropic-agent-sdk/index.js.map +1 -1
- package/dist/browser/{chunk-ELQ4LGAS.cjs → chunk-33WDUUKZ.cjs} +18 -18
- package/dist/browser/{chunk-ELQ4LGAS.cjs.map → chunk-33WDUUKZ.cjs.map} +1 -1
- package/dist/browser/{chunk-TV7TRP5O.cjs → chunk-3I7IGP3P.cjs} +5 -5
- package/dist/browser/chunk-3I7IGP3P.cjs.map +1 -0
- package/dist/browser/{chunk-YYUDZTHI.js → chunk-3OYHDDOJ.js} +27 -5
- package/dist/browser/chunk-3OYHDDOJ.js.map +1 -0
- package/dist/browser/{chunk-6BNMYEMW.cjs → chunk-4IUHXUCJ.cjs} +49 -9
- package/dist/browser/chunk-4IUHXUCJ.cjs.map +1 -0
- package/dist/browser/{chunk-BUCIE3DR.js → chunk-5TYTCLKA.js} +4 -4
- package/dist/browser/{chunk-BUCIE3DR.js.map → chunk-5TYTCLKA.js.map} +1 -1
- package/dist/browser/{chunk-VIOT3AOP.js → chunk-6JHMFFPE.js} +3 -3
- package/dist/browser/chunk-6JHMFFPE.js.map +1 -0
- package/dist/browser/{chunk-BIP66M44.cjs → chunk-FKYI3N5N.cjs} +7 -7
- package/dist/browser/{chunk-BIP66M44.cjs.map → chunk-FKYI3N5N.cjs.map} +1 -1
- package/dist/browser/{chunk-NU74H55W.js → chunk-FPTUHYDJ.js} +3 -3
- package/dist/browser/{chunk-NU74H55W.js.map → chunk-FPTUHYDJ.js.map} +1 -1
- package/dist/browser/{chunk-52JTU4LH.cjs → chunk-IDKQZ4X5.cjs} +38 -15
- package/dist/browser/chunk-IDKQZ4X5.cjs.map +1 -0
- package/dist/browser/{chunk-2X64OY2L.cjs → chunk-LIP3XCTK.cjs} +12 -12
- package/dist/browser/{chunk-2X64OY2L.cjs.map → chunk-LIP3XCTK.cjs.map} +1 -1
- package/dist/browser/{chunk-T6Z6UIBN.js → chunk-OUQAH27A.js} +3 -3
- package/dist/browser/{chunk-T6Z6UIBN.js.map → chunk-OUQAH27A.js.map} +1 -1
- package/dist/browser/{chunk-4CMVMTFB.cjs → chunk-PSNZZBQJ.cjs} +6 -6
- package/dist/browser/{chunk-4CMVMTFB.cjs.map → chunk-PSNZZBQJ.cjs.map} +1 -1
- package/dist/browser/{chunk-6T6ZPOKZ.js → chunk-PXHTLCEU.js} +49 -10
- package/dist/browser/chunk-PXHTLCEU.js.map +1 -0
- package/dist/browser/{chunk-KZFG23MO.js → chunk-TRVACYUN.js} +5 -5
- package/dist/browser/{chunk-KZFG23MO.js.map → chunk-TRVACYUN.js.map} +1 -1
- package/dist/browser/index.cjs +189 -124
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +111 -46
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/integrations/pino.cjs +4 -4
- package/dist/browser/integrations/pino.js +3 -3
- package/dist/browser/langchain/index.cjs +28 -26
- package/dist/browser/langchain/index.cjs.map +1 -1
- package/dist/browser/langchain/index.js +13 -11
- package/dist/browser/langchain/index.js.map +1 -1
- package/dist/browser/langgraph/index.cjs +32 -30
- package/dist/browser/langgraph/index.cjs.map +1 -1
- package/dist/browser/langgraph/index.js +10 -8
- package/dist/browser/langgraph/index.js.map +1 -1
- package/dist/browser/openai/index.cjs +11 -11
- package/dist/browser/openai/index.js +2 -2
- package/dist/browser/openai-agents/index.cjs +63 -35
- package/dist/browser/openai-agents/index.cjs.map +1 -1
- package/dist/browser/openai-agents/index.js +33 -5
- package/dist/browser/openai-agents/index.js.map +1 -1
- package/dist/browser/vercel-ai/index.cjs +14 -14
- package/dist/browser/vercel-ai/index.js +3 -3
- package/dist/{chunk-KMBKZLXH.cjs → chunk-7DALGJL2.cjs} +100 -25
- package/dist/chunk-7DALGJL2.cjs.map +1 -0
- package/dist/{chunk-D5NTF54A.cjs → chunk-B7TGG62X.cjs} +12 -12
- package/dist/{chunk-D5NTF54A.cjs.map → chunk-B7TGG62X.cjs.map} +1 -1
- package/dist/{chunk-LPLL2OXI.cjs → chunk-COZFARLL.cjs} +5 -5
- package/dist/chunk-COZFARLL.cjs.map +1 -0
- package/dist/{chunk-GTPKPUAV.cjs → chunk-DXTNU2KT.cjs} +38 -15
- package/dist/chunk-DXTNU2KT.cjs.map +1 -0
- package/dist/{chunk-6FLGLD72.js → chunk-ERH3TNXZ.js} +3 -3
- package/dist/{chunk-6FLGLD72.js.map → chunk-ERH3TNXZ.js.map} +1 -1
- package/dist/{chunk-7HYFOHM3.cjs → chunk-ESJJXXB6.cjs} +6 -6
- package/dist/{chunk-7HYFOHM3.cjs.map → chunk-ESJJXXB6.cjs.map} +1 -1
- package/dist/{chunk-SUEBUMHL.cjs → chunk-ETRNCI5Z.cjs} +18 -18
- package/dist/{chunk-SUEBUMHL.cjs.map → chunk-ETRNCI5Z.cjs.map} +1 -1
- package/dist/{chunk-KWOSUW7B.js → chunk-GULJAURY.js} +27 -5
- package/dist/chunk-GULJAURY.js.map +1 -0
- package/dist/{chunk-ZIMGB7IT.js → chunk-HJV35HWL.js} +100 -26
- package/dist/chunk-HJV35HWL.js.map +1 -0
- package/dist/{chunk-3ONFIKKC.js → chunk-L7AD4KUD.js} +3 -3
- package/dist/chunk-L7AD4KUD.js.map +1 -0
- package/dist/{chunk-SFI36VWW.js → chunk-QBDTQTMN.js} +3 -3
- package/dist/{chunk-SFI36VWW.js.map → chunk-QBDTQTMN.js.map} +1 -1
- package/dist/{chunk-NMARCV3R.cjs → chunk-WG4H5JC6.cjs} +7 -7
- package/dist/{chunk-NMARCV3R.cjs.map → chunk-WG4H5JC6.cjs.map} +1 -1
- package/dist/{chunk-J5FEPM7L.js → chunk-XS4P7XPV.js} +5 -5
- package/dist/{chunk-J5FEPM7L.js.map → chunk-XS4P7XPV.js.map} +1 -1
- package/dist/{chunk-ZZSVPAXM.js → chunk-YVLEDBN7.js} +4 -4
- package/dist/{chunk-ZZSVPAXM.js.map → chunk-YVLEDBN7.js.map} +1 -1
- package/dist/index.cjs +199 -134
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -2
- package/dist/index.d.ts +13 -2
- package/dist/index.js +112 -47
- package/dist/index.js.map +1 -1
- package/dist/integrations/pino.cjs +4 -4
- package/dist/integrations/pino.js +3 -3
- package/dist/langchain/index.cjs +28 -26
- package/dist/langchain/index.cjs.map +1 -1
- package/dist/langchain/index.d.cts +3 -3
- package/dist/langchain/index.d.ts +3 -3
- package/dist/langchain/index.js +13 -11
- package/dist/langchain/index.js.map +1 -1
- package/dist/langgraph/index.cjs +32 -30
- package/dist/langgraph/index.cjs.map +1 -1
- package/dist/langgraph/index.d.cts +3 -3
- package/dist/langgraph/index.d.ts +3 -3
- package/dist/langgraph/index.js +10 -8
- package/dist/langgraph/index.js.map +1 -1
- package/dist/openai/index.cjs +11 -11
- package/dist/openai/index.js +2 -2
- package/dist/openai-agents/index.cjs +63 -35
- package/dist/openai-agents/index.cjs.map +1 -1
- package/dist/openai-agents/index.d.cts +13 -4
- package/dist/openai-agents/index.d.ts +13 -4
- package/dist/openai-agents/index.js +33 -5
- package/dist/openai-agents/index.js.map +1 -1
- package/dist/{spans-DZtMuBvc.d.cts → spans-CBMWNg2C.d.cts} +1 -0
- package/dist/{spans-DZtMuBvc.d.ts → spans-CBMWNg2C.d.ts} +1 -0
- package/dist/{tracing-J8ZgxVzU.d.ts → tracing-BMWTyexr.d.ts} +1 -1
- package/dist/{tracing-CNlre8TK.d.cts → tracing-Bh-cbvr6.d.cts} +1 -1
- package/dist/vercel-ai/index.cjs +14 -14
- package/dist/vercel-ai/index.js +3 -3
- package/package.json +1 -1
- package/dist/browser/chunk-52JTU4LH.cjs.map +0 -1
- package/dist/browser/chunk-6BNMYEMW.cjs.map +0 -1
- package/dist/browser/chunk-6T6ZPOKZ.js.map +0 -1
- package/dist/browser/chunk-TV7TRP5O.cjs.map +0 -1
- package/dist/browser/chunk-VIOT3AOP.js.map +0 -1
- package/dist/browser/chunk-YYUDZTHI.js.map +0 -1
- package/dist/chunk-3ONFIKKC.js.map +0 -1
- package/dist/chunk-GTPKPUAV.cjs.map +0 -1
- package/dist/chunk-KMBKZLXH.cjs.map +0 -1
- package/dist/chunk-KWOSUW7B.js.map +0 -1
- package/dist/chunk-LPLL2OXI.cjs.map +0 -1
- package/dist/chunk-ZIMGB7IT.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-
|
|
6
|
-
var
|
|
3
|
+
var chunkETRNCI5Z_cjs = require('./chunk-ETRNCI5Z.cjs');
|
|
4
|
+
var chunkB7TGG62X_cjs = require('./chunk-B7TGG62X.cjs');
|
|
5
|
+
require('./chunk-COZFARLL.cjs');
|
|
6
|
+
var chunkESJJXXB6_cjs = require('./chunk-ESJJXXB6.cjs');
|
|
7
7
|
require('./chunk-KBWPNIH4.cjs');
|
|
8
8
|
require('./chunk-HICEJ4LV.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunk7DALGJL2_cjs = require('./chunk-7DALGJL2.cjs');
|
|
10
10
|
var module$1 = require('module');
|
|
11
11
|
var instrumentationPg = require('@opentelemetry/instrumentation-pg');
|
|
12
12
|
var instrumentationMysql2 = require('@opentelemetry/instrumentation-mysql2');
|
|
@@ -14,10 +14,10 @@ var instrumentation = require('@opentelemetry/instrumentation');
|
|
|
14
14
|
var api = require('@opentelemetry/api');
|
|
15
15
|
|
|
16
16
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
17
|
-
|
|
17
|
+
chunk7DALGJL2_cjs.init_env();
|
|
18
18
|
var FULL_INSTALL_TARGETS = {
|
|
19
19
|
"@anthropic-ai/sdk": {
|
|
20
|
-
install: (mod) =>
|
|
20
|
+
install: (mod) => chunkETRNCI5Z_cjs.instrumentAnthropic({ anthropicModule: mod })
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
var DETECT_ONLY_TARGETS = {
|
|
@@ -96,7 +96,7 @@ function uninstallLazyHook() {
|
|
|
96
96
|
originalRequire = null;
|
|
97
97
|
}
|
|
98
98
|
async function installAdapters() {
|
|
99
|
-
if (
|
|
99
|
+
if (chunk7DALGJL2_cjs.isAutoDetectDisabled()) return;
|
|
100
100
|
const nodeRequire = getNodeRequire();
|
|
101
101
|
if (!nodeRequire) return;
|
|
102
102
|
const installPromises = [];
|
|
@@ -134,11 +134,11 @@ function _resetForTesting3() {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
// src/index.ts
|
|
137
|
-
|
|
137
|
+
chunk7DALGJL2_cjs.init_env();
|
|
138
138
|
|
|
139
139
|
// src/_internal/db-capture.ts
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
chunk7DALGJL2_cjs.init_env();
|
|
141
|
+
chunk7DALGJL2_cjs.init_otel_provider();
|
|
142
142
|
var SEMCONV_DB_SYSTEM_NAME = "db.system.name";
|
|
143
143
|
var SEMCONV_DB_QUERY_TEXT = "db.query.text";
|
|
144
144
|
var DB_SYSTEM_NAME_SQLITE = "sqlite";
|
|
@@ -252,7 +252,7 @@ function registerDbInstrumentation() {
|
|
|
252
252
|
disableDbCapture();
|
|
253
253
|
try {
|
|
254
254
|
const instrumentations = buildDbInstrumentations();
|
|
255
|
-
const off =
|
|
255
|
+
const off = chunk7DALGJL2_cjs.getEngine().registerInstrumentations(instrumentations);
|
|
256
256
|
if (off === null) return false;
|
|
257
257
|
unregister = off;
|
|
258
258
|
registeredInstrumentations = instrumentations;
|
|
@@ -274,19 +274,46 @@ function disableDbCapture() {
|
|
|
274
274
|
registeredInstrumentations = null;
|
|
275
275
|
}
|
|
276
276
|
function maybeEnableDbCaptureFromEnv() {
|
|
277
|
-
if (
|
|
277
|
+
if (chunk7DALGJL2_cjs.isDbCaptureEnabled()) {
|
|
278
278
|
registerDbInstrumentation();
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
// src/index.ts
|
|
283
|
-
|
|
284
|
-
|
|
283
|
+
chunk7DALGJL2_cjs.init_otel_provider();
|
|
284
|
+
chunk7DALGJL2_cjs.init_redaction();
|
|
285
285
|
|
|
286
286
|
// src/_internal/transport.ts
|
|
287
|
-
|
|
288
|
-
var SDK_VERSION = "0.
|
|
287
|
+
chunk7DALGJL2_cjs.init_diagnostics();
|
|
288
|
+
var SDK_VERSION = "0.6.0-rc.1" ;
|
|
289
289
|
var RETRY_AFTER_CAP_SECONDS = 30;
|
|
290
|
+
var MAX_SEND_ATTEMPTS = 3;
|
|
291
|
+
var BACKOFF_BASE_MS = 500;
|
|
292
|
+
var BACKOFF_MAX_MS = 1e4;
|
|
293
|
+
var DEFAULT_FLUSH_TIMEOUT_MS = 1e4;
|
|
294
|
+
function backoffDelayMs(attempt) {
|
|
295
|
+
const base = Math.min(BACKOFF_MAX_MS, BACKOFF_BASE_MS * 2 ** (attempt - 1));
|
|
296
|
+
return base * (0.5 + Math.random());
|
|
297
|
+
}
|
|
298
|
+
function dropReasonFor(attempt, closed, deadline) {
|
|
299
|
+
if (closed) return chunk7DALGJL2_cjs.REASON_SHUTDOWN_DROP;
|
|
300
|
+
if (attempt === 1 && Date.now() >= deadline) return chunk7DALGJL2_cjs.REASON_SEND_FAILED;
|
|
301
|
+
return chunk7DALGJL2_cjs.REASON_RETRY_EXHAUSTED;
|
|
302
|
+
}
|
|
303
|
+
function withDeadline(promise, deadline) {
|
|
304
|
+
const remaining = Math.max(0, deadline - Date.now());
|
|
305
|
+
let timer;
|
|
306
|
+
return Promise.race([
|
|
307
|
+
promise,
|
|
308
|
+
new Promise((_, reject) => {
|
|
309
|
+
timer = setTimeout(() => reject(new Error("morse: flush deadline exceeded")), remaining);
|
|
310
|
+
})
|
|
311
|
+
]).finally(() => clearTimeout(timer));
|
|
312
|
+
}
|
|
313
|
+
function sleepUntil(ms, deadline) {
|
|
314
|
+
const remaining = Math.max(0, Math.min(ms, deadline - Date.now()));
|
|
315
|
+
return new Promise((resolve) => setTimeout(resolve, remaining));
|
|
316
|
+
}
|
|
290
317
|
function parseRetryAfter(value) {
|
|
291
318
|
if (!value) return null;
|
|
292
319
|
const seconds = Number(value);
|
|
@@ -364,6 +391,7 @@ var BatchTransport = class {
|
|
|
364
391
|
maxBatchSize;
|
|
365
392
|
maxQueueSize;
|
|
366
393
|
fetchTimeoutMs;
|
|
394
|
+
flushTimeoutMs;
|
|
367
395
|
fetchImpl;
|
|
368
396
|
queue = [];
|
|
369
397
|
timer = null;
|
|
@@ -377,6 +405,7 @@ var BatchTransport = class {
|
|
|
377
405
|
this.maxBatchSize = opts.maxBatchSize ?? 100;
|
|
378
406
|
this.maxQueueSize = opts.maxQueueSize ?? 1e4;
|
|
379
407
|
this.fetchTimeoutMs = opts.fetchTimeoutMs ?? 5e3;
|
|
408
|
+
this.flushTimeoutMs = opts.flushTimeoutMs ?? DEFAULT_FLUSH_TIMEOUT_MS;
|
|
380
409
|
this.fetchImpl = opts.fetchImpl ?? globalThis.fetch.bind(globalThis);
|
|
381
410
|
const intervalMs = Math.max(50, Math.round(this.flushIntervalSeconds * 1e3));
|
|
382
411
|
this.timer = setInterval(() => {
|
|
@@ -390,11 +419,11 @@ var BatchTransport = class {
|
|
|
390
419
|
/** Enqueue an event. Non-blocking. Returns false if the queue is full. */
|
|
391
420
|
track(event) {
|
|
392
421
|
if (this.closed) {
|
|
393
|
-
|
|
422
|
+
chunk7DALGJL2_cjs.recordDrop(chunk7DALGJL2_cjs.REASON_SHUTDOWN_DROP, "trace");
|
|
394
423
|
return false;
|
|
395
424
|
}
|
|
396
425
|
if (this.queue.length >= this.maxQueueSize) {
|
|
397
|
-
|
|
426
|
+
chunk7DALGJL2_cjs.recordDrop(chunk7DALGJL2_cjs.REASON_QUEUE_FULL, "trace");
|
|
398
427
|
return false;
|
|
399
428
|
}
|
|
400
429
|
this.queue.push(event);
|
|
@@ -467,56 +496,92 @@ var BatchTransport = class {
|
|
|
467
496
|
await this.post(deriveLogsEndpoint(this.endpoint), { logs: logEntries });
|
|
468
497
|
}
|
|
469
498
|
}
|
|
470
|
-
async post(url, payload) {
|
|
471
|
-
|
|
472
|
-
const timeoutId = setTimeout(() => controller.abort(), this.fetchTimeoutMs);
|
|
499
|
+
async post(url, payload, deadline = Date.now() + this.flushTimeoutMs) {
|
|
500
|
+
let body;
|
|
473
501
|
try {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
},
|
|
481
|
-
body: JSON.stringify(payload),
|
|
482
|
-
signal: controller.signal
|
|
502
|
+
body = JSON.stringify(payload);
|
|
503
|
+
} catch (err) {
|
|
504
|
+
chunk7DALGJL2_cjs.recordDrop(chunk7DALGJL2_cjs.REASON_ENCODE_FAILED, categoryOf(payload), countPayloadEntries(payload));
|
|
505
|
+
chunk7DALGJL2_cjs.report(err, {
|
|
506
|
+
fingerprint: "morse.transport.post.encode",
|
|
507
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
483
508
|
});
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
const droppedCount = countPayloadEntries(payload);
|
|
512
|
+
const droppedCategory = categoryOf(payload);
|
|
513
|
+
for (let attempt = 1; attempt <= MAX_SEND_ATTEMPTS; attempt++) {
|
|
514
|
+
const lastAttempt = attempt >= MAX_SEND_ATTEMPTS;
|
|
515
|
+
const outOfTime = Date.now() >= deadline;
|
|
516
|
+
if (outOfTime && attempt > 1) {
|
|
517
|
+
chunk7DALGJL2_cjs.recordDrop(chunk7DALGJL2_cjs.REASON_RETRY_EXHAUSTED, droppedCategory, droppedCount);
|
|
518
|
+
return;
|
|
490
519
|
}
|
|
491
|
-
|
|
520
|
+
const controller = new AbortController();
|
|
521
|
+
const timeoutId = setTimeout(() => controller.abort(), this.fetchTimeoutMs);
|
|
522
|
+
try {
|
|
523
|
+
const resp = await withDeadline(
|
|
524
|
+
this.fetchImpl(url, {
|
|
525
|
+
method: "POST",
|
|
526
|
+
headers: {
|
|
527
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
528
|
+
"Content-Type": "application/json",
|
|
529
|
+
"User-Agent": `morse-typescript/${SDK_VERSION}`
|
|
530
|
+
},
|
|
531
|
+
body,
|
|
532
|
+
signal: controller.signal
|
|
533
|
+
}),
|
|
534
|
+
deadline
|
|
535
|
+
);
|
|
536
|
+
chunk7DALGJL2_cjs.setLevel(resp.headers.get("X-Morse-Diagnostics"));
|
|
537
|
+
if (resp.ok) return;
|
|
538
|
+
if (resp.status === 429) await recordQuotaState(resp);
|
|
492
539
|
let bodySnippet = "";
|
|
493
540
|
try {
|
|
494
|
-
|
|
495
|
-
bodySnippet = text.slice(0, 200);
|
|
541
|
+
bodySnippet = (await resp.text()).slice(0, 200);
|
|
496
542
|
} catch {
|
|
497
543
|
}
|
|
498
|
-
|
|
499
|
-
chunkKMBKZLXH_cjs.recordDrop(chunkKMBKZLXH_cjs.REASON_RETRY_EXHAUSTED, droppedCategory, droppedCount);
|
|
500
|
-
}
|
|
501
|
-
chunkKMBKZLXH_cjs.report(new Error(`morse: batch POST returned ${resp.status} ${bodySnippet}`), {
|
|
544
|
+
chunk7DALGJL2_cjs.report(new Error(`morse: batch POST returned ${resp.status} ${bodySnippet}`), {
|
|
502
545
|
fingerprint: "morse.transport.post.non_2xx",
|
|
503
|
-
extra: {
|
|
504
|
-
|
|
505
|
-
|
|
546
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
547
|
+
});
|
|
548
|
+
if (resp.status === 429) {
|
|
549
|
+
if (lastAttempt) {
|
|
550
|
+
chunk7DALGJL2_cjs.recordDrop(chunk7DALGJL2_cjs.REASON_QUOTA_REJECTED, droppedCategory, droppedCount);
|
|
551
|
+
return;
|
|
506
552
|
}
|
|
553
|
+
const retryAfter = parseRetryAfter(resp.headers.get("Retry-After"));
|
|
554
|
+
await sleepUntil((retryAfter ?? 0) * 1e3 + backoffDelayMs(attempt), deadline);
|
|
555
|
+
continue;
|
|
556
|
+
}
|
|
557
|
+
if (resp.status < 500) {
|
|
558
|
+
chunk7DALGJL2_cjs.recordDrop(
|
|
559
|
+
resp.status === 401 || resp.status === 403 ? chunk7DALGJL2_cjs.REASON_AUTH_REJECTED : chunk7DALGJL2_cjs.REASON_ENDPOINT_REJECTED,
|
|
560
|
+
droppedCategory,
|
|
561
|
+
droppedCount
|
|
562
|
+
);
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
if (lastAttempt || this.closed || Date.now() >= deadline) {
|
|
566
|
+
chunk7DALGJL2_cjs.recordDrop(dropReasonFor(attempt, this.closed, deadline), droppedCategory, droppedCount);
|
|
567
|
+
return;
|
|
568
|
+
}
|
|
569
|
+
await sleepUntil(backoffDelayMs(attempt), deadline);
|
|
570
|
+
continue;
|
|
571
|
+
} catch (err) {
|
|
572
|
+
chunk7DALGJL2_cjs.report(err, {
|
|
573
|
+
fingerprint: "morse.transport.post.network",
|
|
574
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
507
575
|
});
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
chunkKMBKZLXH_cjs.report(err, {
|
|
512
|
-
fingerprint: "morse.transport.post.network",
|
|
513
|
-
extra: {
|
|
514
|
-
endpoint_host: hostnameOf(url),
|
|
515
|
-
sdk_version: SDK_VERSION
|
|
576
|
+
if (lastAttempt || this.closed || Date.now() >= deadline) {
|
|
577
|
+
chunk7DALGJL2_cjs.recordDrop(dropReasonFor(attempt, this.closed, deadline), droppedCategory, droppedCount);
|
|
578
|
+
return;
|
|
516
579
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
580
|
+
await sleepUntil(backoffDelayMs(attempt), deadline);
|
|
581
|
+
continue;
|
|
582
|
+
} finally {
|
|
583
|
+
clearTimeout(timeoutId);
|
|
584
|
+
}
|
|
520
585
|
}
|
|
521
586
|
}
|
|
522
587
|
};
|
|
@@ -552,10 +617,10 @@ function categoryOf(payload) {
|
|
|
552
617
|
}
|
|
553
618
|
|
|
554
619
|
// src/index.ts
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
620
|
+
chunk7DALGJL2_cjs.init_tracing();
|
|
621
|
+
chunk7DALGJL2_cjs.init_diagnostics();
|
|
622
|
+
chunk7DALGJL2_cjs.init_spans();
|
|
623
|
+
chunk7DALGJL2_cjs.init_propagation();
|
|
559
624
|
var version = SDK_VERSION;
|
|
560
625
|
var singleton = null;
|
|
561
626
|
var transportFactory = (opts) => new BatchTransport(opts);
|
|
@@ -575,9 +640,9 @@ function logDestinationOnce(endpoint) {
|
|
|
575
640
|
}
|
|
576
641
|
function resolveEndpoint(explicit) {
|
|
577
642
|
if (explicit && explicit.length > 0) return explicit;
|
|
578
|
-
const fromEnv =
|
|
643
|
+
const fromEnv = chunk7DALGJL2_cjs.getEndpoint();
|
|
579
644
|
if (fromEnv) return fromEnv;
|
|
580
|
-
return
|
|
645
|
+
return chunk7DALGJL2_cjs.DEFAULT_ENDPOINT;
|
|
581
646
|
}
|
|
582
647
|
var OTLP_TRACES_PATH = "/api/v1/otlp/v1/traces";
|
|
583
648
|
function deriveOtlpEndpoint(tracesEndpoint) {
|
|
@@ -592,10 +657,10 @@ function deriveOtlpEndpoint(tracesEndpoint) {
|
|
|
592
657
|
}
|
|
593
658
|
}
|
|
594
659
|
function buildSingleton(opts, redaction) {
|
|
595
|
-
if (
|
|
660
|
+
if (chunk7DALGJL2_cjs.isDisabled()) {
|
|
596
661
|
return null;
|
|
597
662
|
}
|
|
598
|
-
const apiKey = opts.apiKey ??
|
|
663
|
+
const apiKey = opts.apiKey ?? chunk7DALGJL2_cjs.getApiKey();
|
|
599
664
|
if (!apiKey) {
|
|
600
665
|
if (!noApiKeyWarningEmitted) {
|
|
601
666
|
logger2(
|
|
@@ -607,24 +672,24 @@ function buildSingleton(opts, redaction) {
|
|
|
607
672
|
return null;
|
|
608
673
|
}
|
|
609
674
|
const endpoint = resolveEndpoint(opts.endpoint);
|
|
610
|
-
const flushIntervalSeconds = opts.flushIntervalSeconds ??
|
|
675
|
+
const flushIntervalSeconds = opts.flushIntervalSeconds ?? chunk7DALGJL2_cjs.getFlushIntervalSeconds();
|
|
611
676
|
const transport = transportFactory({ apiKey, endpoint, flushIntervalSeconds });
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
const explicitSource =
|
|
616
|
-
const resolvedSource = explicitSource ??
|
|
617
|
-
|
|
677
|
+
chunk7DALGJL2_cjs.setTransport(transport);
|
|
678
|
+
chunk7DALGJL2_cjs.setRedactionConfig(redaction);
|
|
679
|
+
chunk7DALGJL2_cjs.setDiagnosticsClientConfig({ apiKey, endpoint });
|
|
680
|
+
const explicitSource = chunk7DALGJL2_cjs.isValidInternalSource(opts.source) ? opts.source : void 0;
|
|
681
|
+
const resolvedSource = explicitSource ?? chunk7DALGJL2_cjs.getInternalSource() ?? null;
|
|
682
|
+
chunk7DALGJL2_cjs.setSource(resolvedSource);
|
|
618
683
|
logDestinationOnce(endpoint);
|
|
619
684
|
try {
|
|
620
|
-
|
|
685
|
+
chunk7DALGJL2_cjs.getEngine().configure({
|
|
621
686
|
endpoint: deriveOtlpEndpoint(endpoint),
|
|
622
687
|
apiKey,
|
|
623
|
-
sampleRate:
|
|
688
|
+
sampleRate: chunk7DALGJL2_cjs.getSampleRate(),
|
|
624
689
|
scheduleDelayMillis: flushIntervalSeconds * 1e3,
|
|
625
|
-
maxQueueSize:
|
|
626
|
-
maxExportBatchSize:
|
|
627
|
-
maxFieldBytes:
|
|
690
|
+
maxQueueSize: chunk7DALGJL2_cjs.getMaxQueueSize(),
|
|
691
|
+
maxExportBatchSize: chunk7DALGJL2_cjs.getMaxBatchSize(),
|
|
692
|
+
maxFieldBytes: chunk7DALGJL2_cjs.getMaxFieldBytes(),
|
|
628
693
|
// 10s (not the exporter's un-overridden 30s ceiling): a genuine
|
|
629
694
|
// network blip still gets several retries with backoff; a fully dead
|
|
630
695
|
// endpoint fails within a bounded, shutdown-friendly window instead
|
|
@@ -633,32 +698,32 @@ function buildSingleton(opts, redaction) {
|
|
|
633
698
|
redactionConfig: redaction
|
|
634
699
|
});
|
|
635
700
|
} catch (err) {
|
|
636
|
-
|
|
701
|
+
chunk7DALGJL2_cjs.report(err, { fingerprint: "morse.otel_provider.configure" });
|
|
637
702
|
}
|
|
638
703
|
void installAdapters().catch(() => {
|
|
639
704
|
});
|
|
640
705
|
try {
|
|
641
706
|
maybeEnableDbCaptureFromEnv();
|
|
642
707
|
} catch (err) {
|
|
643
|
-
|
|
708
|
+
chunk7DALGJL2_cjs.report(err, { fingerprint: "morse.db_capture.register" });
|
|
644
709
|
}
|
|
645
710
|
return { apiKey, endpoint, transport, redaction };
|
|
646
711
|
}
|
|
647
712
|
function ensureInitialized() {
|
|
648
|
-
if (
|
|
713
|
+
if (chunk7DALGJL2_cjs.isDisabled()) return null;
|
|
649
714
|
if (singleton !== null) return singleton;
|
|
650
|
-
singleton = buildSingleton({},
|
|
715
|
+
singleton = buildSingleton({}, chunk7DALGJL2_cjs.buildRedactionConfig());
|
|
651
716
|
return singleton;
|
|
652
717
|
}
|
|
653
|
-
|
|
718
|
+
chunkB7TGG62X_cjs._setEnsureInitialized(() => {
|
|
654
719
|
ensureInitialized();
|
|
655
720
|
});
|
|
656
721
|
function init(options = {}) {
|
|
657
|
-
if (
|
|
722
|
+
if (chunk7DALGJL2_cjs.isDisabled()) {
|
|
658
723
|
logger2("info", "morse: MORSE_DISABLED=1 \u2014 SDK is a no-op");
|
|
659
724
|
return;
|
|
660
725
|
}
|
|
661
|
-
const redaction =
|
|
726
|
+
const redaction = chunk7DALGJL2_cjs.buildRedactionConfig(options.redaction);
|
|
662
727
|
try {
|
|
663
728
|
if (singleton !== null) {
|
|
664
729
|
void singleton.transport.shutdown();
|
|
@@ -666,10 +731,10 @@ function init(options = {}) {
|
|
|
666
731
|
}
|
|
667
732
|
singleton = buildSingleton(options, redaction);
|
|
668
733
|
} catch (err) {
|
|
669
|
-
|
|
734
|
+
chunk7DALGJL2_cjs.report(err, { fingerprint: "morse.init" });
|
|
670
735
|
}
|
|
671
736
|
}
|
|
672
|
-
var track =
|
|
737
|
+
var track = chunkESJJXXB6_cjs.absorbErrorsSync(
|
|
673
738
|
(options) => {
|
|
674
739
|
const state = ensureInitialized();
|
|
675
740
|
if (!state) return;
|
|
@@ -677,33 +742,33 @@ var track = chunk7HYFOHM3_cjs.absorbErrorsSync(
|
|
|
677
742
|
agent_id: options.agentId,
|
|
678
743
|
...options.runData
|
|
679
744
|
};
|
|
680
|
-
const redacted =
|
|
745
|
+
const redacted = chunk7DALGJL2_cjs.redactValue(payload, state.redaction);
|
|
681
746
|
state.transport.track(redacted);
|
|
682
747
|
},
|
|
683
748
|
{ fingerprint: "morse.track" }
|
|
684
749
|
);
|
|
685
|
-
var batchTrack =
|
|
750
|
+
var batchTrack = chunkESJJXXB6_cjs.absorbErrorsSync(
|
|
686
751
|
(runs) => {
|
|
687
752
|
const state = ensureInitialized();
|
|
688
753
|
if (!state) return;
|
|
689
754
|
for (const run2 of runs) {
|
|
690
|
-
const redacted =
|
|
755
|
+
const redacted = chunk7DALGJL2_cjs.redactValue(run2, state.redaction);
|
|
691
756
|
state.transport.track(redacted);
|
|
692
757
|
}
|
|
693
758
|
},
|
|
694
759
|
{ fingerprint: "morse.batch_track" }
|
|
695
760
|
);
|
|
696
|
-
var record =
|
|
761
|
+
var record = chunkESJJXXB6_cjs.absorbErrorsSync(
|
|
697
762
|
(rec) => {
|
|
698
763
|
const state = ensureInitialized();
|
|
699
764
|
if (!state) return;
|
|
700
|
-
const traceId =
|
|
701
|
-
const now =
|
|
765
|
+
const traceId = chunk7DALGJL2_cjs.generateTraceId();
|
|
766
|
+
const now = chunk7DALGJL2_cjs.nowIso();
|
|
702
767
|
const resolvedStatus = rec.errorMessage ? "failed" : rec.status ?? "completed";
|
|
703
768
|
const span2 = {
|
|
704
769
|
trace_id: traceId,
|
|
705
|
-
span_id:
|
|
706
|
-
type:
|
|
770
|
+
span_id: chunk7DALGJL2_cjs.generateSpanId(),
|
|
771
|
+
type: chunk7DALGJL2_cjs.SpanType.AGENT,
|
|
707
772
|
name: rec.agent,
|
|
708
773
|
started_at: now,
|
|
709
774
|
ended_at: now,
|
|
@@ -728,58 +793,58 @@ var record = chunk7HYFOHM3_cjs.absorbErrorsSync(
|
|
|
728
793
|
success: rec.success,
|
|
729
794
|
outcome: rec.outcome
|
|
730
795
|
};
|
|
731
|
-
const entry =
|
|
732
|
-
const redacted =
|
|
733
|
-
|
|
796
|
+
const entry = chunk7DALGJL2_cjs.buildTraceEntry(traceFields, [span2]);
|
|
797
|
+
const redacted = chunk7DALGJL2_cjs.redactValue(entry, state.redaction);
|
|
798
|
+
chunk7DALGJL2_cjs.sendTrace(redacted);
|
|
734
799
|
},
|
|
735
800
|
{ fingerprint: "morse.record" }
|
|
736
801
|
);
|
|
737
802
|
function run(nameOrOpts, fn) {
|
|
738
803
|
const opts = typeof nameOrOpts === "string" ? { agentName: nameOrOpts } : nameOrOpts;
|
|
739
804
|
ensureInitialized();
|
|
740
|
-
return
|
|
805
|
+
return chunk7DALGJL2_cjs.runSync(opts, fn);
|
|
741
806
|
}
|
|
742
807
|
function runTraced(options, fn) {
|
|
743
808
|
ensureInitialized();
|
|
744
|
-
return
|
|
809
|
+
return chunk7DALGJL2_cjs.runAsync(options, fn);
|
|
745
810
|
}
|
|
746
811
|
function setContext2(dims) {
|
|
747
|
-
|
|
812
|
+
chunk7DALGJL2_cjs.setContext(dims);
|
|
748
813
|
}
|
|
749
814
|
function startSpan2(options) {
|
|
750
|
-
return
|
|
815
|
+
return chunk7DALGJL2_cjs.startSpan(options);
|
|
751
816
|
}
|
|
752
817
|
function span(options, fn) {
|
|
753
|
-
return
|
|
818
|
+
return chunk7DALGJL2_cjs.spanSync(options, fn);
|
|
754
819
|
}
|
|
755
820
|
function spanAsync2(options, fn) {
|
|
756
|
-
return
|
|
821
|
+
return chunk7DALGJL2_cjs.spanAsync(options, fn);
|
|
757
822
|
}
|
|
758
|
-
var flush =
|
|
823
|
+
var flush = chunkESJJXXB6_cjs.absorbErrorsAsync(
|
|
759
824
|
async () => {
|
|
760
825
|
if (singleton !== null) {
|
|
761
826
|
await singleton.transport.flush();
|
|
762
|
-
await
|
|
827
|
+
await chunk7DALGJL2_cjs.getEngine().flush();
|
|
763
828
|
}
|
|
764
829
|
},
|
|
765
830
|
{ fingerprint: "morse.flush" }
|
|
766
831
|
);
|
|
767
|
-
var quotaState2 =
|
|
832
|
+
var quotaState2 = chunkESJJXXB6_cjs.absorbErrorsSync(
|
|
768
833
|
() => {
|
|
769
834
|
if (singleton === null) return null;
|
|
770
835
|
return getQuotaState();
|
|
771
836
|
},
|
|
772
837
|
{ fingerprint: "morse.quota_state" }
|
|
773
838
|
);
|
|
774
|
-
var shutdown =
|
|
839
|
+
var shutdown = chunkESJJXXB6_cjs.absorbErrorsAsync(
|
|
775
840
|
async () => {
|
|
776
841
|
if (singleton !== null) {
|
|
777
842
|
await singleton.transport.shutdown();
|
|
778
|
-
await
|
|
779
|
-
|
|
780
|
-
await
|
|
843
|
+
await chunk7DALGJL2_cjs.getEngine().flush();
|
|
844
|
+
chunk7DALGJL2_cjs.getEngine().shutdown();
|
|
845
|
+
await chunk7DALGJL2_cjs.flushOnce();
|
|
781
846
|
singleton = null;
|
|
782
|
-
|
|
847
|
+
chunk7DALGJL2_cjs.setTransport(null);
|
|
783
848
|
}
|
|
784
849
|
},
|
|
785
850
|
{ fingerprint: "morse.shutdown" }
|
|
@@ -788,14 +853,14 @@ function _resetForTesting4() {
|
|
|
788
853
|
if (singleton !== null) {
|
|
789
854
|
void singleton.transport.shutdown();
|
|
790
855
|
singleton = null;
|
|
791
|
-
|
|
856
|
+
chunk7DALGJL2_cjs.setTransport(null);
|
|
792
857
|
}
|
|
793
|
-
|
|
858
|
+
chunk7DALGJL2_cjs.getEngine().resetForTesting();
|
|
794
859
|
noApiKeyWarningEmitted = false;
|
|
795
860
|
lastLoggedEndpoint = null;
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
861
|
+
chunk7DALGJL2_cjs.setSource(null);
|
|
862
|
+
chunk7DALGJL2_cjs._resetForTesting2();
|
|
863
|
+
chunk7DALGJL2_cjs._resetForTesting();
|
|
799
864
|
_resetForTesting3();
|
|
800
865
|
_resetQuotaStateForTesting();
|
|
801
866
|
transportFactory = (opts) => new BatchTransport(opts);
|
|
@@ -804,59 +869,59 @@ function _setTransportFactoryForTesting(factory) {
|
|
|
804
869
|
transportFactory = factory;
|
|
805
870
|
}
|
|
806
871
|
function _getLastTraceForTesting() {
|
|
807
|
-
return
|
|
872
|
+
return chunk7DALGJL2_cjs.getLastTrace();
|
|
808
873
|
}
|
|
809
874
|
function _getActiveTraceStateForTesting() {
|
|
810
|
-
return
|
|
875
|
+
return chunk7DALGJL2_cjs.getActiveTraceState();
|
|
811
876
|
}
|
|
812
877
|
|
|
813
|
-
Object.defineProperty(exports, "log", {
|
|
814
|
-
enumerable: true,
|
|
815
|
-
get: function () { return chunkD5NTF54A_cjs.log; }
|
|
816
|
-
});
|
|
817
878
|
Object.defineProperty(exports, "MAX_SEGMENT_CONTENT_BYTES", {
|
|
818
879
|
enumerable: true,
|
|
819
|
-
get: function () { return
|
|
880
|
+
get: function () { return chunkETRNCI5Z_cjs.MAX_SEGMENT_CONTENT_BYTES; }
|
|
820
881
|
});
|
|
821
882
|
Object.defineProperty(exports, "extractAnthropicSegments", {
|
|
822
883
|
enumerable: true,
|
|
823
|
-
get: function () { return
|
|
884
|
+
get: function () { return chunkETRNCI5Z_cjs.extractAnthropicSegments; }
|
|
824
885
|
});
|
|
825
886
|
Object.defineProperty(exports, "instrumentAnthropic", {
|
|
826
887
|
enumerable: true,
|
|
827
|
-
get: function () { return
|
|
888
|
+
get: function () { return chunkETRNCI5Z_cjs.instrumentAnthropic; }
|
|
828
889
|
});
|
|
829
890
|
Object.defineProperty(exports, "isAnthropicWrapped", {
|
|
830
891
|
enumerable: true,
|
|
831
|
-
get: function () { return
|
|
892
|
+
get: function () { return chunkETRNCI5Z_cjs.isAnthropicWrapped; }
|
|
832
893
|
});
|
|
833
894
|
Object.defineProperty(exports, "uninstallAnthropic", {
|
|
834
895
|
enumerable: true,
|
|
835
|
-
get: function () { return
|
|
896
|
+
get: function () { return chunkETRNCI5Z_cjs.uninstallAnthropic; }
|
|
836
897
|
});
|
|
837
898
|
Object.defineProperty(exports, "wrapAnthropic", {
|
|
838
899
|
enumerable: true,
|
|
839
|
-
get: function () { return
|
|
900
|
+
get: function () { return chunkETRNCI5Z_cjs.wrapAnthropic; }
|
|
901
|
+
});
|
|
902
|
+
Object.defineProperty(exports, "log", {
|
|
903
|
+
enumerable: true,
|
|
904
|
+
get: function () { return chunkB7TGG62X_cjs.log; }
|
|
840
905
|
});
|
|
841
906
|
Object.defineProperty(exports, "W3C_TRACEPARENT_HEADER", {
|
|
842
907
|
enumerable: true,
|
|
843
|
-
get: function () { return
|
|
908
|
+
get: function () { return chunk7DALGJL2_cjs.W3C_TRACEPARENT_HEADER; }
|
|
844
909
|
});
|
|
845
910
|
Object.defineProperty(exports, "extractTraceparent", {
|
|
846
911
|
enumerable: true,
|
|
847
|
-
get: function () { return
|
|
912
|
+
get: function () { return chunk7DALGJL2_cjs.extractTraceparent; }
|
|
848
913
|
});
|
|
849
914
|
Object.defineProperty(exports, "formatTraceparent", {
|
|
850
915
|
enumerable: true,
|
|
851
|
-
get: function () { return
|
|
916
|
+
get: function () { return chunk7DALGJL2_cjs.formatTraceparent; }
|
|
852
917
|
});
|
|
853
918
|
Object.defineProperty(exports, "injectIntoRequestInit", {
|
|
854
919
|
enumerable: true,
|
|
855
|
-
get: function () { return
|
|
920
|
+
get: function () { return chunk7DALGJL2_cjs.injectIntoRequestInit; }
|
|
856
921
|
});
|
|
857
922
|
Object.defineProperty(exports, "injectTraceparent", {
|
|
858
923
|
enumerable: true,
|
|
859
|
-
get: function () { return
|
|
924
|
+
get: function () { return chunk7DALGJL2_cjs.injectTraceparent; }
|
|
860
925
|
});
|
|
861
926
|
exports._getActiveTraceStateForTesting = _getActiveTraceStateForTesting;
|
|
862
927
|
exports._getLastTraceForTesting = _getLastTraceForTesting;
|