@morsehq-dev/sdk 0.5.0-rc.5 → 0.5.0-rc.6
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/anthropic/index.cjs +11 -11
- package/dist/anthropic/index.js +4 -4
- package/dist/anthropic-agent-sdk/index.cjs +40 -40
- package/dist/anthropic-agent-sdk/index.js +6 -6
- package/dist/browser/anthropic/index.cjs +11 -11
- package/dist/browser/anthropic/index.js +4 -4
- package/dist/browser/anthropic-agent-sdk/index.cjs +40 -40
- package/dist/browser/anthropic-agent-sdk/index.js +6 -6
- package/dist/browser/{chunk-EH326H6U.js → chunk-2LZCQD3J.js} +3 -3
- package/dist/browser/{chunk-EH326H6U.js.map → chunk-2LZCQD3J.js.map} +1 -1
- package/dist/browser/{chunk-QAFFDJFK.cjs → chunk-6YPVIGD2.cjs} +6 -6
- package/dist/browser/{chunk-QAFFDJFK.cjs.map → chunk-6YPVIGD2.cjs.map} +1 -1
- package/dist/browser/{chunk-WGWPCVYB.cjs → chunk-DQ4JWHYH.cjs} +18 -18
- package/dist/browser/{chunk-WGWPCVYB.cjs.map → chunk-DQ4JWHYH.cjs.map} +1 -1
- package/dist/browser/{chunk-CI7M2GHD.js → chunk-FDWPKINR.js} +4 -4
- package/dist/browser/{chunk-CI7M2GHD.js.map → chunk-FDWPKINR.js.map} +1 -1
- package/dist/browser/{chunk-64YI3IZS.js → chunk-IXCAR4UA.js} +3 -3
- package/dist/browser/{chunk-64YI3IZS.js.map → chunk-IXCAR4UA.js.map} +1 -1
- package/dist/browser/{chunk-MIB3EOC4.js → chunk-JNF26SQM.js} +5 -5
- package/dist/browser/{chunk-MIB3EOC4.js.map → chunk-JNF26SQM.js.map} +1 -1
- package/dist/browser/{chunk-V7AUPQIJ.js → chunk-MIHCAKQ2.js} +22 -14
- package/dist/browser/chunk-MIHCAKQ2.js.map +1 -0
- package/dist/browser/{chunk-WR2SQLKP.cjs → chunk-NK6D2G5O.cjs} +7 -7
- package/dist/browser/{chunk-WR2SQLKP.cjs.map → chunk-NK6D2G5O.cjs.map} +1 -1
- package/dist/browser/{chunk-GLL57K7P.js → chunk-PHE4P3DN.js} +3 -3
- package/dist/browser/{chunk-GLL57K7P.js.map → chunk-PHE4P3DN.js.map} +1 -1
- package/dist/{chunk-SJ625SQS.cjs → browser/chunk-PNUCUOUA.cjs} +15 -15
- package/dist/browser/{chunk-ZVVUZRG7.cjs.map → chunk-PNUCUOUA.cjs.map} +1 -1
- package/dist/browser/{chunk-47GVOQB4.cjs → chunk-TGN4FEKB.cjs} +12 -12
- package/dist/browser/{chunk-47GVOQB4.cjs.map → chunk-TGN4FEKB.cjs.map} +1 -1
- package/dist/{chunk-MNV4HASC.js → browser/chunk-TIZ5QRK2.js} +4 -4
- package/dist/browser/{chunk-UL5TNXQL.js.map → chunk-TIZ5QRK2.js.map} +1 -1
- package/dist/browser/{chunk-IHIS62VS.cjs → chunk-WG45SF7N.cjs} +22 -14
- package/dist/browser/chunk-WG45SF7N.cjs.map +1 -0
- package/dist/browser/{chunk-26Q2QD5J.cjs → chunk-ZAISDHUV.cjs} +5 -5
- package/dist/browser/{chunk-26Q2QD5J.cjs.map → chunk-ZAISDHUV.cjs.map} +1 -1
- package/dist/browser/index.cjs +91 -91
- package/dist/browser/index.js +8 -8
- package/dist/browser/integrations/pino.cjs +4 -4
- package/dist/browser/integrations/pino.js +3 -3
- package/dist/browser/langchain/index.cjs +17 -17
- package/dist/browser/langchain/index.js +2 -2
- package/dist/browser/langgraph/index.cjs +27 -27
- package/dist/browser/langgraph/index.js +5 -5
- package/dist/browser/openai/index.cjs +11 -11
- package/dist/browser/openai/index.js +2 -2
- package/dist/browser/openai-agents/index.cjs +34 -34
- package/dist/browser/openai-agents/index.js +4 -4
- package/dist/browser/vercel-ai/index.cjs +14 -14
- package/dist/browser/vercel-ai/index.js +3 -3
- package/dist/{chunk-QZDUGEIR.js → chunk-2GWOF5JM.js} +3 -3
- package/dist/{chunk-QZDUGEIR.js.map → chunk-2GWOF5JM.js.map} +1 -1
- package/dist/{chunk-DPW4W7H7.cjs → chunk-4QY5O46P.cjs} +18 -18
- package/dist/{chunk-DPW4W7H7.cjs.map → chunk-4QY5O46P.cjs.map} +1 -1
- package/dist/{chunk-ELVBOJWY.js → chunk-5YJXFU5U.js} +22 -14
- package/dist/chunk-5YJXFU5U.js.map +1 -0
- package/dist/{chunk-Z5MFR7UE.cjs → chunk-AT3YR5SP.cjs} +5 -5
- package/dist/{chunk-Z5MFR7UE.cjs.map → chunk-AT3YR5SP.cjs.map} +1 -1
- package/dist/{chunk-DGBQ3UI6.cjs → chunk-B3WEUUUK.cjs} +7 -7
- package/dist/{chunk-DGBQ3UI6.cjs.map → chunk-B3WEUUUK.cjs.map} +1 -1
- package/dist/{chunk-7I4ILCLY.js → chunk-DK3RX7RS.js} +4 -4
- package/dist/{chunk-7I4ILCLY.js.map → chunk-DK3RX7RS.js.map} +1 -1
- package/dist/{chunk-I3P5CHBV.cjs → chunk-K4FHTOBB.cjs} +12 -12
- package/dist/{chunk-I3P5CHBV.cjs.map → chunk-K4FHTOBB.cjs.map} +1 -1
- package/dist/{browser/chunk-UL5TNXQL.js → chunk-LEDIWC2M.js} +4 -4
- package/dist/{chunk-MNV4HASC.js.map → chunk-LEDIWC2M.js.map} +1 -1
- package/dist/{chunk-YKPZQPEW.js → chunk-QTATKDEI.js} +3 -3
- package/dist/{chunk-YKPZQPEW.js.map → chunk-QTATKDEI.js.map} +1 -1
- package/dist/{chunk-HONYN2OI.js → chunk-T5UFHQLZ.js} +3 -3
- package/dist/{chunk-HONYN2OI.js.map → chunk-T5UFHQLZ.js.map} +1 -1
- package/dist/{chunk-RRE2LX2A.cjs → chunk-TEWSIQ6E.cjs} +6 -6
- package/dist/{chunk-RRE2LX2A.cjs.map → chunk-TEWSIQ6E.cjs.map} +1 -1
- package/dist/{chunk-DQ4T2MJE.cjs → chunk-UV5FUVNK.cjs} +22 -14
- package/dist/chunk-UV5FUVNK.cjs.map +1 -0
- package/dist/{chunk-NR36TJMT.js → chunk-Z2AYPTB2.js} +5 -5
- package/dist/{chunk-NR36TJMT.js.map → chunk-Z2AYPTB2.js.map} +1 -1
- package/dist/{browser/chunk-ZVVUZRG7.cjs → chunk-ZFZTJXIO.cjs} +15 -15
- package/dist/{chunk-SJ625SQS.cjs.map → chunk-ZFZTJXIO.cjs.map} +1 -1
- package/dist/index.cjs +98 -98
- package/dist/index.js +9 -9
- package/dist/integrations/pino.cjs +4 -4
- package/dist/integrations/pino.js +3 -3
- package/dist/langchain/index.cjs +17 -17
- package/dist/langchain/index.js +2 -2
- package/dist/langgraph/index.cjs +27 -27
- package/dist/langgraph/index.js +5 -5
- package/dist/openai/index.cjs +11 -11
- package/dist/openai/index.js +2 -2
- package/dist/openai-agents/index.cjs +34 -34
- package/dist/openai-agents/index.js +4 -4
- 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-IHIS62VS.cjs.map +0 -1
- package/dist/browser/chunk-V7AUPQIJ.js.map +0 -1
- package/dist/chunk-DQ4T2MJE.cjs.map +0 -1
- package/dist/chunk-ELVBOJWY.js.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var chunkDQ4JWHYH_cjs = require('../chunk-DQ4JWHYH.cjs');
|
|
4
|
+
require('../chunk-ZAISDHUV.cjs');
|
|
5
|
+
var chunkNK6D2G5O_cjs = require('../chunk-NK6D2G5O.cjs');
|
|
6
|
+
var chunkPNUCUOUA_cjs = require('../chunk-PNUCUOUA.cjs');
|
|
7
|
+
var chunk6YPVIGD2_cjs = require('../chunk-6YPVIGD2.cjs');
|
|
8
8
|
var chunkSWQOPFE4_cjs = require('../chunk-SWQOPFE4.cjs');
|
|
9
9
|
require('../chunk-RBNCTHK3.cjs');
|
|
10
|
-
var
|
|
10
|
+
var chunkWG45SF7N_cjs = require('../chunk-WG45SF7N.cjs');
|
|
11
11
|
|
|
12
12
|
// src/anthropic-agent-sdk/client-wrapper.ts
|
|
13
|
-
|
|
13
|
+
chunkWG45SF7N_cjs.init_tracing();
|
|
14
14
|
var WRAPPED_CLIENT = /* @__PURE__ */ Symbol.for("morse.anthropic-agent-sdk.wrapped");
|
|
15
15
|
function wrapClaudeAgentSDK(client, options = {}) {
|
|
16
16
|
if (!client || typeof client !== "object") return client;
|
|
@@ -34,7 +34,7 @@ function wrapClaudeAgentSDK(client, options = {}) {
|
|
|
34
34
|
});
|
|
35
35
|
return wrapper;
|
|
36
36
|
}
|
|
37
|
-
var instrumentClaudeAgentSDK =
|
|
37
|
+
var instrumentClaudeAgentSDK = chunk6YPVIGD2_cjs.absorbErrorsAsync(
|
|
38
38
|
async (client = void 0, maybeOptions = {}) => {
|
|
39
39
|
if (client && isClient(client)) return wrapClaudeAgentSDK(client, maybeOptions);
|
|
40
40
|
return false;
|
|
@@ -57,7 +57,7 @@ function buildPatchedQuery(original, options) {
|
|
|
57
57
|
const boundOriginal = (p, o) => original.call(this, p, o);
|
|
58
58
|
const model = (callOptions && typeof callOptions.model === "string" ? callOptions.model : void 0) ?? defaultModel;
|
|
59
59
|
async function* iterateInTrace2() {
|
|
60
|
-
const handle =
|
|
60
|
+
const handle = chunkPNUCUOUA_cjs.emitAgentSpan({
|
|
61
61
|
adapter: "anthropic-agent-sdk",
|
|
62
62
|
agentName: defaultAgentName,
|
|
63
63
|
model
|
|
@@ -80,7 +80,7 @@ function buildPatchedQuery(original, options) {
|
|
|
80
80
|
}
|
|
81
81
|
handle?.end();
|
|
82
82
|
}
|
|
83
|
-
if (
|
|
83
|
+
if (chunkWG45SF7N_cjs.getActiveTraceState() !== null) {
|
|
84
84
|
return iterateInTrace2();
|
|
85
85
|
}
|
|
86
86
|
return (async function* outerTrace() {
|
|
@@ -96,7 +96,7 @@ function buildPatchedQuery(original, options) {
|
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
|
-
const runPromise =
|
|
99
|
+
const runPromise = chunkWG45SF7N_cjs.runAsync({ agentName: defaultAgentName }, async (runHandle) => {
|
|
100
100
|
try {
|
|
101
101
|
for await (const event of iterateInTrace2()) {
|
|
102
102
|
queue.push({ kind: "value", value: event });
|
|
@@ -132,10 +132,10 @@ function buildPatchedQuery(original, options) {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// src/_agent-sdk-common/context-propagation.ts
|
|
135
|
-
|
|
136
|
-
var captureParentForFanOut =
|
|
135
|
+
chunkWG45SF7N_cjs.init_tracing();
|
|
136
|
+
var captureParentForFanOut = chunk6YPVIGD2_cjs.absorbErrorsSync(
|
|
137
137
|
() => {
|
|
138
|
-
const state =
|
|
138
|
+
const state = chunkWG45SF7N_cjs.getActiveTraceState();
|
|
139
139
|
if (state === null) return null;
|
|
140
140
|
const top = state.spanStack[state.spanStack.length - 1];
|
|
141
141
|
if (!top) return null;
|
|
@@ -146,13 +146,13 @@ var captureParentForFanOut = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
|
146
146
|
},
|
|
147
147
|
{ fingerprint: "agent-sdk-common.captureParentForFanOut" }
|
|
148
148
|
);
|
|
149
|
-
var emitWithPinnedParent =
|
|
149
|
+
var emitWithPinnedParent = chunk6YPVIGD2_cjs.absorbErrorsSync(
|
|
150
150
|
(opts) => {
|
|
151
|
-
const state =
|
|
151
|
+
const state = chunkWG45SF7N_cjs.getActiveTraceState();
|
|
152
152
|
if (state === null) return null;
|
|
153
153
|
const snap = opts.snapshot;
|
|
154
154
|
if (!snap || snap.traceId !== state.traceId) return null;
|
|
155
|
-
const handle =
|
|
155
|
+
const handle = chunkWG45SF7N_cjs.startSpan({
|
|
156
156
|
name: opts.name,
|
|
157
157
|
type: opts.type,
|
|
158
158
|
metadata: opts.metadata
|
|
@@ -174,13 +174,13 @@ function findSpanById(state, spanId) {
|
|
|
174
174
|
}
|
|
175
175
|
return void 0;
|
|
176
176
|
}
|
|
177
|
-
var emitAsToolSibling =
|
|
177
|
+
var emitAsToolSibling = chunk6YPVIGD2_cjs.absorbErrorsSync(
|
|
178
178
|
(opts) => {
|
|
179
|
-
const state =
|
|
179
|
+
const state = chunkWG45SF7N_cjs.getActiveTraceState();
|
|
180
180
|
if (state === null) return null;
|
|
181
181
|
const tool = findSpanById(state, opts.toolSpanId);
|
|
182
182
|
if (!tool) return null;
|
|
183
|
-
const handle =
|
|
183
|
+
const handle = chunkWG45SF7N_cjs.startSpan({
|
|
184
184
|
name: opts.name,
|
|
185
185
|
type: opts.type,
|
|
186
186
|
metadata: opts.metadata
|
|
@@ -191,9 +191,9 @@ var emitAsToolSibling = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
|
191
191
|
},
|
|
192
192
|
{ fingerprint: "agent-sdk-common.emitAsToolSibling" }
|
|
193
193
|
);
|
|
194
|
-
|
|
194
|
+
chunk6YPVIGD2_cjs.absorbErrorsSync(
|
|
195
195
|
() => {
|
|
196
|
-
const state =
|
|
196
|
+
const state = chunkWG45SF7N_cjs.getActiveTraceState();
|
|
197
197
|
if (state === null) return null;
|
|
198
198
|
return {
|
|
199
199
|
traceId: state.traceId,
|
|
@@ -238,7 +238,7 @@ var _handleHookEvent = (payload, options) => {
|
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
const fallback =
|
|
241
|
+
const fallback = chunkPNUCUOUA_cjs.emitHookSpan({
|
|
242
242
|
adapter: "anthropic-agent-sdk",
|
|
243
243
|
hookName: name,
|
|
244
244
|
hookKind: kind,
|
|
@@ -248,7 +248,7 @@ var _handleHookEvent = (payload, options) => {
|
|
|
248
248
|
fallback.end();
|
|
249
249
|
}
|
|
250
250
|
};
|
|
251
|
-
var handleHookEvent =
|
|
251
|
+
var handleHookEvent = chunk6YPVIGD2_cjs.absorbErrorsSync(_handleHookEvent, {
|
|
252
252
|
fingerprint: "morse.anthropic-agent-sdk.hook-instrumentation.handle"
|
|
253
253
|
});
|
|
254
254
|
function installHookInstrumentation(client, options) {
|
|
@@ -276,7 +276,7 @@ function installHookInstrumentation(client, options) {
|
|
|
276
276
|
}
|
|
277
277
|
|
|
278
278
|
// src/anthropic-agent-sdk/llm-instrumentation.ts
|
|
279
|
-
|
|
279
|
+
chunkWG45SF7N_cjs.init_diagnostics();
|
|
280
280
|
function readInputTokens(usage) {
|
|
281
281
|
if (usage === void 0 || usage === null || typeof usage !== "object") return void 0;
|
|
282
282
|
const base = typeof usage.input_tokens === "number" && Number.isFinite(usage.input_tokens) ? usage.input_tokens : 0;
|
|
@@ -343,7 +343,7 @@ async function* instrumentLlmCalls(events, options) {
|
|
|
343
343
|
const reportedModel = typeof event.message?.model === "string" && event.message.model.length > 0 ? event.message.model : void 0;
|
|
344
344
|
const model = reportedModel ?? fallbackModel;
|
|
345
345
|
if (!model) return;
|
|
346
|
-
const handle =
|
|
346
|
+
const handle = chunkPNUCUOUA_cjs.emitLlmSpan({ adapter: "anthropic-agent-sdk", model });
|
|
347
347
|
if (!handle) return;
|
|
348
348
|
const usage = event.message?.usage;
|
|
349
349
|
const inputTokens = readInputTokens(usage);
|
|
@@ -360,7 +360,7 @@ async function* instrumentLlmCalls(events, options) {
|
|
|
360
360
|
applyCost(handle, model, inputTokens, outputTokens, cacheWriteTokens, cachedInputTokens);
|
|
361
361
|
if (requestParams !== void 0) {
|
|
362
362
|
try {
|
|
363
|
-
const segments =
|
|
363
|
+
const segments = chunkDQ4JWHYH_cjs.extractAnthropicSegments(
|
|
364
364
|
requestParams,
|
|
365
365
|
event.message
|
|
366
366
|
);
|
|
@@ -383,7 +383,7 @@ async function* instrumentLlmCalls(events, options) {
|
|
|
383
383
|
if (model === void 0 || model.length === 0) {
|
|
384
384
|
return;
|
|
385
385
|
}
|
|
386
|
-
openSpan =
|
|
386
|
+
openSpan = chunkPNUCUOUA_cjs.emitLlmSpan({
|
|
387
387
|
adapter: "anthropic-agent-sdk",
|
|
388
388
|
model
|
|
389
389
|
});
|
|
@@ -425,7 +425,7 @@ async function* instrumentLlmCalls(events, options) {
|
|
|
425
425
|
}
|
|
426
426
|
if (requestParams !== void 0) {
|
|
427
427
|
try {
|
|
428
|
-
const segments =
|
|
428
|
+
const segments = chunkDQ4JWHYH_cjs.extractAnthropicSegments(
|
|
429
429
|
requestParams,
|
|
430
430
|
event.message
|
|
431
431
|
);
|
|
@@ -453,13 +453,13 @@ async function* instrumentLlmCalls(events, options) {
|
|
|
453
453
|
}
|
|
454
454
|
function reportSwallowed(err, fingerprint) {
|
|
455
455
|
try {
|
|
456
|
-
|
|
456
|
+
chunkWG45SF7N_cjs.report(err, { fingerprint });
|
|
457
457
|
} catch {
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
460
|
|
|
461
461
|
// src/anthropic-agent-sdk/tool-and-subagent.ts
|
|
462
|
-
|
|
462
|
+
chunkWG45SF7N_cjs.init_diagnostics();
|
|
463
463
|
var ADAPTER = "anthropic-agent-sdk";
|
|
464
464
|
var TASK_TOOL_NAME = "Task";
|
|
465
465
|
function safeCloseFailed(handle, message) {
|
|
@@ -505,7 +505,7 @@ async function* instrumentTools(events, options) {
|
|
|
505
505
|
tool_use_id: toolUseId
|
|
506
506
|
};
|
|
507
507
|
if (taskPrompt !== void 0) {
|
|
508
|
-
metadata.task_description =
|
|
508
|
+
metadata.task_description = chunkNK6D2G5O_cjs.summarizeToolInput(taskPrompt, inputOpts);
|
|
509
509
|
}
|
|
510
510
|
let handle2 = null;
|
|
511
511
|
try {
|
|
@@ -527,10 +527,10 @@ async function* instrumentTools(events, options) {
|
|
|
527
527
|
}
|
|
528
528
|
let handle = null;
|
|
529
529
|
try {
|
|
530
|
-
handle =
|
|
530
|
+
handle = chunkPNUCUOUA_cjs.emitToolSpan({
|
|
531
531
|
adapter: ADAPTER,
|
|
532
532
|
toolName: name,
|
|
533
|
-
inputSummary:
|
|
533
|
+
inputSummary: chunkNK6D2G5O_cjs.summarizeToolInput(event.input, inputOpts),
|
|
534
534
|
attributes: { tool_use_id: toolUseId }
|
|
535
535
|
});
|
|
536
536
|
} catch {
|
|
@@ -547,7 +547,7 @@ async function* instrumentTools(events, options) {
|
|
|
547
547
|
open.delete(toolUseId);
|
|
548
548
|
const isError = event.is_error === true;
|
|
549
549
|
try {
|
|
550
|
-
const outputSummary =
|
|
550
|
+
const outputSummary = chunkNK6D2G5O_cjs.summarizeToolOutput(event.content, outputOpts);
|
|
551
551
|
entry.handle.span.metadata = {
|
|
552
552
|
...entry.handle.span.metadata ?? {},
|
|
553
553
|
tool_output_summary: outputSummary
|
|
@@ -619,15 +619,15 @@ async function* instrumentTools(events, options) {
|
|
|
619
619
|
}
|
|
620
620
|
function reportSwallowed2(err, fingerprint) {
|
|
621
621
|
try {
|
|
622
|
-
|
|
622
|
+
chunkWG45SF7N_cjs.report(err, { fingerprint });
|
|
623
623
|
} catch {
|
|
624
624
|
}
|
|
625
625
|
}
|
|
626
626
|
|
|
627
627
|
// src/anthropic-agent-sdk/trace-bridge.ts
|
|
628
|
-
|
|
628
|
+
chunkWG45SF7N_cjs.init_tracing();
|
|
629
629
|
function iterateInTrace(agentName, makeGenerator) {
|
|
630
|
-
if (
|
|
630
|
+
if (chunkWG45SF7N_cjs.getActiveTraceState() !== null) {
|
|
631
631
|
return makeGenerator();
|
|
632
632
|
}
|
|
633
633
|
return (async function* outerTrace() {
|
|
@@ -643,7 +643,7 @@ function iterateInTrace(agentName, makeGenerator) {
|
|
|
643
643
|
};
|
|
644
644
|
}
|
|
645
645
|
});
|
|
646
|
-
const runPromise =
|
|
646
|
+
const runPromise = chunkWG45SF7N_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
647
647
|
try {
|
|
648
648
|
for await (const event of makeGenerator()) {
|
|
649
649
|
queue.push({ kind: "value", value: event });
|
|
@@ -692,7 +692,7 @@ function wrapClaudeAgentQuery(query, options = {}) {
|
|
|
692
692
|
async function* withAgentSpan() {
|
|
693
693
|
if (!opened) {
|
|
694
694
|
opened = true;
|
|
695
|
-
handle =
|
|
695
|
+
handle = chunkPNUCUOUA_cjs.emitAgentSpan({
|
|
696
696
|
adapter: "anthropic-agent-sdk",
|
|
697
697
|
agentName: options.defaultAgentName ?? "claude-agent-sdk",
|
|
698
698
|
model
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { extractAnthropicSegments } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import { summarizeToolInput, summarizeToolOutput } from '../chunk-
|
|
4
|
-
import { emitHookSpan, emitAgentSpan, emitLlmSpan, emitToolSpan } from '../chunk-
|
|
5
|
-
import { absorbErrorsAsync, absorbErrorsSync } from '../chunk-
|
|
1
|
+
import { extractAnthropicSegments } from '../chunk-JNF26SQM.js';
|
|
2
|
+
import '../chunk-PHE4P3DN.js';
|
|
3
|
+
import { summarizeToolInput, summarizeToolOutput } from '../chunk-IXCAR4UA.js';
|
|
4
|
+
import { emitHookSpan, emitAgentSpan, emitLlmSpan, emitToolSpan } from '../chunk-TIZ5QRK2.js';
|
|
5
|
+
import { absorbErrorsAsync, absorbErrorsSync } from '../chunk-2LZCQD3J.js';
|
|
6
6
|
import { calculateCost } from '../chunk-4FALQMOZ.js';
|
|
7
7
|
import '../chunk-MLDVXMQD.js';
|
|
8
|
-
import { init_tracing, getActiveTraceState, startSpan, init_diagnostics, runAsync, report } from '../chunk-
|
|
8
|
+
import { init_tracing, getActiveTraceState, startSpan, init_diagnostics, runAsync, report } from '../chunk-MIHCAKQ2.js';
|
|
9
9
|
|
|
10
10
|
// src/anthropic-agent-sdk/client-wrapper.ts
|
|
11
11
|
init_tracing();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { init_diagnostics, report } from './chunk-
|
|
1
|
+
import { init_diagnostics, report } from './chunk-MIHCAKQ2.js';
|
|
2
2
|
|
|
3
3
|
// src/_internal/errors.ts
|
|
4
4
|
init_diagnostics();
|
|
@@ -24,5 +24,5 @@ function absorbErrorsAsync(fn, options) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export { absorbErrorsAsync, absorbErrorsSync };
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
28
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-2LZCQD3J.js.map
|
|
28
|
+
//# sourceMappingURL=chunk-2LZCQD3J.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/_internal/errors.ts"],"names":[],"mappings":";;;AAsBA,gBAAA,EAAA;AAiBO,SAAS,gBAAA,CACd,IACA,OAAA,EACyC;AACzC,EAAA,OAAO,IAAI,IAAA,KAAqC;AAC9C,IAAA,IAAI;AACF,MAAA,OAAO,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACnB,SAAS,GAAA,EAAK;AACZ,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF;AAOO,SAAS,iBAAA,CACd,IACA,OAAA,EACkD;AAClD,EAAA,OAAO,UAAU,IAAA,KAA8C;AAC7D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACzB,SAAS,GAAA,EAAK;AACZ,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/_internal/errors.ts"],"names":[],"mappings":";;;AAsBA,gBAAA,EAAA;AAiBO,SAAS,gBAAA,CACd,IACA,OAAA,EACyC;AACzC,EAAA,OAAO,IAAI,IAAA,KAAqC;AAC9C,IAAA,IAAI;AACF,MAAA,OAAO,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACnB,SAAS,GAAA,EAAK;AACZ,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF;AAOO,SAAS,iBAAA,CACd,IACA,OAAA,EACkD;AAClD,EAAA,OAAO,UAAU,IAAA,KAA8C;AAC7D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACzB,SAAS,GAAA,EAAK;AACZ,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF","file":"chunk-2LZCQD3J.js","sourcesContent":["/**\n * Non-invasive error isolation — the foundational SDK guarantee.\n *\n * Mirrors Python's `_internal/errors.py` `@absorb_errors` decorator. Every\n * public SDK function and every adapter-installed wrapper is wrapped with\n * `absorbErrors()`. The wrapper catches all exceptions and reports them\n * out-of-band to Morse's own diagnostics endpoint, then returns a benign value\n * (typically `undefined`) instead of propagating.\n *\n * Foundational principle:\n *\n * Telemetry must never break the host application.\n *\n * The customer's call returns its original result (or `undefined`)\n * regardless of whether the SDK's recording path succeeded.\n *\n * Note on async: TypeScript-land has no `KeyboardInterrupt` equivalent —\n * the analogue is \"no exceptions are special\". We absorb everything,\n * and rely on Node's `process.exit` / browser navigation to tear down\n * the runtime cleanly.\n */\n\nimport { report } from \"./diagnostics\";\n\nexport interface AbsorbErrorsOptions {\n /**\n * Stable identifier for grouping. Used for server-side grouping and\n * the rate limiter (max 100 events per fingerprint per minute).\n */\n fingerprint: string;\n /** Optional metadata attached to the report; scrubbed against an allow-list. */\n extra?: Record<string, unknown>;\n}\n\n/**\n * Wrap a synchronous function so that any thrown exception is absorbed\n * (reported out-of-band) instead of propagating. Returns `undefined` on\n * absorbed error.\n */\nexport function absorbErrorsSync<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => TReturn,\n options: AbsorbErrorsOptions,\n): (...args: TArgs) => TReturn | undefined {\n return (...args: TArgs): TReturn | undefined => {\n try {\n return fn(...args);\n } catch (err) {\n report(err, options);\n return undefined;\n }\n };\n}\n\n/**\n * Wrap an async function so that any rejection or thrown exception is\n * absorbed (reported out-of-band) instead of propagating. Returns\n * `undefined` on absorbed error.\n */\nexport function absorbErrorsAsync<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => Promise<TReturn>,\n options: AbsorbErrorsOptions,\n): (...args: TArgs) => Promise<TReturn | undefined> {\n return async (...args: TArgs): Promise<TReturn | undefined> => {\n try {\n return await fn(...args);\n } catch (err) {\n report(err, options);\n return undefined;\n }\n };\n}\n\n/**\n * Higher-order alias chosen to read like the Python decorator: pass a\n * function in, get a wrapped version back. Resolves to the sync or async\n * variant based on the runtime return value (a Promise). Defaults to\n * sync at the type level; use `absorbErrorsAsync` directly for proper\n * async typing.\n */\nexport const absorbErrors = absorbErrorsSync;\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkWG45SF7N_cjs = require('./chunk-WG45SF7N.cjs');
|
|
4
4
|
|
|
5
5
|
// src/_internal/errors.ts
|
|
6
|
-
|
|
6
|
+
chunkWG45SF7N_cjs.init_diagnostics();
|
|
7
7
|
function absorbErrorsSync(fn, options) {
|
|
8
8
|
return (...args) => {
|
|
9
9
|
try {
|
|
10
10
|
return fn(...args);
|
|
11
11
|
} catch (err) {
|
|
12
|
-
|
|
12
|
+
chunkWG45SF7N_cjs.report(err, options);
|
|
13
13
|
return void 0;
|
|
14
14
|
}
|
|
15
15
|
};
|
|
@@ -19,7 +19,7 @@ function absorbErrorsAsync(fn, options) {
|
|
|
19
19
|
try {
|
|
20
20
|
return await fn(...args);
|
|
21
21
|
} catch (err) {
|
|
22
|
-
|
|
22
|
+
chunkWG45SF7N_cjs.report(err, options);
|
|
23
23
|
return void 0;
|
|
24
24
|
}
|
|
25
25
|
};
|
|
@@ -27,5 +27,5 @@ function absorbErrorsAsync(fn, options) {
|
|
|
27
27
|
|
|
28
28
|
exports.absorbErrorsAsync = absorbErrorsAsync;
|
|
29
29
|
exports.absorbErrorsSync = absorbErrorsSync;
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-6YPVIGD2.cjs.map
|
|
31
|
+
//# sourceMappingURL=chunk-6YPVIGD2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/_internal/errors.ts"],"names":["init_diagnostics","report"],"mappings":";;;;;AAsBAA,kCAAA,EAAA;AAiBO,SAAS,gBAAA,CACd,IACA,OAAA,EACyC;AACzC,EAAA,OAAO,IAAI,IAAA,KAAqC;AAC9C,IAAA,IAAI;AACF,MAAA,OAAO,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACnB,SAAS,GAAA,EAAK;AACZ,MAAAC,wBAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF;AAOO,SAAS,iBAAA,CACd,IACA,OAAA,EACkD;AAClD,EAAA,OAAO,UAAU,IAAA,KAA8C;AAC7D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACzB,SAAS,GAAA,EAAK;AACZ,MAAAA,wBAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/_internal/errors.ts"],"names":["init_diagnostics","report"],"mappings":";;;;;AAsBAA,kCAAA,EAAA;AAiBO,SAAS,gBAAA,CACd,IACA,OAAA,EACyC;AACzC,EAAA,OAAO,IAAI,IAAA,KAAqC;AAC9C,IAAA,IAAI;AACF,MAAA,OAAO,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACnB,SAAS,GAAA,EAAK;AACZ,MAAAC,wBAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF;AAOO,SAAS,iBAAA,CACd,IACA,OAAA,EACkD;AAClD,EAAA,OAAO,UAAU,IAAA,KAA8C;AAC7D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,EAAA,CAAG,GAAG,IAAI,CAAA;AAAA,IACzB,SAAS,GAAA,EAAK;AACZ,MAAAA,wBAAA,CAAO,KAAK,OAAO,CAAA;AACnB,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,EACF,CAAA;AACF","file":"chunk-6YPVIGD2.cjs","sourcesContent":["/**\n * Non-invasive error isolation — the foundational SDK guarantee.\n *\n * Mirrors Python's `_internal/errors.py` `@absorb_errors` decorator. Every\n * public SDK function and every adapter-installed wrapper is wrapped with\n * `absorbErrors()`. The wrapper catches all exceptions and reports them\n * out-of-band to Morse's own diagnostics endpoint, then returns a benign value\n * (typically `undefined`) instead of propagating.\n *\n * Foundational principle:\n *\n * Telemetry must never break the host application.\n *\n * The customer's call returns its original result (or `undefined`)\n * regardless of whether the SDK's recording path succeeded.\n *\n * Note on async: TypeScript-land has no `KeyboardInterrupt` equivalent —\n * the analogue is \"no exceptions are special\". We absorb everything,\n * and rely on Node's `process.exit` / browser navigation to tear down\n * the runtime cleanly.\n */\n\nimport { report } from \"./diagnostics\";\n\nexport interface AbsorbErrorsOptions {\n /**\n * Stable identifier for grouping. Used for server-side grouping and\n * the rate limiter (max 100 events per fingerprint per minute).\n */\n fingerprint: string;\n /** Optional metadata attached to the report; scrubbed against an allow-list. */\n extra?: Record<string, unknown>;\n}\n\n/**\n * Wrap a synchronous function so that any thrown exception is absorbed\n * (reported out-of-band) instead of propagating. Returns `undefined` on\n * absorbed error.\n */\nexport function absorbErrorsSync<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => TReturn,\n options: AbsorbErrorsOptions,\n): (...args: TArgs) => TReturn | undefined {\n return (...args: TArgs): TReturn | undefined => {\n try {\n return fn(...args);\n } catch (err) {\n report(err, options);\n return undefined;\n }\n };\n}\n\n/**\n * Wrap an async function so that any rejection or thrown exception is\n * absorbed (reported out-of-band) instead of propagating. Returns\n * `undefined` on absorbed error.\n */\nexport function absorbErrorsAsync<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => Promise<TReturn>,\n options: AbsorbErrorsOptions,\n): (...args: TArgs) => Promise<TReturn | undefined> {\n return async (...args: TArgs): Promise<TReturn | undefined> => {\n try {\n return await fn(...args);\n } catch (err) {\n report(err, options);\n return undefined;\n }\n };\n}\n\n/**\n * Higher-order alias chosen to read like the Python decorator: pass a\n * function in, get a wrapped version back. Resolves to the sync or async\n * variant based on the runtime return value (a Promise). Defaults to\n * sync at the type level; use `absorbErrorsAsync` directly for proper\n * async typing.\n */\nexport const absorbErrors = absorbErrorsSync;\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkZAISDHUV_cjs = require('./chunk-ZAISDHUV.cjs');
|
|
4
|
+
var chunk6YPVIGD2_cjs = require('./chunk-6YPVIGD2.cjs');
|
|
5
5
|
var chunkSWQOPFE4_cjs = require('./chunk-SWQOPFE4.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkWG45SF7N_cjs = require('./chunk-WG45SF7N.cjs');
|
|
7
7
|
|
|
8
8
|
// src/anthropic/index.ts
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
chunkWG45SF7N_cjs.init_spans();
|
|
10
|
+
chunkWG45SF7N_cjs.init_tracing();
|
|
11
11
|
var WRAPPED_CLIENT = /* @__PURE__ */ Symbol.for("morse.anthropic.wrapped");
|
|
12
12
|
var INSTALL_SENTINEL = /* @__PURE__ */ Symbol.for("morse.anthropic.installed");
|
|
13
13
|
var ORIGINALS_SENTINEL = /* @__PURE__ */ Symbol.for("morse.anthropic.originals");
|
|
@@ -38,7 +38,7 @@ function wrapAnthropic(client, options = {}) {
|
|
|
38
38
|
});
|
|
39
39
|
return wrapper;
|
|
40
40
|
}
|
|
41
|
-
var instrumentAnthropic =
|
|
41
|
+
var instrumentAnthropic = chunk6YPVIGD2_cjs.absorbErrorsAsync(
|
|
42
42
|
async (clientOrOptions, maybeOptions) => {
|
|
43
43
|
if (clientOrOptions && isClient(clientOrOptions)) {
|
|
44
44
|
const opts2 = maybeOptions ?? {};
|
|
@@ -74,7 +74,7 @@ var instrumentAnthropic = chunkQAFFDJFK_cjs.absorbErrorsAsync(
|
|
|
74
74
|
},
|
|
75
75
|
{ fingerprint: "morse.adapters.anthropic.install" }
|
|
76
76
|
);
|
|
77
|
-
var uninstallAnthropic =
|
|
77
|
+
var uninstallAnthropic = chunk6YPVIGD2_cjs.absorbErrorsSync(
|
|
78
78
|
(anthropicModule) => {
|
|
79
79
|
if (!anthropicModule || typeof anthropicModule !== "object") return;
|
|
80
80
|
const mod = anthropicModule;
|
|
@@ -129,10 +129,10 @@ function buildPatchedCreate(original, options) {
|
|
|
129
129
|
const agentName = options.defaultAgentName ?? "anthropic.messages.create";
|
|
130
130
|
const summarizeMode = options.summarize === true;
|
|
131
131
|
return async function patchedCreate(params, callOptions) {
|
|
132
|
-
const inTrace =
|
|
132
|
+
const inTrace = chunkWG45SF7N_cjs.getActiveTraceState() !== null;
|
|
133
133
|
const work = async () => {
|
|
134
|
-
|
|
135
|
-
const handle =
|
|
134
|
+
chunkZAISDHUV_cjs.setActiveFramework("anthropic");
|
|
135
|
+
const handle = chunkWG45SF7N_cjs.startSpan({
|
|
136
136
|
name: "anthropic.messages.create",
|
|
137
137
|
type: "llm",
|
|
138
138
|
metadata: { model: params?.model, max_tokens: params?.max_tokens }
|
|
@@ -171,9 +171,9 @@ function buildPatchedCreate(original, options) {
|
|
|
171
171
|
if (cost !== void 0) handle.span.cost_usd = cost;
|
|
172
172
|
}
|
|
173
173
|
handle.span.context_segments = segments;
|
|
174
|
-
const inputData =
|
|
174
|
+
const inputData = chunkZAISDHUV_cjs.captureInputMessages(params?.messages, params?.system);
|
|
175
175
|
if (inputData !== void 0) handle.span.input_data = inputData;
|
|
176
|
-
const outputText =
|
|
176
|
+
const outputText = chunkZAISDHUV_cjs.extractAnthropicOutputText(response?.content);
|
|
177
177
|
if (outputText !== void 0) handle.span.output_data = { content: outputText };
|
|
178
178
|
}
|
|
179
179
|
} catch {
|
|
@@ -192,7 +192,7 @@ function buildPatchedCreate(original, options) {
|
|
|
192
192
|
}
|
|
193
193
|
let result;
|
|
194
194
|
let thrown;
|
|
195
|
-
await
|
|
195
|
+
await chunkWG45SF7N_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
196
196
|
runHandle.setOutcome(true);
|
|
197
197
|
try {
|
|
198
198
|
result = await work();
|
|
@@ -291,15 +291,15 @@ function safeExtractSegments(params, response) {
|
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
function emitSummarizeMemorySpan(llmSpan, response) {
|
|
294
|
-
const state =
|
|
294
|
+
const state = chunkWG45SF7N_cjs.getActiveTraceState();
|
|
295
295
|
if (state === null) return;
|
|
296
296
|
const summaryText = extractFirstTextBlock(response);
|
|
297
297
|
const summaryHash = sha256Hex(summaryText);
|
|
298
298
|
const summaryTokens = response?.usage?.output_tokens ?? 0;
|
|
299
|
-
const startedAt = llmSpan.ended_at ?? llmSpan.started_at ??
|
|
299
|
+
const startedAt = llmSpan.ended_at ?? llmSpan.started_at ?? chunkWG45SF7N_cjs.nowIso();
|
|
300
300
|
const memorySpan = {
|
|
301
301
|
trace_id: state.traceId,
|
|
302
|
-
span_id:
|
|
302
|
+
span_id: chunkWG45SF7N_cjs.generateSpanId(),
|
|
303
303
|
type: "memory",
|
|
304
304
|
name: "anthropic.summarize",
|
|
305
305
|
parent_span_id: llmSpan.span_id,
|
|
@@ -606,5 +606,5 @@ exports.instrumentAnthropic = instrumentAnthropic;
|
|
|
606
606
|
exports.isAnthropicWrapped = isAnthropicWrapped;
|
|
607
607
|
exports.uninstallAnthropic = uninstallAnthropic;
|
|
608
608
|
exports.wrapAnthropic = wrapAnthropic;
|
|
609
|
-
//# sourceMappingURL=chunk-
|
|
610
|
-
//# sourceMappingURL=chunk-
|
|
609
|
+
//# sourceMappingURL=chunk-DQ4JWHYH.cjs.map
|
|
610
|
+
//# sourceMappingURL=chunk-DQ4JWHYH.cjs.map
|