@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/browser/index.cjs
CHANGED
|
@@ -1,32 +1,59 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-
|
|
6
|
-
var
|
|
3
|
+
var chunk33WDUUKZ_cjs = require('./chunk-33WDUUKZ.cjs');
|
|
4
|
+
var chunkLIP3XCTK_cjs = require('./chunk-LIP3XCTK.cjs');
|
|
5
|
+
require('./chunk-3I7IGP3P.cjs');
|
|
6
|
+
var chunkPSNZZBQJ_cjs = require('./chunk-PSNZZBQJ.cjs');
|
|
7
7
|
require('./chunk-SWQOPFE4.cjs');
|
|
8
8
|
require('./chunk-RBNCTHK3.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunk4IUHXUCJ_cjs = require('./chunk-4IUHXUCJ.cjs');
|
|
10
10
|
|
|
11
11
|
// src/_internal/auto-detect.browser.ts
|
|
12
12
|
async function installAdapters() {
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
// src/index.ts
|
|
16
|
-
|
|
16
|
+
chunk4IUHXUCJ_cjs.init_env();
|
|
17
17
|
|
|
18
18
|
// src/_internal/db-capture.browser.ts
|
|
19
19
|
function maybeEnableDbCaptureFromEnv() {
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// src/index.ts
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
chunk4IUHXUCJ_cjs.init_otel_provider_browser();
|
|
24
|
+
chunk4IUHXUCJ_cjs.init_redaction();
|
|
25
25
|
|
|
26
26
|
// src/_internal/transport.ts
|
|
27
|
-
|
|
28
|
-
var SDK_VERSION = "0.
|
|
27
|
+
chunk4IUHXUCJ_cjs.init_diagnostics();
|
|
28
|
+
var SDK_VERSION = "0.6.0-rc.1" ;
|
|
29
29
|
var RETRY_AFTER_CAP_SECONDS = 30;
|
|
30
|
+
var MAX_SEND_ATTEMPTS = 3;
|
|
31
|
+
var BACKOFF_BASE_MS = 500;
|
|
32
|
+
var BACKOFF_MAX_MS = 1e4;
|
|
33
|
+
var DEFAULT_FLUSH_TIMEOUT_MS = 1e4;
|
|
34
|
+
function backoffDelayMs(attempt) {
|
|
35
|
+
const base = Math.min(BACKOFF_MAX_MS, BACKOFF_BASE_MS * 2 ** (attempt - 1));
|
|
36
|
+
return base * (0.5 + Math.random());
|
|
37
|
+
}
|
|
38
|
+
function dropReasonFor(attempt, closed, deadline) {
|
|
39
|
+
if (closed) return chunk4IUHXUCJ_cjs.REASON_SHUTDOWN_DROP;
|
|
40
|
+
if (attempt === 1 && Date.now() >= deadline) return chunk4IUHXUCJ_cjs.REASON_SEND_FAILED;
|
|
41
|
+
return chunk4IUHXUCJ_cjs.REASON_RETRY_EXHAUSTED;
|
|
42
|
+
}
|
|
43
|
+
function withDeadline(promise, deadline) {
|
|
44
|
+
const remaining = Math.max(0, deadline - Date.now());
|
|
45
|
+
let timer;
|
|
46
|
+
return Promise.race([
|
|
47
|
+
promise,
|
|
48
|
+
new Promise((_, reject) => {
|
|
49
|
+
timer = setTimeout(() => reject(new Error("morse: flush deadline exceeded")), remaining);
|
|
50
|
+
})
|
|
51
|
+
]).finally(() => clearTimeout(timer));
|
|
52
|
+
}
|
|
53
|
+
function sleepUntil(ms, deadline) {
|
|
54
|
+
const remaining = Math.max(0, Math.min(ms, deadline - Date.now()));
|
|
55
|
+
return new Promise((resolve) => setTimeout(resolve, remaining));
|
|
56
|
+
}
|
|
30
57
|
function parseRetryAfter(value) {
|
|
31
58
|
if (!value) return null;
|
|
32
59
|
const seconds = Number(value);
|
|
@@ -104,6 +131,7 @@ var BatchTransport = class {
|
|
|
104
131
|
maxBatchSize;
|
|
105
132
|
maxQueueSize;
|
|
106
133
|
fetchTimeoutMs;
|
|
134
|
+
flushTimeoutMs;
|
|
107
135
|
fetchImpl;
|
|
108
136
|
queue = [];
|
|
109
137
|
timer = null;
|
|
@@ -117,6 +145,7 @@ var BatchTransport = class {
|
|
|
117
145
|
this.maxBatchSize = opts.maxBatchSize ?? 100;
|
|
118
146
|
this.maxQueueSize = opts.maxQueueSize ?? 1e4;
|
|
119
147
|
this.fetchTimeoutMs = opts.fetchTimeoutMs ?? 5e3;
|
|
148
|
+
this.flushTimeoutMs = opts.flushTimeoutMs ?? DEFAULT_FLUSH_TIMEOUT_MS;
|
|
120
149
|
this.fetchImpl = opts.fetchImpl ?? globalThis.fetch.bind(globalThis);
|
|
121
150
|
const intervalMs = Math.max(50, Math.round(this.flushIntervalSeconds * 1e3));
|
|
122
151
|
this.timer = setInterval(() => {
|
|
@@ -130,11 +159,11 @@ var BatchTransport = class {
|
|
|
130
159
|
/** Enqueue an event. Non-blocking. Returns false if the queue is full. */
|
|
131
160
|
track(event) {
|
|
132
161
|
if (this.closed) {
|
|
133
|
-
|
|
162
|
+
chunk4IUHXUCJ_cjs.recordDrop(chunk4IUHXUCJ_cjs.REASON_SHUTDOWN_DROP, "trace");
|
|
134
163
|
return false;
|
|
135
164
|
}
|
|
136
165
|
if (this.queue.length >= this.maxQueueSize) {
|
|
137
|
-
|
|
166
|
+
chunk4IUHXUCJ_cjs.recordDrop(chunk4IUHXUCJ_cjs.REASON_QUEUE_FULL, "trace");
|
|
138
167
|
return false;
|
|
139
168
|
}
|
|
140
169
|
this.queue.push(event);
|
|
@@ -207,56 +236,92 @@ var BatchTransport = class {
|
|
|
207
236
|
await this.post(deriveLogsEndpoint(this.endpoint), { logs: logEntries });
|
|
208
237
|
}
|
|
209
238
|
}
|
|
210
|
-
async post(url, payload) {
|
|
211
|
-
|
|
212
|
-
const timeoutId = setTimeout(() => controller.abort(), this.fetchTimeoutMs);
|
|
239
|
+
async post(url, payload, deadline = Date.now() + this.flushTimeoutMs) {
|
|
240
|
+
let body;
|
|
213
241
|
try {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
},
|
|
221
|
-
body: JSON.stringify(payload),
|
|
222
|
-
signal: controller.signal
|
|
242
|
+
body = JSON.stringify(payload);
|
|
243
|
+
} catch (err) {
|
|
244
|
+
chunk4IUHXUCJ_cjs.recordDrop(chunk4IUHXUCJ_cjs.REASON_ENCODE_FAILED, categoryOf(payload), countPayloadEntries(payload));
|
|
245
|
+
chunk4IUHXUCJ_cjs.report(err, {
|
|
246
|
+
fingerprint: "morse.transport.post.encode",
|
|
247
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
223
248
|
});
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
const droppedCount = countPayloadEntries(payload);
|
|
252
|
+
const droppedCategory = categoryOf(payload);
|
|
253
|
+
for (let attempt = 1; attempt <= MAX_SEND_ATTEMPTS; attempt++) {
|
|
254
|
+
const lastAttempt = attempt >= MAX_SEND_ATTEMPTS;
|
|
255
|
+
const outOfTime = Date.now() >= deadline;
|
|
256
|
+
if (outOfTime && attempt > 1) {
|
|
257
|
+
chunk4IUHXUCJ_cjs.recordDrop(chunk4IUHXUCJ_cjs.REASON_RETRY_EXHAUSTED, droppedCategory, droppedCount);
|
|
258
|
+
return;
|
|
230
259
|
}
|
|
231
|
-
|
|
260
|
+
const controller = new AbortController();
|
|
261
|
+
const timeoutId = setTimeout(() => controller.abort(), this.fetchTimeoutMs);
|
|
262
|
+
try {
|
|
263
|
+
const resp = await withDeadline(
|
|
264
|
+
this.fetchImpl(url, {
|
|
265
|
+
method: "POST",
|
|
266
|
+
headers: {
|
|
267
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
268
|
+
"Content-Type": "application/json",
|
|
269
|
+
"User-Agent": `morse-typescript/${SDK_VERSION}`
|
|
270
|
+
},
|
|
271
|
+
body,
|
|
272
|
+
signal: controller.signal
|
|
273
|
+
}),
|
|
274
|
+
deadline
|
|
275
|
+
);
|
|
276
|
+
chunk4IUHXUCJ_cjs.setLevel(resp.headers.get("X-Morse-Diagnostics"));
|
|
277
|
+
if (resp.ok) return;
|
|
278
|
+
if (resp.status === 429) await recordQuotaState(resp);
|
|
232
279
|
let bodySnippet = "";
|
|
233
280
|
try {
|
|
234
|
-
|
|
235
|
-
bodySnippet = text.slice(0, 200);
|
|
281
|
+
bodySnippet = (await resp.text()).slice(0, 200);
|
|
236
282
|
} catch {
|
|
237
283
|
}
|
|
238
|
-
|
|
239
|
-
chunk6BNMYEMW_cjs.recordDrop(chunk6BNMYEMW_cjs.REASON_RETRY_EXHAUSTED, droppedCategory, droppedCount);
|
|
240
|
-
}
|
|
241
|
-
chunk6BNMYEMW_cjs.report(new Error(`morse: batch POST returned ${resp.status} ${bodySnippet}`), {
|
|
284
|
+
chunk4IUHXUCJ_cjs.report(new Error(`morse: batch POST returned ${resp.status} ${bodySnippet}`), {
|
|
242
285
|
fingerprint: "morse.transport.post.non_2xx",
|
|
243
|
-
extra: {
|
|
244
|
-
|
|
245
|
-
|
|
286
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
287
|
+
});
|
|
288
|
+
if (resp.status === 429) {
|
|
289
|
+
if (lastAttempt) {
|
|
290
|
+
chunk4IUHXUCJ_cjs.recordDrop(chunk4IUHXUCJ_cjs.REASON_QUOTA_REJECTED, droppedCategory, droppedCount);
|
|
291
|
+
return;
|
|
246
292
|
}
|
|
293
|
+
const retryAfter = parseRetryAfter(resp.headers.get("Retry-After"));
|
|
294
|
+
await sleepUntil((retryAfter ?? 0) * 1e3 + backoffDelayMs(attempt), deadline);
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
if (resp.status < 500) {
|
|
298
|
+
chunk4IUHXUCJ_cjs.recordDrop(
|
|
299
|
+
resp.status === 401 || resp.status === 403 ? chunk4IUHXUCJ_cjs.REASON_AUTH_REJECTED : chunk4IUHXUCJ_cjs.REASON_ENDPOINT_REJECTED,
|
|
300
|
+
droppedCategory,
|
|
301
|
+
droppedCount
|
|
302
|
+
);
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
if (lastAttempt || this.closed || Date.now() >= deadline) {
|
|
306
|
+
chunk4IUHXUCJ_cjs.recordDrop(dropReasonFor(attempt, this.closed, deadline), droppedCategory, droppedCount);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
await sleepUntil(backoffDelayMs(attempt), deadline);
|
|
310
|
+
continue;
|
|
311
|
+
} catch (err) {
|
|
312
|
+
chunk4IUHXUCJ_cjs.report(err, {
|
|
313
|
+
fingerprint: "morse.transport.post.network",
|
|
314
|
+
extra: { endpoint_host: hostnameOf(url), sdk_version: SDK_VERSION }
|
|
247
315
|
});
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
chunk6BNMYEMW_cjs.report(err, {
|
|
252
|
-
fingerprint: "morse.transport.post.network",
|
|
253
|
-
extra: {
|
|
254
|
-
endpoint_host: hostnameOf(url),
|
|
255
|
-
sdk_version: SDK_VERSION
|
|
316
|
+
if (lastAttempt || this.closed || Date.now() >= deadline) {
|
|
317
|
+
chunk4IUHXUCJ_cjs.recordDrop(dropReasonFor(attempt, this.closed, deadline), droppedCategory, droppedCount);
|
|
318
|
+
return;
|
|
256
319
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
320
|
+
await sleepUntil(backoffDelayMs(attempt), deadline);
|
|
321
|
+
continue;
|
|
322
|
+
} finally {
|
|
323
|
+
clearTimeout(timeoutId);
|
|
324
|
+
}
|
|
260
325
|
}
|
|
261
326
|
}
|
|
262
327
|
};
|
|
@@ -292,10 +357,10 @@ function categoryOf(payload) {
|
|
|
292
357
|
}
|
|
293
358
|
|
|
294
359
|
// src/index.ts
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
360
|
+
chunk4IUHXUCJ_cjs.init_tracing();
|
|
361
|
+
chunk4IUHXUCJ_cjs.init_diagnostics();
|
|
362
|
+
chunk4IUHXUCJ_cjs.init_spans();
|
|
363
|
+
chunk4IUHXUCJ_cjs.init_propagation();
|
|
299
364
|
var version = SDK_VERSION;
|
|
300
365
|
var singleton = null;
|
|
301
366
|
var transportFactory = (opts) => new BatchTransport(opts);
|
|
@@ -315,9 +380,9 @@ function logDestinationOnce(endpoint) {
|
|
|
315
380
|
}
|
|
316
381
|
function resolveEndpoint(explicit) {
|
|
317
382
|
if (explicit && explicit.length > 0) return explicit;
|
|
318
|
-
const fromEnv =
|
|
383
|
+
const fromEnv = chunk4IUHXUCJ_cjs.getEndpoint();
|
|
319
384
|
if (fromEnv) return fromEnv;
|
|
320
|
-
return
|
|
385
|
+
return chunk4IUHXUCJ_cjs.DEFAULT_ENDPOINT;
|
|
321
386
|
}
|
|
322
387
|
var OTLP_TRACES_PATH = "/api/v1/otlp/v1/traces";
|
|
323
388
|
function deriveOtlpEndpoint(tracesEndpoint) {
|
|
@@ -332,10 +397,10 @@ function deriveOtlpEndpoint(tracesEndpoint) {
|
|
|
332
397
|
}
|
|
333
398
|
}
|
|
334
399
|
function buildSingleton(opts, redaction) {
|
|
335
|
-
if (
|
|
400
|
+
if (chunk4IUHXUCJ_cjs.isDisabled()) {
|
|
336
401
|
return null;
|
|
337
402
|
}
|
|
338
|
-
const apiKey = opts.apiKey ??
|
|
403
|
+
const apiKey = opts.apiKey ?? chunk4IUHXUCJ_cjs.getApiKey();
|
|
339
404
|
if (!apiKey) {
|
|
340
405
|
if (!noApiKeyWarningEmitted) {
|
|
341
406
|
logger(
|
|
@@ -347,24 +412,24 @@ function buildSingleton(opts, redaction) {
|
|
|
347
412
|
return null;
|
|
348
413
|
}
|
|
349
414
|
const endpoint = resolveEndpoint(opts.endpoint);
|
|
350
|
-
const flushIntervalSeconds = opts.flushIntervalSeconds ??
|
|
415
|
+
const flushIntervalSeconds = opts.flushIntervalSeconds ?? chunk4IUHXUCJ_cjs.getFlushIntervalSeconds();
|
|
351
416
|
const transport = transportFactory({ apiKey, endpoint, flushIntervalSeconds });
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
const explicitSource =
|
|
356
|
-
const resolvedSource = explicitSource ??
|
|
357
|
-
|
|
417
|
+
chunk4IUHXUCJ_cjs.setTransport(transport);
|
|
418
|
+
chunk4IUHXUCJ_cjs.setRedactionConfig(redaction);
|
|
419
|
+
chunk4IUHXUCJ_cjs.setDiagnosticsClientConfig({ apiKey, endpoint });
|
|
420
|
+
const explicitSource = chunk4IUHXUCJ_cjs.isValidInternalSource(opts.source) ? opts.source : void 0;
|
|
421
|
+
const resolvedSource = explicitSource ?? chunk4IUHXUCJ_cjs.getInternalSource() ?? null;
|
|
422
|
+
chunk4IUHXUCJ_cjs.setSource(resolvedSource);
|
|
358
423
|
logDestinationOnce(endpoint);
|
|
359
424
|
try {
|
|
360
|
-
|
|
425
|
+
chunk4IUHXUCJ_cjs.getEngine().configure({
|
|
361
426
|
endpoint: deriveOtlpEndpoint(endpoint),
|
|
362
427
|
apiKey,
|
|
363
|
-
sampleRate:
|
|
428
|
+
sampleRate: chunk4IUHXUCJ_cjs.getSampleRate(),
|
|
364
429
|
scheduleDelayMillis: flushIntervalSeconds * 1e3,
|
|
365
|
-
maxQueueSize:
|
|
366
|
-
maxExportBatchSize:
|
|
367
|
-
maxFieldBytes:
|
|
430
|
+
maxQueueSize: chunk4IUHXUCJ_cjs.getMaxQueueSize(),
|
|
431
|
+
maxExportBatchSize: chunk4IUHXUCJ_cjs.getMaxBatchSize(),
|
|
432
|
+
maxFieldBytes: chunk4IUHXUCJ_cjs.getMaxFieldBytes(),
|
|
368
433
|
// 10s (not the exporter's un-overridden 30s ceiling): a genuine
|
|
369
434
|
// network blip still gets several retries with backoff; a fully dead
|
|
370
435
|
// endpoint fails within a bounded, shutdown-friendly window instead
|
|
@@ -373,32 +438,32 @@ function buildSingleton(opts, redaction) {
|
|
|
373
438
|
redactionConfig: redaction
|
|
374
439
|
});
|
|
375
440
|
} catch (err) {
|
|
376
|
-
|
|
441
|
+
chunk4IUHXUCJ_cjs.report(err, { fingerprint: "morse.otel_provider.configure" });
|
|
377
442
|
}
|
|
378
443
|
void installAdapters().catch(() => {
|
|
379
444
|
});
|
|
380
445
|
try {
|
|
381
446
|
maybeEnableDbCaptureFromEnv();
|
|
382
447
|
} catch (err) {
|
|
383
|
-
|
|
448
|
+
chunk4IUHXUCJ_cjs.report(err, { fingerprint: "morse.db_capture.register" });
|
|
384
449
|
}
|
|
385
450
|
return { apiKey, endpoint, transport, redaction };
|
|
386
451
|
}
|
|
387
452
|
function ensureInitialized() {
|
|
388
|
-
if (
|
|
453
|
+
if (chunk4IUHXUCJ_cjs.isDisabled()) return null;
|
|
389
454
|
if (singleton !== null) return singleton;
|
|
390
|
-
singleton = buildSingleton({},
|
|
455
|
+
singleton = buildSingleton({}, chunk4IUHXUCJ_cjs.buildRedactionConfig());
|
|
391
456
|
return singleton;
|
|
392
457
|
}
|
|
393
|
-
|
|
458
|
+
chunkLIP3XCTK_cjs._setEnsureInitialized(() => {
|
|
394
459
|
ensureInitialized();
|
|
395
460
|
});
|
|
396
461
|
function init(options = {}) {
|
|
397
|
-
if (
|
|
462
|
+
if (chunk4IUHXUCJ_cjs.isDisabled()) {
|
|
398
463
|
logger("info", "morse: MORSE_DISABLED=1 \u2014 SDK is a no-op");
|
|
399
464
|
return;
|
|
400
465
|
}
|
|
401
|
-
const redaction =
|
|
466
|
+
const redaction = chunk4IUHXUCJ_cjs.buildRedactionConfig(options.redaction);
|
|
402
467
|
try {
|
|
403
468
|
if (singleton !== null) {
|
|
404
469
|
void singleton.transport.shutdown();
|
|
@@ -406,10 +471,10 @@ function init(options = {}) {
|
|
|
406
471
|
}
|
|
407
472
|
singleton = buildSingleton(options, redaction);
|
|
408
473
|
} catch (err) {
|
|
409
|
-
|
|
474
|
+
chunk4IUHXUCJ_cjs.report(err, { fingerprint: "morse.init" });
|
|
410
475
|
}
|
|
411
476
|
}
|
|
412
|
-
var track =
|
|
477
|
+
var track = chunkPSNZZBQJ_cjs.absorbErrorsSync(
|
|
413
478
|
(options) => {
|
|
414
479
|
const state = ensureInitialized();
|
|
415
480
|
if (!state) return;
|
|
@@ -417,33 +482,33 @@ var track = chunk4CMVMTFB_cjs.absorbErrorsSync(
|
|
|
417
482
|
agent_id: options.agentId,
|
|
418
483
|
...options.runData
|
|
419
484
|
};
|
|
420
|
-
const redacted =
|
|
485
|
+
const redacted = chunk4IUHXUCJ_cjs.redactValue(payload, state.redaction);
|
|
421
486
|
state.transport.track(redacted);
|
|
422
487
|
},
|
|
423
488
|
{ fingerprint: "morse.track" }
|
|
424
489
|
);
|
|
425
|
-
var batchTrack =
|
|
490
|
+
var batchTrack = chunkPSNZZBQJ_cjs.absorbErrorsSync(
|
|
426
491
|
(runs) => {
|
|
427
492
|
const state = ensureInitialized();
|
|
428
493
|
if (!state) return;
|
|
429
494
|
for (const run2 of runs) {
|
|
430
|
-
const redacted =
|
|
495
|
+
const redacted = chunk4IUHXUCJ_cjs.redactValue(run2, state.redaction);
|
|
431
496
|
state.transport.track(redacted);
|
|
432
497
|
}
|
|
433
498
|
},
|
|
434
499
|
{ fingerprint: "morse.batch_track" }
|
|
435
500
|
);
|
|
436
|
-
var record =
|
|
501
|
+
var record = chunkPSNZZBQJ_cjs.absorbErrorsSync(
|
|
437
502
|
(rec) => {
|
|
438
503
|
const state = ensureInitialized();
|
|
439
504
|
if (!state) return;
|
|
440
|
-
const traceId =
|
|
441
|
-
const now =
|
|
505
|
+
const traceId = chunk4IUHXUCJ_cjs.generateTraceId();
|
|
506
|
+
const now = chunk4IUHXUCJ_cjs.nowIso();
|
|
442
507
|
const resolvedStatus = rec.errorMessage ? "failed" : rec.status ?? "completed";
|
|
443
508
|
const span2 = {
|
|
444
509
|
trace_id: traceId,
|
|
445
|
-
span_id:
|
|
446
|
-
type:
|
|
510
|
+
span_id: chunk4IUHXUCJ_cjs.generateSpanId(),
|
|
511
|
+
type: chunk4IUHXUCJ_cjs.SpanType.AGENT,
|
|
447
512
|
name: rec.agent,
|
|
448
513
|
started_at: now,
|
|
449
514
|
ended_at: now,
|
|
@@ -468,58 +533,58 @@ var record = chunk4CMVMTFB_cjs.absorbErrorsSync(
|
|
|
468
533
|
success: rec.success,
|
|
469
534
|
outcome: rec.outcome
|
|
470
535
|
};
|
|
471
|
-
const entry =
|
|
472
|
-
const redacted =
|
|
473
|
-
|
|
536
|
+
const entry = chunk4IUHXUCJ_cjs.buildTraceEntry(traceFields, [span2]);
|
|
537
|
+
const redacted = chunk4IUHXUCJ_cjs.redactValue(entry, state.redaction);
|
|
538
|
+
chunk4IUHXUCJ_cjs.sendTrace(redacted);
|
|
474
539
|
},
|
|
475
540
|
{ fingerprint: "morse.record" }
|
|
476
541
|
);
|
|
477
542
|
function run(nameOrOpts, fn) {
|
|
478
543
|
const opts = typeof nameOrOpts === "string" ? { agentName: nameOrOpts } : nameOrOpts;
|
|
479
544
|
ensureInitialized();
|
|
480
|
-
return
|
|
545
|
+
return chunk4IUHXUCJ_cjs.runSync(opts, fn);
|
|
481
546
|
}
|
|
482
547
|
function runTraced(options, fn) {
|
|
483
548
|
ensureInitialized();
|
|
484
|
-
return
|
|
549
|
+
return chunk4IUHXUCJ_cjs.runAsync(options, fn);
|
|
485
550
|
}
|
|
486
551
|
function setContext2(dims) {
|
|
487
|
-
|
|
552
|
+
chunk4IUHXUCJ_cjs.setContext(dims);
|
|
488
553
|
}
|
|
489
554
|
function startSpan2(options) {
|
|
490
|
-
return
|
|
555
|
+
return chunk4IUHXUCJ_cjs.startSpan(options);
|
|
491
556
|
}
|
|
492
557
|
function span(options, fn) {
|
|
493
|
-
return
|
|
558
|
+
return chunk4IUHXUCJ_cjs.spanSync(options, fn);
|
|
494
559
|
}
|
|
495
560
|
function spanAsync2(options, fn) {
|
|
496
|
-
return
|
|
561
|
+
return chunk4IUHXUCJ_cjs.spanAsync(options, fn);
|
|
497
562
|
}
|
|
498
|
-
var flush =
|
|
563
|
+
var flush = chunkPSNZZBQJ_cjs.absorbErrorsAsync(
|
|
499
564
|
async () => {
|
|
500
565
|
if (singleton !== null) {
|
|
501
566
|
await singleton.transport.flush();
|
|
502
|
-
await
|
|
567
|
+
await chunk4IUHXUCJ_cjs.getEngine().flush();
|
|
503
568
|
}
|
|
504
569
|
},
|
|
505
570
|
{ fingerprint: "morse.flush" }
|
|
506
571
|
);
|
|
507
|
-
var quotaState2 =
|
|
572
|
+
var quotaState2 = chunkPSNZZBQJ_cjs.absorbErrorsSync(
|
|
508
573
|
() => {
|
|
509
574
|
if (singleton === null) return null;
|
|
510
575
|
return getQuotaState();
|
|
511
576
|
},
|
|
512
577
|
{ fingerprint: "morse.quota_state" }
|
|
513
578
|
);
|
|
514
|
-
var shutdown =
|
|
579
|
+
var shutdown = chunkPSNZZBQJ_cjs.absorbErrorsAsync(
|
|
515
580
|
async () => {
|
|
516
581
|
if (singleton !== null) {
|
|
517
582
|
await singleton.transport.shutdown();
|
|
518
|
-
await
|
|
519
|
-
|
|
520
|
-
await
|
|
583
|
+
await chunk4IUHXUCJ_cjs.getEngine().flush();
|
|
584
|
+
chunk4IUHXUCJ_cjs.getEngine().shutdown();
|
|
585
|
+
await chunk4IUHXUCJ_cjs.flushOnce();
|
|
521
586
|
singleton = null;
|
|
522
|
-
|
|
587
|
+
chunk4IUHXUCJ_cjs.setTransport(null);
|
|
523
588
|
}
|
|
524
589
|
},
|
|
525
590
|
{ fingerprint: "morse.shutdown" }
|
|
@@ -528,14 +593,14 @@ function _resetForTesting4() {
|
|
|
528
593
|
if (singleton !== null) {
|
|
529
594
|
void singleton.transport.shutdown();
|
|
530
595
|
singleton = null;
|
|
531
|
-
|
|
596
|
+
chunk4IUHXUCJ_cjs.setTransport(null);
|
|
532
597
|
}
|
|
533
|
-
|
|
598
|
+
chunk4IUHXUCJ_cjs.getEngine().resetForTesting();
|
|
534
599
|
noApiKeyWarningEmitted = false;
|
|
535
600
|
lastLoggedEndpoint = null;
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
601
|
+
chunk4IUHXUCJ_cjs.setSource(null);
|
|
602
|
+
chunk4IUHXUCJ_cjs._resetForTesting2();
|
|
603
|
+
chunk4IUHXUCJ_cjs._resetForTesting();
|
|
539
604
|
_resetQuotaStateForTesting();
|
|
540
605
|
transportFactory = (opts) => new BatchTransport(opts);
|
|
541
606
|
}
|
|
@@ -543,59 +608,59 @@ function _setTransportFactoryForTesting(factory) {
|
|
|
543
608
|
transportFactory = factory;
|
|
544
609
|
}
|
|
545
610
|
function _getLastTraceForTesting() {
|
|
546
|
-
return
|
|
611
|
+
return chunk4IUHXUCJ_cjs.getLastTrace();
|
|
547
612
|
}
|
|
548
613
|
function _getActiveTraceStateForTesting() {
|
|
549
|
-
return
|
|
614
|
+
return chunk4IUHXUCJ_cjs.getActiveTraceState();
|
|
550
615
|
}
|
|
551
616
|
|
|
552
617
|
Object.defineProperty(exports, "MAX_SEGMENT_CONTENT_BYTES", {
|
|
553
618
|
enumerable: true,
|
|
554
|
-
get: function () { return
|
|
619
|
+
get: function () { return chunk33WDUUKZ_cjs.MAX_SEGMENT_CONTENT_BYTES; }
|
|
555
620
|
});
|
|
556
621
|
Object.defineProperty(exports, "extractAnthropicSegments", {
|
|
557
622
|
enumerable: true,
|
|
558
|
-
get: function () { return
|
|
623
|
+
get: function () { return chunk33WDUUKZ_cjs.extractAnthropicSegments; }
|
|
559
624
|
});
|
|
560
625
|
Object.defineProperty(exports, "instrumentAnthropic", {
|
|
561
626
|
enumerable: true,
|
|
562
|
-
get: function () { return
|
|
627
|
+
get: function () { return chunk33WDUUKZ_cjs.instrumentAnthropic; }
|
|
563
628
|
});
|
|
564
629
|
Object.defineProperty(exports, "isAnthropicWrapped", {
|
|
565
630
|
enumerable: true,
|
|
566
|
-
get: function () { return
|
|
631
|
+
get: function () { return chunk33WDUUKZ_cjs.isAnthropicWrapped; }
|
|
567
632
|
});
|
|
568
633
|
Object.defineProperty(exports, "uninstallAnthropic", {
|
|
569
634
|
enumerable: true,
|
|
570
|
-
get: function () { return
|
|
635
|
+
get: function () { return chunk33WDUUKZ_cjs.uninstallAnthropic; }
|
|
571
636
|
});
|
|
572
637
|
Object.defineProperty(exports, "wrapAnthropic", {
|
|
573
638
|
enumerable: true,
|
|
574
|
-
get: function () { return
|
|
639
|
+
get: function () { return chunk33WDUUKZ_cjs.wrapAnthropic; }
|
|
575
640
|
});
|
|
576
641
|
Object.defineProperty(exports, "log", {
|
|
577
642
|
enumerable: true,
|
|
578
|
-
get: function () { return
|
|
643
|
+
get: function () { return chunkLIP3XCTK_cjs.log; }
|
|
579
644
|
});
|
|
580
645
|
Object.defineProperty(exports, "W3C_TRACEPARENT_HEADER", {
|
|
581
646
|
enumerable: true,
|
|
582
|
-
get: function () { return
|
|
647
|
+
get: function () { return chunk4IUHXUCJ_cjs.W3C_TRACEPARENT_HEADER; }
|
|
583
648
|
});
|
|
584
649
|
Object.defineProperty(exports, "extractTraceparent", {
|
|
585
650
|
enumerable: true,
|
|
586
|
-
get: function () { return
|
|
651
|
+
get: function () { return chunk4IUHXUCJ_cjs.extractTraceparent; }
|
|
587
652
|
});
|
|
588
653
|
Object.defineProperty(exports, "formatTraceparent", {
|
|
589
654
|
enumerable: true,
|
|
590
|
-
get: function () { return
|
|
655
|
+
get: function () { return chunk4IUHXUCJ_cjs.formatTraceparent; }
|
|
591
656
|
});
|
|
592
657
|
Object.defineProperty(exports, "injectIntoRequestInit", {
|
|
593
658
|
enumerable: true,
|
|
594
|
-
get: function () { return
|
|
659
|
+
get: function () { return chunk4IUHXUCJ_cjs.injectIntoRequestInit; }
|
|
595
660
|
});
|
|
596
661
|
Object.defineProperty(exports, "injectTraceparent", {
|
|
597
662
|
enumerable: true,
|
|
598
|
-
get: function () { return
|
|
663
|
+
get: function () { return chunk4IUHXUCJ_cjs.injectTraceparent; }
|
|
599
664
|
});
|
|
600
665
|
exports._getActiveTraceStateForTesting = _getActiveTraceStateForTesting;
|
|
601
666
|
exports._getLastTraceForTesting = _getLastTraceForTesting;
|