@uselemma/tracing 2.6.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -33,7 +33,6 @@ enableExperimentMode();
|
|
|
33
33
|
`wrapAgent` creates a root OpenTelemetry span named `ai.agent.run` and records:
|
|
34
34
|
- `ai.agent.name`
|
|
35
35
|
- `lemma.run_id`
|
|
36
|
-
- `ai.agent.input`
|
|
37
36
|
- `lemma.is_experiment`
|
|
38
37
|
|
|
39
38
|
```typescript
|
|
@@ -41,9 +40,9 @@ import { wrapAgent } from "@uselemma/tracing";
|
|
|
41
40
|
|
|
42
41
|
const wrappedFn = wrapAgent(
|
|
43
42
|
"my-agent",
|
|
44
|
-
async ({
|
|
43
|
+
async ({ onComplete }) => {
|
|
45
44
|
const result = await doWork(userMessage);
|
|
46
|
-
|
|
45
|
+
onComplete(result);
|
|
47
46
|
return result;
|
|
48
47
|
},
|
|
49
48
|
{ autoEndRoot: true },
|
package/dist/trace-wrapper.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export type TraceContext = {
|
|
|
5
5
|
/** Unique identifier for this agent run. */
|
|
6
6
|
runId: string;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Signal the run is complete. When `autoEndRoot` is disabled, this
|
|
9
|
+
* ends the top-level span and returns `true`.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
onComplete: (result: unknown) => boolean;
|
|
12
12
|
/** Record an error on the span. Marks the span as errored. */
|
|
13
13
|
recordError: (error: unknown) => void;
|
|
14
14
|
};
|
|
@@ -26,16 +26,14 @@ export type WrapAgentOptions = {
|
|
|
26
26
|
* a span for the agent run and providing a `TraceContext` to the wrapped function.
|
|
27
27
|
*
|
|
28
28
|
* The returned function creates a new root span on every invocation, attaches
|
|
29
|
-
* agent metadata (name, run ID,
|
|
30
|
-
* The `input` passed to the returned function is recorded as the agent's initial
|
|
31
|
-
* state on the span.
|
|
29
|
+
* agent metadata (name, run ID, experiment flag), and handles error recording.
|
|
32
30
|
*
|
|
33
31
|
* @example
|
|
34
32
|
* const myAgent = wrapAgent<{ topic: string }>(
|
|
35
33
|
* 'my-agent',
|
|
36
34
|
* async (ctx, input) => {
|
|
37
35
|
* const result = await doWork(input.topic);
|
|
38
|
-
* ctx.
|
|
36
|
+
* ctx.onComplete(result);
|
|
39
37
|
* },
|
|
40
38
|
* );
|
|
41
39
|
* await myAgent({ topic: 'math' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-wrapper.d.ts","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"trace-wrapper.d.ts","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACzC,8DAA8D;IAC9D,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,UAC/F,GAAG,SAAS,KAAK;;;;GAgDhE"}
|
package/dist/trace-wrapper.js
CHANGED
|
@@ -9,16 +9,14 @@ const experiment_mode_1 = require("./experiment-mode");
|
|
|
9
9
|
* a span for the agent run and providing a `TraceContext` to the wrapped function.
|
|
10
10
|
*
|
|
11
11
|
* The returned function creates a new root span on every invocation, attaches
|
|
12
|
-
* agent metadata (name, run ID,
|
|
13
|
-
* The `input` passed to the returned function is recorded as the agent's initial
|
|
14
|
-
* state on the span.
|
|
12
|
+
* agent metadata (name, run ID, experiment flag), and handles error recording.
|
|
15
13
|
*
|
|
16
14
|
* @example
|
|
17
15
|
* const myAgent = wrapAgent<{ topic: string }>(
|
|
18
16
|
* 'my-agent',
|
|
19
17
|
* async (ctx, input) => {
|
|
20
18
|
* const result = await doWork(input.topic);
|
|
21
|
-
* ctx.
|
|
19
|
+
* ctx.onComplete(result);
|
|
22
20
|
* },
|
|
23
21
|
* );
|
|
24
22
|
* await myAgent({ topic: 'math' });
|
|
@@ -40,7 +38,6 @@ function wrapAgent(agentName, fn, options) {
|
|
|
40
38
|
attributes: {
|
|
41
39
|
"ai.agent.name": agentName,
|
|
42
40
|
"lemma.run_id": runId,
|
|
43
|
-
"ai.agent.input": JSON.stringify(input),
|
|
44
41
|
"lemma.is_experiment": (0, experiment_mode_1.isExperimentModeEnabled)() || options?.isExperiment === true,
|
|
45
42
|
"lemma.auto_end_root": options?.autoEndRoot === true,
|
|
46
43
|
},
|
|
@@ -51,8 +48,7 @@ function wrapAgent(agentName, fn, options) {
|
|
|
51
48
|
let rootEnded = false;
|
|
52
49
|
try {
|
|
53
50
|
return await api_1.context.with(ctx, async () => {
|
|
54
|
-
const
|
|
55
|
-
span.setAttribute("ai.agent.output", JSON.stringify(result));
|
|
51
|
+
const onComplete = (_result) => {
|
|
56
52
|
if (autoEndRoot || rootEnded)
|
|
57
53
|
return false;
|
|
58
54
|
rootEnded = true;
|
|
@@ -63,7 +59,7 @@ function wrapAgent(agentName, fn, options) {
|
|
|
63
59
|
span.recordException(error instanceof Error ? error : new Error(String(error)));
|
|
64
60
|
span.setStatus({ code: 2 }); // SpanStatusCode.ERROR
|
|
65
61
|
};
|
|
66
|
-
const result = await fn.call(this, { span, runId,
|
|
62
|
+
const result = await fn.call(this, { span, runId, onComplete, recordError }, input);
|
|
67
63
|
return { result, runId, span };
|
|
68
64
|
});
|
|
69
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-wrapper.js","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"trace-wrapper.js","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":";;AAoDA,8BAiDC;AArGD,4CAAwE;AACxE,+BAAoC;AACpC,uDAA4D;AA0B5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,SAAS,CAAkB,SAAiB,EAAE,EAAqD,EAAE,OAA0B;IAC7I,MAAM,eAAe,GAAG,KAAK,WAAsB,KAAY;QAC7D,wDAAwD;QACxD,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExC,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAA,SAAM,GAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE;YAC5C,UAAU,EAAE;gBACV,eAAe,EAAE,SAAS;gBAC1B,cAAc,EAAE,KAAK;gBACrB,qBAAqB,EAAE,IAAA,yCAAuB,GAAE,IAAI,OAAO,EAAE,YAAY,KAAK,IAAI;gBAClF,qBAAqB,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI;aACrD;SACF,EAAE,kBAAY,CAAC,CAAC;QAEjB,+EAA+E;QAC/E,MAAM,GAAG,GAAG,WAAK,CAAC,OAAO,CAAC,kBAAY,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;QAClD,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,OAAO,MAAM,aAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBACxC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAW,EAAE;oBAC/C,IAAI,WAAW,IAAI,SAAS;wBAAE,OAAO,KAAK,CAAC;oBAC3C,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;gBAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;oBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;gBACtD,CAAC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEpF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0DAA0D;YAC1D,IAAI,CAAC,eAAe,CAAC,GAAY,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;YAEpD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
|