@morsehq-dev/sdk 0.5.0-rc.3 → 0.5.0-rc.5
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 +51 -12
- package/dist/anthropic/index.cjs +11 -11
- package/dist/anthropic/index.js +4 -4
- package/dist/anthropic-agent-sdk/index.cjs +157 -102
- package/dist/anthropic-agent-sdk/index.cjs.map +1 -1
- package/dist/anthropic-agent-sdk/index.d.cts +57 -34
- package/dist/anthropic-agent-sdk/index.d.ts +57 -34
- package/dist/anthropic-agent-sdk/index.js +126 -72
- 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 +157 -102
- package/dist/browser/anthropic-agent-sdk/index.cjs.map +1 -1
- package/dist/browser/anthropic-agent-sdk/index.js +126 -72
- package/dist/browser/anthropic-agent-sdk/index.js.map +1 -1
- package/dist/browser/{chunk-KFWCOUL3.cjs → chunk-26Q2QD5J.cjs} +5 -5
- package/dist/browser/{chunk-KFWCOUL3.cjs.map → chunk-26Q2QD5J.cjs.map} +1 -1
- package/dist/browser/{chunk-QCI2ZDQS.cjs → chunk-47GVOQB4.cjs} +12 -12
- package/dist/browser/{chunk-QCI2ZDQS.cjs.map → chunk-47GVOQB4.cjs.map} +1 -1
- package/dist/browser/{chunk-LGG5PL5U.js → chunk-64YI3IZS.js} +3 -3
- package/dist/browser/{chunk-LGG5PL5U.js.map → chunk-64YI3IZS.js.map} +1 -1
- package/dist/{chunk-HCEKAVDR.js → browser/chunk-CI7M2GHD.js} +4 -4
- package/dist/browser/{chunk-KGSLJLWW.js.map → chunk-CI7M2GHD.js.map} +1 -1
- package/dist/browser/{chunk-MI4OUWUZ.js → chunk-EH326H6U.js} +3 -3
- package/dist/browser/{chunk-MI4OUWUZ.js.map → chunk-EH326H6U.js.map} +1 -1
- package/dist/browser/{chunk-WUQXNRD3.js → chunk-GLL57K7P.js} +3 -3
- package/dist/browser/{chunk-WUQXNRD3.js.map → chunk-GLL57K7P.js.map} +1 -1
- package/dist/browser/{chunk-PM5D6VXF.cjs → chunk-IHIS62VS.cjs} +5 -4
- package/dist/browser/chunk-IHIS62VS.cjs.map +1 -0
- package/dist/browser/{chunk-N4Q2WMOE.js → chunk-MIB3EOC4.js} +5 -5
- package/dist/browser/{chunk-N4Q2WMOE.js.map → chunk-MIB3EOC4.js.map} +1 -1
- package/dist/browser/{chunk-P7XWSMFX.cjs → chunk-QAFFDJFK.cjs} +6 -6
- package/dist/browser/{chunk-P7XWSMFX.cjs.map → chunk-QAFFDJFK.cjs.map} +1 -1
- package/dist/{chunk-7PGR4NJG.js → browser/chunk-UL5TNXQL.js} +4 -4
- package/dist/browser/{chunk-MOBYR3AP.js.map → chunk-UL5TNXQL.js.map} +1 -1
- package/dist/browser/{chunk-Y3BOPSM3.js → chunk-V7AUPQIJ.js} +5 -5
- package/dist/browser/chunk-V7AUPQIJ.js.map +1 -0
- package/dist/browser/{chunk-VSG4EWNL.cjs → chunk-WGWPCVYB.cjs} +18 -18
- package/dist/browser/{chunk-VSG4EWNL.cjs.map → chunk-WGWPCVYB.cjs.map} +1 -1
- package/dist/browser/{chunk-YSJVJ3Z3.cjs → chunk-WR2SQLKP.cjs} +7 -7
- package/dist/browser/{chunk-YSJVJ3Z3.cjs.map → chunk-WR2SQLKP.cjs.map} +1 -1
- package/dist/browser/{chunk-XLQSSJUZ.cjs → chunk-ZVVUZRG7.cjs} +15 -15
- package/dist/browser/{chunk-XLQSSJUZ.cjs.map → chunk-ZVVUZRG7.cjs.map} +1 -1
- package/dist/browser/index.cjs +91 -90
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +9 -8
- 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 +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/{browser/chunk-KGSLJLWW.js → chunk-7I4ILCLY.js} +4 -4
- package/dist/{chunk-HCEKAVDR.js.map → chunk-7I4ILCLY.js.map} +1 -1
- package/dist/{chunk-3XQOZXJM.cjs → chunk-DGBQ3UI6.cjs} +7 -7
- package/dist/{chunk-3XQOZXJM.cjs.map → chunk-DGBQ3UI6.cjs.map} +1 -1
- package/dist/{chunk-YQ6ZA7OE.cjs → chunk-DPW4W7H7.cjs} +18 -18
- package/dist/{chunk-YQ6ZA7OE.cjs.map → chunk-DPW4W7H7.cjs.map} +1 -1
- package/dist/{chunk-E3G3IE6Y.cjs → chunk-DQ4T2MJE.cjs} +5 -4
- package/dist/chunk-DQ4T2MJE.cjs.map +1 -0
- package/dist/{chunk-XZRJXJFA.js → chunk-ELVBOJWY.js} +5 -5
- package/dist/chunk-ELVBOJWY.js.map +1 -0
- package/dist/{chunk-ZFE75G7S.js → chunk-HONYN2OI.js} +3 -3
- package/dist/{chunk-ZFE75G7S.js.map → chunk-HONYN2OI.js.map} +1 -1
- package/dist/{chunk-RK3JPX27.cjs → chunk-I3P5CHBV.cjs} +12 -12
- package/dist/{chunk-RK3JPX27.cjs.map → chunk-I3P5CHBV.cjs.map} +1 -1
- package/dist/{browser/chunk-MOBYR3AP.js → chunk-MNV4HASC.js} +4 -4
- package/dist/{chunk-7PGR4NJG.js.map → chunk-MNV4HASC.js.map} +1 -1
- package/dist/{chunk-XHOLQGN6.js → chunk-NR36TJMT.js} +5 -5
- package/dist/{chunk-XHOLQGN6.js.map → chunk-NR36TJMT.js.map} +1 -1
- package/dist/{chunk-T2NESDMT.js → chunk-QZDUGEIR.js} +3 -3
- package/dist/{chunk-T2NESDMT.js.map → chunk-QZDUGEIR.js.map} +1 -1
- package/dist/{chunk-TGHDV5MC.cjs → chunk-RRE2LX2A.cjs} +6 -6
- package/dist/{chunk-TGHDV5MC.cjs.map → chunk-RRE2LX2A.cjs.map} +1 -1
- package/dist/{chunk-DPGUBZVO.cjs → chunk-SJ625SQS.cjs} +15 -15
- package/dist/{chunk-DPGUBZVO.cjs.map → chunk-SJ625SQS.cjs.map} +1 -1
- package/dist/{chunk-UAJO6JM7.js → chunk-YKPZQPEW.js} +3 -3
- package/dist/{chunk-UAJO6JM7.js.map → chunk-YKPZQPEW.js.map} +1 -1
- package/dist/{chunk-NGBJJGOC.cjs → chunk-Z5MFR7UE.cjs} +5 -5
- package/dist/{chunk-NGBJJGOC.cjs.map → chunk-Z5MFR7UE.cjs.map} +1 -1
- package/dist/index.cjs +104 -98
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -10
- 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 +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 +14 -13
- package/dist/browser/chunk-PM5D6VXF.cjs.map +0 -1
- package/dist/browser/chunk-Y3BOPSM3.js.map +0 -1
- package/dist/chunk-E3G3IE6Y.cjs.map +0 -1
- package/dist/chunk-XZRJXJFA.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { setActiveFramework, capturePrompts, captureLangChainMessages, extractLangChainOutputText } from '../chunk-
|
|
2
|
-
import { summarizeToolInput, summarizeToolOutput } from '../chunk-
|
|
3
|
-
import { emitAgentSpan, emitLlmSpan, emitToolSpan } from '../chunk-
|
|
4
|
-
import { absorbErrorsSync } from '../chunk-
|
|
1
|
+
import { setActiveFramework, capturePrompts, captureLangChainMessages, extractLangChainOutputText } from '../chunk-GLL57K7P.js';
|
|
2
|
+
import { summarizeToolInput, summarizeToolOutput } from '../chunk-64YI3IZS.js';
|
|
3
|
+
import { emitAgentSpan, emitLlmSpan, emitToolSpan } from '../chunk-UL5TNXQL.js';
|
|
4
|
+
import { absorbErrorsSync } from '../chunk-EH326H6U.js';
|
|
5
5
|
import { calculateCost } from '../chunk-4FALQMOZ.js';
|
|
6
6
|
import { decomposeOpenAiMessages } from '../chunk-MLDVXMQD.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-V7AUPQIJ.js';
|
|
8
8
|
|
|
9
9
|
// src/langgraph/callback-handler.ts
|
|
10
10
|
var ADAPTER = "langgraph-js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk26Q2QD5J_cjs = require('../chunk-26Q2QD5J.cjs');
|
|
4
4
|
var chunkSWQOPFE4_cjs = require('../chunk-SWQOPFE4.cjs');
|
|
5
5
|
var chunkRBNCTHK3_cjs = require('../chunk-RBNCTHK3.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkIHIS62VS_cjs = require('../chunk-IHIS62VS.cjs');
|
|
7
7
|
|
|
8
8
|
// src/openai/index.ts
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
chunkIHIS62VS_cjs.init_tracing();
|
|
10
|
+
chunkIHIS62VS_cjs.init_diagnostics();
|
|
11
11
|
var WRAPPED_CLIENT = /* @__PURE__ */ Symbol.for("morse.openai.wrapped");
|
|
12
12
|
function wrapOpenAI(client, options = {}) {
|
|
13
13
|
if (!client || typeof client !== "object") return client;
|
|
@@ -49,10 +49,10 @@ function isOpenAiWrapped(client) {
|
|
|
49
49
|
function buildPatchedCreate(original, options) {
|
|
50
50
|
const agentName = options.defaultAgentName ?? "openai.chat.completions.create";
|
|
51
51
|
return async function patchedCreate(params, callOptions) {
|
|
52
|
-
const inTrace =
|
|
52
|
+
const inTrace = chunkIHIS62VS_cjs.getActiveTraceState() !== null;
|
|
53
53
|
const work = async () => {
|
|
54
|
-
|
|
55
|
-
const handle =
|
|
54
|
+
chunk26Q2QD5J_cjs.setActiveFramework("openai");
|
|
55
|
+
const handle = chunkIHIS62VS_cjs.startSpan({
|
|
56
56
|
name: "openai.chat.completions.create",
|
|
57
57
|
type: "llm",
|
|
58
58
|
metadata: { model: params?.model }
|
|
@@ -88,9 +88,9 @@ function buildPatchedCreate(original, options) {
|
|
|
88
88
|
if (cost !== void 0) handle.span.cost_usd = cost;
|
|
89
89
|
}
|
|
90
90
|
handle.span.context_segments = segments;
|
|
91
|
-
const inputData =
|
|
91
|
+
const inputData = chunk26Q2QD5J_cjs.captureInputMessages(params?.messages);
|
|
92
92
|
if (inputData !== void 0) handle.span.input_data = inputData;
|
|
93
|
-
const outputText =
|
|
93
|
+
const outputText = chunk26Q2QD5J_cjs.extractOpenAiOutputText(response?.choices);
|
|
94
94
|
if (outputText !== void 0) handle.span.output_data = { content: outputText };
|
|
95
95
|
}
|
|
96
96
|
} catch (err) {
|
|
@@ -104,7 +104,7 @@ function buildPatchedCreate(original, options) {
|
|
|
104
104
|
}
|
|
105
105
|
let result;
|
|
106
106
|
let thrown;
|
|
107
|
-
await
|
|
107
|
+
await chunkIHIS62VS_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
108
108
|
runHandle.setOutcome(true);
|
|
109
109
|
try {
|
|
110
110
|
result = await work();
|
|
@@ -128,7 +128,7 @@ function safeExtractSegments(params) {
|
|
|
128
128
|
}
|
|
129
129
|
function reportSwallowed(err, fingerprint) {
|
|
130
130
|
try {
|
|
131
|
-
|
|
131
|
+
chunkIHIS62VS_cjs.report(err, { fingerprint });
|
|
132
132
|
} catch {
|
|
133
133
|
}
|
|
134
134
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { setActiveFramework, captureInputMessages, extractOpenAiOutputText } from '../chunk-
|
|
1
|
+
import { setActiveFramework, captureInputMessages, extractOpenAiOutputText } from '../chunk-GLL57K7P.js';
|
|
2
2
|
import { calculateCost } from '../chunk-4FALQMOZ.js';
|
|
3
3
|
import { decomposeOpenAiMessages } from '../chunk-MLDVXMQD.js';
|
|
4
|
-
import { init_tracing, init_diagnostics, getActiveTraceState, runAsync, startSpan, report } from '../chunk-
|
|
4
|
+
import { init_tracing, init_diagnostics, getActiveTraceState, runAsync, startSpan, report } from '../chunk-V7AUPQIJ.js';
|
|
5
5
|
|
|
6
6
|
// src/openai/index.ts
|
|
7
7
|
init_tracing();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkWR2SQLKP_cjs = require('../chunk-WR2SQLKP.cjs');
|
|
4
|
+
var chunkZVVUZRG7_cjs = require('../chunk-ZVVUZRG7.cjs');
|
|
5
|
+
var chunkQAFFDJFK_cjs = require('../chunk-QAFFDJFK.cjs');
|
|
6
6
|
var chunkSWQOPFE4_cjs = require('../chunk-SWQOPFE4.cjs');
|
|
7
7
|
var chunkRBNCTHK3_cjs = require('../chunk-RBNCTHK3.cjs');
|
|
8
|
-
var
|
|
8
|
+
var chunkIHIS62VS_cjs = require('../chunk-IHIS62VS.cjs');
|
|
9
9
|
|
|
10
10
|
// src/openai-agents/runner-wrapper.ts
|
|
11
|
-
|
|
11
|
+
chunkIHIS62VS_cjs.init_tracing();
|
|
12
12
|
var WRAPPED_RUNNER = /* @__PURE__ */ Symbol.for("morse.openai-agents.wrapped");
|
|
13
13
|
var INSTALL_SENTINEL = /* @__PURE__ */ Symbol.for("morse.openai-agents.installed");
|
|
14
14
|
var ORIGINALS_SENTINEL = /* @__PURE__ */ Symbol.for("morse.openai-agents.originals");
|
|
@@ -34,7 +34,7 @@ function wrapRunner(runner, options = {}) {
|
|
|
34
34
|
});
|
|
35
35
|
return wrapper;
|
|
36
36
|
}
|
|
37
|
-
var instrumentOpenAIAgents =
|
|
37
|
+
var instrumentOpenAIAgents = chunkQAFFDJFK_cjs.absorbErrorsAsync(
|
|
38
38
|
async (runnerOrOptions = void 0, maybeOptions = {}) => {
|
|
39
39
|
if (runnerOrOptions && isRunner(runnerOrOptions)) {
|
|
40
40
|
const opts2 = maybeOptions ?? {};
|
|
@@ -67,7 +67,7 @@ var instrumentOpenAIAgents = chunkP7XWSMFX_cjs.absorbErrorsAsync(
|
|
|
67
67
|
},
|
|
68
68
|
{ fingerprint: "morse.adapters.openai-agents.install" }
|
|
69
69
|
);
|
|
70
|
-
var uninstallOpenAIAgents =
|
|
70
|
+
var uninstallOpenAIAgents = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
71
71
|
(openaiAgentsModule) => {
|
|
72
72
|
if (!openaiAgentsModule || typeof openaiAgentsModule !== "object") return;
|
|
73
73
|
const mod = openaiAgentsModule;
|
|
@@ -120,7 +120,7 @@ function buildPatchedRun(original, options) {
|
|
|
120
120
|
const agentName = (agent && typeof agent === "object" && typeof agent.name === "string" && agent.name.length > 0 ? agent.name : void 0) ?? options.defaultAgentName ?? "openai-agent";
|
|
121
121
|
const model = stringifyModel(agent?.model);
|
|
122
122
|
const runWithSpan = async () => {
|
|
123
|
-
const handle =
|
|
123
|
+
const handle = chunkZVVUZRG7_cjs.emitAgentSpan({
|
|
124
124
|
adapter: "openai-agents",
|
|
125
125
|
agentName,
|
|
126
126
|
model
|
|
@@ -138,13 +138,13 @@ function buildPatchedRun(original, options) {
|
|
|
138
138
|
throw err;
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
|
-
if (
|
|
141
|
+
if (chunkIHIS62VS_cjs.getActiveTraceState() !== null) {
|
|
142
142
|
return runWithSpan();
|
|
143
143
|
}
|
|
144
144
|
return (async () => {
|
|
145
145
|
let captured;
|
|
146
146
|
let caughtErr;
|
|
147
|
-
const runResult = await
|
|
147
|
+
const runResult = await chunkIHIS62VS_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
148
148
|
try {
|
|
149
149
|
captured = await runWithSpan();
|
|
150
150
|
runHandle.setOutcome(true);
|
|
@@ -173,10 +173,10 @@ function installLlmAndToolInstrumentation(runner, options) {
|
|
|
173
173
|
const opts = options ?? {};
|
|
174
174
|
const llmStack = [];
|
|
175
175
|
const toolStack = [];
|
|
176
|
-
const onLlmStart =
|
|
176
|
+
const onLlmStart = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
177
177
|
(event) => {
|
|
178
178
|
const contextSegments = chunkRBNCTHK3_cjs.decomposeOpenAiMessages(event.llm?.messages, event.llm?.tools);
|
|
179
|
-
const handle =
|
|
179
|
+
const handle = chunkZVVUZRG7_cjs.emitLlmSpan({
|
|
180
180
|
adapter: ADAPTER,
|
|
181
181
|
model: typeof event.llm?.model === "string" && event.llm.model.length > 0 ? event.llm.model : "unknown",
|
|
182
182
|
provider: typeof event.llm?.provider === "string" ? event.llm.provider : void 0,
|
|
@@ -186,7 +186,7 @@ function installLlmAndToolInstrumentation(runner, options) {
|
|
|
186
186
|
},
|
|
187
187
|
{ fingerprint: "morse.openai-agents.llm_call_start" }
|
|
188
188
|
);
|
|
189
|
-
const onLlmEnd =
|
|
189
|
+
const onLlmEnd = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
190
190
|
(event) => {
|
|
191
191
|
const handle = llmStack.shift();
|
|
192
192
|
if (handle === void 0) return;
|
|
@@ -218,14 +218,14 @@ function installLlmAndToolInstrumentation(runner, options) {
|
|
|
218
218
|
},
|
|
219
219
|
{ fingerprint: "morse.openai-agents.llm_call_end" }
|
|
220
220
|
);
|
|
221
|
-
const onToolStart =
|
|
221
|
+
const onToolStart = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
222
222
|
(event) => {
|
|
223
223
|
const toolName = typeof event.tool?.name === "string" && event.tool.name.length > 0 ? event.tool.name : "unknown";
|
|
224
|
-
const inputSummary =
|
|
224
|
+
const inputSummary = chunkWR2SQLKP_cjs.summarizeToolInput(
|
|
225
225
|
event.tool?.input,
|
|
226
226
|
opts.toolInputMaxBytes !== void 0 ? { maxBytes: opts.toolInputMaxBytes } : void 0
|
|
227
227
|
);
|
|
228
|
-
const handle =
|
|
228
|
+
const handle = chunkZVVUZRG7_cjs.emitToolSpan({
|
|
229
229
|
adapter: ADAPTER,
|
|
230
230
|
toolName,
|
|
231
231
|
inputSummary
|
|
@@ -234,11 +234,11 @@ function installLlmAndToolInstrumentation(runner, options) {
|
|
|
234
234
|
},
|
|
235
235
|
{ fingerprint: "morse.openai-agents.tool_call_start" }
|
|
236
236
|
);
|
|
237
|
-
const onToolEnd =
|
|
237
|
+
const onToolEnd = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
238
238
|
(event) => {
|
|
239
239
|
const handle = toolStack.shift();
|
|
240
240
|
if (handle === void 0) return;
|
|
241
|
-
const outputSummary =
|
|
241
|
+
const outputSummary = chunkWR2SQLKP_cjs.summarizeToolOutput(
|
|
242
242
|
event.tool?.output,
|
|
243
243
|
opts.toolOutputMaxBytes !== void 0 ? { maxBytes: opts.toolOutputMaxBytes } : void 0
|
|
244
244
|
);
|
|
@@ -292,7 +292,7 @@ var _handleHandoffEvent = (event) => {
|
|
|
292
292
|
handoff_from: from
|
|
293
293
|
};
|
|
294
294
|
if (reason !== void 0) attributes.handoff_reason = reason;
|
|
295
|
-
const handle =
|
|
295
|
+
const handle = chunkZVVUZRG7_cjs.emitSubagentSpan({
|
|
296
296
|
adapter: "openai-agents",
|
|
297
297
|
parentAgentName: from,
|
|
298
298
|
subagentName: to,
|
|
@@ -301,7 +301,7 @@ var _handleHandoffEvent = (event) => {
|
|
|
301
301
|
});
|
|
302
302
|
handle?.end();
|
|
303
303
|
};
|
|
304
|
-
var handleHandoffEvent =
|
|
304
|
+
var handleHandoffEvent = chunkQAFFDJFK_cjs.absorbErrorsSync(_handleHandoffEvent, {
|
|
305
305
|
fingerprint: "morse.adapters.openai-agents.handoff.listener"
|
|
306
306
|
});
|
|
307
307
|
function installHandoffInstrumentation(runner) {
|
|
@@ -338,7 +338,7 @@ var _handleGuardrailEvent = (payload) => {
|
|
|
338
338
|
const guardrailMeta = { passed };
|
|
339
339
|
if (name !== void 0) guardrailMeta.name = name;
|
|
340
340
|
if (reason !== void 0) guardrailMeta.reason = reason;
|
|
341
|
-
const handle =
|
|
341
|
+
const handle = chunkZVVUZRG7_cjs.emitToolSpan({
|
|
342
342
|
adapter: "openai-agents",
|
|
343
343
|
toolName: `guardrail.${name ?? "anon"}`,
|
|
344
344
|
success: passed
|
|
@@ -355,7 +355,7 @@ var _handleGuardrailEvent = (payload) => {
|
|
|
355
355
|
handle.end(new Error(`guardrail failed: ${reason ?? "no reason"}`));
|
|
356
356
|
}
|
|
357
357
|
};
|
|
358
|
-
var handleGuardrailEvent =
|
|
358
|
+
var handleGuardrailEvent = chunkQAFFDJFK_cjs.absorbErrorsSync(
|
|
359
359
|
_handleGuardrailEvent,
|
|
360
360
|
{ fingerprint: "morse.openai-agents.guardrail.handle" }
|
|
361
361
|
);
|
|
@@ -384,7 +384,7 @@ function installGuardrailInstrumentation(runner) {
|
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
// src/openai-agents/trace-processor.ts
|
|
387
|
-
|
|
387
|
+
chunkIHIS62VS_cjs.init_diagnostics();
|
|
388
388
|
var ADAPTER2 = "openai-agents";
|
|
389
389
|
function safe(fn) {
|
|
390
390
|
try {
|
|
@@ -503,32 +503,32 @@ var MorseTraceProcessor = class {
|
|
|
503
503
|
const name = typeof d.name === "string" && d.name.length > 0 ? d.name : void 0;
|
|
504
504
|
switch (type) {
|
|
505
505
|
case "agent":
|
|
506
|
-
return
|
|
506
|
+
return chunkZVVUZRG7_cjs.emitAgentSpan({
|
|
507
507
|
adapter: ADAPTER2,
|
|
508
508
|
agentName: name ?? "openai-agent"
|
|
509
509
|
});
|
|
510
510
|
case "generation":
|
|
511
511
|
case "response": {
|
|
512
512
|
const model = typeof d.model === "string" && d.model.length > 0 ? d.model : "unknown";
|
|
513
|
-
return
|
|
513
|
+
return chunkZVVUZRG7_cjs.emitLlmSpan({ adapter: ADAPTER2, model });
|
|
514
514
|
}
|
|
515
515
|
case "function": {
|
|
516
516
|
const inputOpts = this.options.toolInputMaxBytes ? { maxBytes: this.options.toolInputMaxBytes } : void 0;
|
|
517
|
-
return
|
|
517
|
+
return chunkZVVUZRG7_cjs.emitToolSpan({
|
|
518
518
|
adapter: ADAPTER2,
|
|
519
519
|
toolName: name ?? "function",
|
|
520
|
-
inputSummary: d.input !== void 0 ?
|
|
520
|
+
inputSummary: d.input !== void 0 ? chunkWR2SQLKP_cjs.summarizeToolInput(d.input, inputOpts) : void 0
|
|
521
521
|
});
|
|
522
522
|
}
|
|
523
523
|
case "handoff":
|
|
524
|
-
return
|
|
524
|
+
return chunkZVVUZRG7_cjs.emitSubagentSpan({
|
|
525
525
|
adapter: ADAPTER2,
|
|
526
526
|
parentAgentName: typeof d.from_agent === "string" ? d.from_agent : "unknown",
|
|
527
527
|
subagentName: typeof d.to_agent === "string" ? d.to_agent : name ?? "unknown",
|
|
528
528
|
taskDescription: typeof d.reason === "string" ? d.reason : void 0
|
|
529
529
|
});
|
|
530
530
|
case "guardrail": {
|
|
531
|
-
const handle =
|
|
531
|
+
const handle = chunkZVVUZRG7_cjs.emitToolSpan({
|
|
532
532
|
adapter: ADAPTER2,
|
|
533
533
|
toolName: `guardrail.${name ?? "anon"}`
|
|
534
534
|
});
|
|
@@ -546,17 +546,17 @@ var MorseTraceProcessor = class {
|
|
|
546
546
|
return handle;
|
|
547
547
|
}
|
|
548
548
|
case "mcp_list_tools":
|
|
549
|
-
return
|
|
549
|
+
return chunkZVVUZRG7_cjs.emitToolSpan({
|
|
550
550
|
adapter: ADAPTER2,
|
|
551
551
|
toolName: `mcp.list_tools.${name ?? "anon"}`
|
|
552
552
|
});
|
|
553
553
|
case "custom":
|
|
554
|
-
return
|
|
554
|
+
return chunkZVVUZRG7_cjs.emitToolSpan({
|
|
555
555
|
adapter: ADAPTER2,
|
|
556
556
|
toolName: `custom.${name ?? "anon"}`
|
|
557
557
|
});
|
|
558
558
|
default:
|
|
559
|
-
return
|
|
559
|
+
return chunkZVVUZRG7_cjs.emitToolSpan({
|
|
560
560
|
adapter: ADAPTER2,
|
|
561
561
|
toolName: `${type || "unknown"}.${name ?? "anon"}`
|
|
562
562
|
});
|
|
@@ -585,7 +585,7 @@ var MorseTraceProcessor = class {
|
|
|
585
585
|
const outputOpts = this.options.toolOutputMaxBytes ? { maxBytes: this.options.toolOutputMaxBytes } : void 0;
|
|
586
586
|
handle.span.metadata = {
|
|
587
587
|
...handle.span.metadata ?? {},
|
|
588
|
-
tool_output_summary:
|
|
588
|
+
tool_output_summary: chunkWR2SQLKP_cjs.summarizeToolOutput(d.output, outputOpts)
|
|
589
589
|
};
|
|
590
590
|
}
|
|
591
591
|
}
|
|
@@ -621,7 +621,7 @@ function safeEnd(handle, err) {
|
|
|
621
621
|
}
|
|
622
622
|
function reportSwallowed(err, fingerprint) {
|
|
623
623
|
try {
|
|
624
|
-
|
|
624
|
+
chunkIHIS62VS_cjs.report(err, { fingerprint });
|
|
625
625
|
} catch {
|
|
626
626
|
}
|
|
627
627
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { summarizeToolInput, summarizeToolOutput } from '../chunk-
|
|
2
|
-
import { emitSubagentSpan, emitToolSpan, emitAgentSpan, emitLlmSpan } from '../chunk-
|
|
3
|
-
import { absorbErrorsAsync, absorbErrorsSync } from '../chunk-
|
|
1
|
+
import { summarizeToolInput, summarizeToolOutput } from '../chunk-64YI3IZS.js';
|
|
2
|
+
import { emitSubagentSpan, emitToolSpan, emitAgentSpan, emitLlmSpan } from '../chunk-UL5TNXQL.js';
|
|
3
|
+
import { absorbErrorsAsync, absorbErrorsSync } from '../chunk-EH326H6U.js';
|
|
4
4
|
import { calculateCost } from '../chunk-4FALQMOZ.js';
|
|
5
5
|
import { decomposeOpenAiMessages } from '../chunk-MLDVXMQD.js';
|
|
6
|
-
import { init_tracing, init_diagnostics, getActiveTraceState, runAsync, report } from '../chunk-
|
|
6
|
+
import { init_tracing, init_diagnostics, getActiveTraceState, runAsync, report } from '../chunk-V7AUPQIJ.js';
|
|
7
7
|
|
|
8
8
|
// src/openai-agents/runner-wrapper.ts
|
|
9
9
|
init_tracing();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkZVVUZRG7_cjs = require('../chunk-ZVVUZRG7.cjs');
|
|
4
|
+
require('../chunk-QAFFDJFK.cjs');
|
|
5
5
|
var chunkSWQOPFE4_cjs = require('../chunk-SWQOPFE4.cjs');
|
|
6
6
|
var chunkRBNCTHK3_cjs = require('../chunk-RBNCTHK3.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkIHIS62VS_cjs = require('../chunk-IHIS62VS.cjs');
|
|
8
8
|
|
|
9
9
|
// src/vercel-ai/index.ts
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
chunkIHIS62VS_cjs.init_tracing();
|
|
11
|
+
chunkIHIS62VS_cjs.init_propagation();
|
|
12
12
|
var ADAPTER = "vercel-ai";
|
|
13
13
|
async function createTracedVercelAI(options = {}) {
|
|
14
14
|
const aiModule = await loadAiModule(options.aiModule);
|
|
@@ -71,11 +71,11 @@ function contextSegmentsFor(args) {
|
|
|
71
71
|
function wrapStreamText(original, options) {
|
|
72
72
|
const agentName = options.defaultAgentName ?? "vercel-ai.streamText";
|
|
73
73
|
return function patchedStreamText(...args) {
|
|
74
|
-
const inTrace =
|
|
74
|
+
const inTrace = chunkIHIS62VS_cjs.getActiveTraceState() !== null;
|
|
75
75
|
const callArgs = args[0] ?? {};
|
|
76
76
|
const model = modelLabel(callArgs);
|
|
77
77
|
if (inTrace) {
|
|
78
|
-
const handle =
|
|
78
|
+
const handle = chunkZVVUZRG7_cjs.emitLlmSpan({
|
|
79
79
|
adapter: ADAPTER,
|
|
80
80
|
model: model ?? "unknown",
|
|
81
81
|
attributes: { max_steps: callArgs.maxSteps ?? 1 }
|
|
@@ -94,9 +94,9 @@ function wrapStreamText(original, options) {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
let result;
|
|
97
|
-
void
|
|
97
|
+
void chunkIHIS62VS_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
98
98
|
runHandle.setOutcome(true);
|
|
99
|
-
const handle =
|
|
99
|
+
const handle = chunkZVVUZRG7_cjs.emitLlmSpan({
|
|
100
100
|
adapter: ADAPTER,
|
|
101
101
|
model: model ?? "unknown",
|
|
102
102
|
attributes: { max_steps: callArgs.maxSteps ?? 1 }
|
|
@@ -177,9 +177,9 @@ function wrapGenerate(original, spanName, options) {
|
|
|
177
177
|
return function patched(...args) {
|
|
178
178
|
const callArgs = args[0] ?? {};
|
|
179
179
|
const model = modelLabel(callArgs);
|
|
180
|
-
const inTrace =
|
|
180
|
+
const inTrace = chunkIHIS62VS_cjs.getActiveTraceState() !== null;
|
|
181
181
|
const work = async () => {
|
|
182
|
-
const handle =
|
|
182
|
+
const handle = chunkZVVUZRG7_cjs.emitLlmSpan({
|
|
183
183
|
adapter: ADAPTER,
|
|
184
184
|
model: model ?? "unknown",
|
|
185
185
|
attributes: { max_steps: callArgs.maxSteps ?? 1 }
|
|
@@ -204,7 +204,7 @@ function wrapGenerate(original, spanName, options) {
|
|
|
204
204
|
if (inTrace) {
|
|
205
205
|
return work();
|
|
206
206
|
}
|
|
207
|
-
return
|
|
207
|
+
return chunkIHIS62VS_cjs.runAsync({ agentName }, async (runHandle) => {
|
|
208
208
|
runHandle.setOutcome(true);
|
|
209
209
|
return work();
|
|
210
210
|
});
|
|
@@ -212,13 +212,13 @@ function wrapGenerate(original, spanName, options) {
|
|
|
212
212
|
}
|
|
213
213
|
function wrapFetch(original) {
|
|
214
214
|
const patched = function patched2(input, init) {
|
|
215
|
-
const state =
|
|
215
|
+
const state = chunkIHIS62VS_cjs.getActiveTraceState();
|
|
216
216
|
if (state === null) {
|
|
217
217
|
return original(input, init);
|
|
218
218
|
}
|
|
219
219
|
try {
|
|
220
220
|
const merged = new Headers(init?.headers ?? {});
|
|
221
|
-
|
|
221
|
+
chunkIHIS62VS_cjs.injectTraceparent(merged);
|
|
222
222
|
const next = { ...init ?? {}, headers: merged };
|
|
223
223
|
return original(input, next);
|
|
224
224
|
} catch {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { emitLlmSpan } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
import { emitLlmSpan } from '../chunk-UL5TNXQL.js';
|
|
2
|
+
import '../chunk-EH326H6U.js';
|
|
3
3
|
import { calculateCost } from '../chunk-4FALQMOZ.js';
|
|
4
4
|
import { decomposeOpenAiMessages } from '../chunk-MLDVXMQD.js';
|
|
5
|
-
import { init_tracing, init_propagation, getActiveTraceState, runAsync, injectTraceparent } from '../chunk-
|
|
5
|
+
import { init_tracing, init_propagation, getActiveTraceState, runAsync, injectTraceparent } from '../chunk-V7AUPQIJ.js';
|
|
6
6
|
|
|
7
7
|
// src/vercel-ai/index.ts
|
|
8
8
|
init_tracing();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { absorbErrorsSync } from './chunk-
|
|
2
|
-
import { init_redaction, init_tracing, getTransport, getActiveTraceState, getRedactionConfig, redactValue } from './chunk-
|
|
1
|
+
import { absorbErrorsSync } from './chunk-YKPZQPEW.js';
|
|
2
|
+
import { init_redaction, init_tracing, getTransport, getActiveTraceState, getRedactionConfig, redactValue } from './chunk-ELVBOJWY.js';
|
|
3
3
|
|
|
4
4
|
// src/log.ts
|
|
5
5
|
init_redaction();
|
|
@@ -49,5 +49,5 @@ var log = absorbErrorsSync(logImpl, {
|
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
export { _setEnsureInitialized, log };
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-7I4ILCLY.js.map
|
|
53
|
+
//# sourceMappingURL=chunk-7I4ILCLY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/log.ts"],"names":[],"mappings":";;;;AA8BA,cAAA,EAAA;AACA,YAAA,EAAA;AA2BA,IAAM,oBAAA,GAAuB,cAAA;AAS7B,IAAI,oBAAgC,MAAM;AAE1C,CAAA;AAGO,SAAS,sBAAsB,EAAA,EAAsB;AAC1D,EAAA,iBAAA,GAAoB,EAAA;AACtB;AAEA,SAAS,OAAA,CAAQ,OAAA,EAAiB,OAAA,GAAsB,EAAC,EAAS;AAGhE,EAAA,iBAAA,EAAkB;AAClB,EAAA,MAAM,YAAkC,YAAA,EAAa;AACrD,EAAA,IAAI,cAAc,IAAA,EAAM;AAGtB,IAAA;AAAA,EACF;AAMA,EAAA,IAAI,OAAA,GAAyB,QAAQ,OAAA,IAAW,IAAA;AAChD,EAAA,IAAI,MAAA,GAAwB,QAAQ,MAAA,IAAU,IAAA;AAC9C,EAAA,IAAI,OAAA,KAAY,IAAA,IAAQ,MAAA,KAAW,IAAA,EAAM;AACvC,IAAA,MAAM,QAAQ,mBAAA,EAAoB;AAClC,IAAA,IAAI,UAAU,IAAA,EAAM;AAClB,MAAA,IAAI,OAAA,KAAY,IAAA,EAAM,OAAA,GAAU,KAAA,CAAM,OAAA;AACtC,MAAA,IAAI,MAAA,KAAW,IAAA,IAAQ,KAAA,CAAM,SAAA,CAAU,SAAS,CAAA,EAAG;AACjD,QAAA,MAAA,GAAS,MAAM,SAAA,CAAU,KAAA,CAAM,SAAA,CAAU,MAAA,GAAS,CAAC,CAAA,CAAG,OAAA;AAAA,MACxD;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAA,CAAY,OAAA,CAAQ,QAAA,IAAY,MAAA,EAAQ,WAAA,EAAY;AAC1D,EAAA,MAAM,WAAA,GAAc,QAAQ,WAAA,IAAe,oBAAA;AAK3C,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,UAAA,IAAc,EAAC;AAC7C,EAAA,MAAM,qBAAqB,MAAA,CAAO,OAAA,GAC7B,WAAA,CAAY,aAAA,EAAe,MAAM,CAAA,GAClC,aAAA;AACJ,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,GACvB,WAAA,CAAY,MAAA,CAAO,OAAO,CAAA,EAAG,MAAM,CAAA,GACpC,MAAA,CAAO,OAAO,CAAA;AAElB,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AAAA,IAClC,QAAA;AAAA,IACA,YAAA,EAAc,WAAA;AAAA,IACd,IAAA,EAAM,YAAA;AAAA,IACN,UAAA,EAAY,kBAAA;AAAA,IACZ,QAAA,EAAU,OAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAEA,EAAA,SAAA,CAAU,MAAM,EAAE,IAAA,EAAM,CAAC,MAAM,GAAG,CAAA;AACpC;AAmCO,IAAM,GAAA,GAAM,iBAAiB,OAAA,EAAS;AAAA,EAC3C,WAAA,EAAa;AACf,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/log.ts"],"names":[],"mappings":";;;;AA8BA,cAAA,EAAA;AACA,YAAA,EAAA;AA2BA,IAAM,oBAAA,GAAuB,cAAA;AAS7B,IAAI,oBAAgC,MAAM;AAE1C,CAAA;AAGO,SAAS,sBAAsB,EAAA,EAAsB;AAC1D,EAAA,iBAAA,GAAoB,EAAA;AACtB;AAEA,SAAS,OAAA,CAAQ,OAAA,EAAiB,OAAA,GAAsB,EAAC,EAAS;AAGhE,EAAA,iBAAA,EAAkB;AAClB,EAAA,MAAM,YAAkC,YAAA,EAAa;AACrD,EAAA,IAAI,cAAc,IAAA,EAAM;AAGtB,IAAA;AAAA,EACF;AAMA,EAAA,IAAI,OAAA,GAAyB,QAAQ,OAAA,IAAW,IAAA;AAChD,EAAA,IAAI,MAAA,GAAwB,QAAQ,MAAA,IAAU,IAAA;AAC9C,EAAA,IAAI,OAAA,KAAY,IAAA,IAAQ,MAAA,KAAW,IAAA,EAAM;AACvC,IAAA,MAAM,QAAQ,mBAAA,EAAoB;AAClC,IAAA,IAAI,UAAU,IAAA,EAAM;AAClB,MAAA,IAAI,OAAA,KAAY,IAAA,EAAM,OAAA,GAAU,KAAA,CAAM,OAAA;AACtC,MAAA,IAAI,MAAA,KAAW,IAAA,IAAQ,KAAA,CAAM,SAAA,CAAU,SAAS,CAAA,EAAG;AACjD,QAAA,MAAA,GAAS,MAAM,SAAA,CAAU,KAAA,CAAM,SAAA,CAAU,MAAA,GAAS,CAAC,CAAA,CAAG,OAAA;AAAA,MACxD;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAA,CAAY,OAAA,CAAQ,QAAA,IAAY,MAAA,EAAQ,WAAA,EAAY;AAC1D,EAAA,MAAM,WAAA,GAAc,QAAQ,WAAA,IAAe,oBAAA;AAK3C,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,UAAA,IAAc,EAAC;AAC7C,EAAA,MAAM,qBAAqB,MAAA,CAAO,OAAA,GAC7B,WAAA,CAAY,aAAA,EAAe,MAAM,CAAA,GAClC,aAAA;AACJ,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,GACvB,WAAA,CAAY,MAAA,CAAO,OAAO,CAAA,EAAG,MAAM,CAAA,GACpC,MAAA,CAAO,OAAO,CAAA;AAElB,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AAAA,IAClC,QAAA;AAAA,IACA,YAAA,EAAc,WAAA;AAAA,IACd,IAAA,EAAM,YAAA;AAAA,IACN,UAAA,EAAY,kBAAA;AAAA,IACZ,QAAA,EAAU,OAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAEA,EAAA,SAAA,CAAU,MAAM,EAAE,IAAA,EAAM,CAAC,MAAM,GAAG,CAAA;AACpC;AAmCO,IAAM,GAAA,GAAM,iBAAiB,OAAA,EAAS;AAAA,EAC3C,WAAA,EAAa;AACf,CAAC","file":"chunk-7I4ILCLY.js","sourcesContent":["/**\n * Phase 12.5 Tier 1.2 — TypeScript SDK `log()` export.\n *\n * Closes the TS side of Feature #4 \"Gap A\": before this module, customers\n * using the TS SDK had no way to populate the Logs tab of a trace's\n * Correlation panel without standing up their own OTel collector. The\n * Python SDK already had `morse.log(...)` (AGE-240); this is the\n * cross-language peer.\n *\n * Semantics mirror Python's `morse.log()`\n * (`apps/sdk/python/src/morse/__init__.py:360-411`):\n *\n * - Default severity: \"info\" (case-normalised to upper on the wire).\n * - Default service_name: \"morse-sdk-ts\" (overridable).\n * - Auto-reads the active trace_id + span_id from the SDK's existing\n * `node:async_hooks.AsyncLocalStorage` context (re-uses\n * `getActiveTraceState()` — the same primitive `run()`/`span()` use).\n * - Batched: the record is enqueued on the existing `BatchTransport`,\n * which flushes it to `/api/v1/logs/ingest` (derived from the traces\n * batch endpoint) on the next tick. NO synchronous fetch per call.\n * - Internal errors are absorbed via `absorbErrorsSync` so they never\n * propagate into the customer's logging call. Mirrors the Python\n * `@absorb_errors` decorator pattern.\n *\n * Wire shape: `{ logs: [{ timestamp, severity, service_name, body,\n * attributes, trace_id, span_id }] }`. See `apps/api/apps/logs/\n * controllers.py:66-134` for the API contract.\n */\n\nimport { absorbErrorsSync } from \"./_internal/errors\";\nimport { redactValue } from \"./_internal/redaction\";\nimport {\n getActiveTraceState,\n getRedactionConfig,\n getTransport,\n type TransportLike,\n} from \"./_internal/tracing\";\n\n/** Log severity — case-insensitive on input, upper-cased on the wire. */\nexport type LogSeverity = \"trace\" | \"debug\" | \"info\" | \"warn\" | \"error\" | \"fatal\";\n\n/** Options accepted by `log()`. */\nexport interface LogOptions {\n /** Default: `\"info\"`. Upper-cased server-side. */\n severity?: LogSeverity;\n /** Free-form structured fields persisted on the record. */\n attributes?: Record<string, unknown>;\n /**\n * Override the auto-detected trace_id. Use only when emitting on\n * behalf of a known external trace (rare).\n */\n traceId?: string;\n /** Override the auto-detected span_id. Same caveat as `traceId`. */\n spanId?: string;\n /** Logical service tag. Default: `\"morse-sdk-ts\"`. */\n serviceName?: string;\n}\n\nconst DEFAULT_SERVICE_NAME = \"morse-sdk-ts\";\n\n/**\n * Lazy-init hook injected by `index.ts`. Allows `log()` to participate\n * in env-driven auto-init (matching the behaviour of `track()` /\n * `record()`) without `log.ts` reaching into the singleton state.\n *\n * @internal\n */\nlet ensureInitialized: () => void = () => {\n /* default no-op; replaced from index.ts */\n};\n\n/** @internal */\nexport function _setEnsureInitialized(fn: () => void): void {\n ensureInitialized = fn;\n}\n\nfunction logImpl(message: string, options: LogOptions = {}): void {\n // Match Python semantics: env-driven auto-init kicks in if the SDK\n // hasn't been explicitly init()'d yet but MORSE_API_KEY is set.\n ensureInitialized();\n const transport: TransportLike | null = getTransport();\n if (transport === null) {\n // SDK not initialised — silent no-op. Matches Python behaviour\n // (`_ensure_initialized()` short-circuit).\n return;\n }\n\n // Auto-pull trace + span IDs from the active context. Re-uses the\n // exact same context primitive that `track()` / `run()` / `span()`\n // use, so a `log()` call inside an `await run(...)` callback will\n // see the active trace's IDs.\n let traceId: string | null = options.traceId ?? null;\n let spanId: string | null = options.spanId ?? null;\n if (traceId === null || spanId === null) {\n const state = getActiveTraceState();\n if (state !== null) {\n if (traceId === null) traceId = state.traceId;\n if (spanId === null && state.spanStack.length > 0) {\n spanId = state.spanStack[state.spanStack.length - 1]!.span_id;\n }\n }\n }\n\n const severity = (options.severity ?? \"info\").toUpperCase();\n const serviceName = options.serviceName ?? DEFAULT_SERVICE_NAME;\n\n // PII redaction reuses the trace path's allow-list config. Mirrors\n // the Python client's `self._redaction_config.redact_value(payload)`\n // call.\n const config = getRedactionConfig();\n const rawAttributes = options.attributes ?? {};\n const redactedAttributes = config.enabled\n ? (redactValue(rawAttributes, config) as Record<string, unknown>)\n : rawAttributes;\n const redactedBody = config.enabled\n ? (redactValue(String(message), config) as string)\n : String(message);\n\n const record = {\n timestamp: new Date().toISOString(),\n severity,\n service_name: serviceName,\n body: redactedBody,\n attributes: redactedAttributes,\n trace_id: traceId,\n span_id: spanId,\n };\n\n transport.track({ logs: [record] });\n}\n\n/**\n * Emit a log record correlated to the current trace context.\n *\n * Auto-correlates to the surrounding `morse.run()` /\n * `morse.span()` if one is active. Inside a trace, the record's\n * `trace_id` + `span_id` are filled in from `AsyncLocalStorage`;\n * outside a trace, both fields are `null` and the record is still\n * accepted by the backend (it surfaces in the service-wide Logs view\n * but not on any individual trace's Correlation panel).\n *\n * Non-blocking. Batched alongside trace events on the existing\n * transport — flushes at the SDK's configured interval (default 2s).\n * Internal errors are absorbed; this call never throws.\n *\n * Silent no-op when the SDK isn't initialised (no `MORSE_API_KEY`\n * and no explicit `init()` call).\n *\n * @example\n * ```ts\n * import { init, runTraced, log } from \"@morsehq-dev/sdk\";\n *\n * init({ apiKey: process.env.MORSE_API_KEY });\n *\n * await runTraced({ agentName: \"lead-qualifier\" }, async () => {\n * log(\"starting search\", { attributes: { query: \"morse\" } });\n * const results = await search();\n * log(\"search complete\", {\n * severity: \"info\",\n * attributes: { result_count: results.length },\n * });\n * });\n * ```\n */\nexport const log = absorbErrorsSync(logImpl, {\n fingerprint: \"morse.log\",\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkRRE2LX2A_cjs = require('./chunk-RRE2LX2A.cjs');
|
|
4
4
|
|
|
5
5
|
// src/_agent-sdk-common/redaction.ts
|
|
6
6
|
var DEFAULT_TOOL_ARG_MAX_BYTES = 2048;
|
|
@@ -25,10 +25,10 @@ function summarizeImpl(value, opts, defaultMax) {
|
|
|
25
25
|
}
|
|
26
26
|
var summarizeToolInputInner = (value, opts) => summarizeImpl(value, opts ?? {}, DEFAULT_TOOL_ARG_MAX_BYTES);
|
|
27
27
|
var summarizeToolOutputInner = (value, opts) => summarizeImpl(value, opts ?? {}, DEFAULT_TOOL_OUTPUT_MAX_BYTES);
|
|
28
|
-
var safeSummarizeToolInput =
|
|
28
|
+
var safeSummarizeToolInput = chunkRRE2LX2A_cjs.absorbErrorsSync(summarizeToolInputInner, {
|
|
29
29
|
fingerprint: "agent-sdk.redaction.summarizeToolInput"
|
|
30
30
|
});
|
|
31
|
-
var safeSummarizeToolOutput =
|
|
31
|
+
var safeSummarizeToolOutput = chunkRRE2LX2A_cjs.absorbErrorsSync(summarizeToolOutputInner, {
|
|
32
32
|
fingerprint: "agent-sdk.redaction.summarizeToolOutput"
|
|
33
33
|
});
|
|
34
34
|
function summarizeToolInput(value, opts) {
|
|
@@ -89,7 +89,7 @@ function summarizeBinaryBlockInner(block) {
|
|
|
89
89
|
if (mime !== void 0) out.mime = mime;
|
|
90
90
|
return out;
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
chunkRRE2LX2A_cjs.absorbErrorsSync(summarizeBinaryBlockInner, {
|
|
93
93
|
fingerprint: "agent-sdk.redaction.summarizeBinaryBlock"
|
|
94
94
|
});
|
|
95
95
|
function redactContentBlocksInner(blocks) {
|
|
@@ -98,7 +98,7 @@ function redactContentBlocksInner(blocks) {
|
|
|
98
98
|
return summary === null ? block : summary;
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
chunkRRE2LX2A_cjs.absorbErrorsSync(redactContentBlocksInner, {
|
|
102
102
|
fingerprint: "agent-sdk.redaction.redactContentBlocks"
|
|
103
103
|
});
|
|
104
104
|
var DATA_URL_RE = /data:[A-Za-z0-9.+/-]*(?:;[A-Za-z0-9.=+/-]+)*?;base64,[A-Za-z0-9+/=]+/g;
|
|
@@ -411,5 +411,5 @@ function rotr(x, n) {
|
|
|
411
411
|
|
|
412
412
|
exports.summarizeToolInput = summarizeToolInput;
|
|
413
413
|
exports.summarizeToolOutput = summarizeToolOutput;
|
|
414
|
-
//# sourceMappingURL=chunk-
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
414
|
+
//# sourceMappingURL=chunk-DGBQ3UI6.cjs.map
|
|
415
|
+
//# sourceMappingURL=chunk-DGBQ3UI6.cjs.map
|