@uselemma/tracing 2.8.0 → 2.10.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.
@@ -0,0 +1,5 @@
1
+ export declare function enableDebugMode(): void;
2
+ export declare function disableDebugMode(): void;
3
+ export declare function isDebugModeEnabled(): boolean;
4
+ export declare function lemmaDebug(prefix: string, msg: string, data?: Record<string, unknown>): void;
5
+ //# sourceMappingURL=debug-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-mode.d.ts","sourceRoot":"","sources":["../src/debug-mode.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO5F"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableDebugMode = enableDebugMode;
4
+ exports.disableDebugMode = disableDebugMode;
5
+ exports.isDebugModeEnabled = isDebugModeEnabled;
6
+ exports.lemmaDebug = lemmaDebug;
7
+ let debugModeEnabled = false;
8
+ function enableDebugMode() {
9
+ debugModeEnabled = true;
10
+ }
11
+ function disableDebugMode() {
12
+ debugModeEnabled = false;
13
+ }
14
+ function isDebugModeEnabled() {
15
+ return debugModeEnabled || process.env["LEMMA_DEBUG"] === "true";
16
+ }
17
+ function lemmaDebug(prefix, msg, data) {
18
+ if (!isDebugModeEnabled())
19
+ return;
20
+ if (data !== undefined) {
21
+ console.log(`[lemma:${prefix}] ${msg}`, data);
22
+ }
23
+ else {
24
+ console.log(`[lemma:${prefix}] ${msg}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=debug-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-mode.js","sourceRoot":"","sources":["../src/debug-mode.ts"],"names":[],"mappings":";;AAEA,0CAEC;AAED,4CAEC;AAED,gDAEC;AAED,gCAOC;AArBD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAgB,eAAe;IAC7B,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,SAAgB,gBAAgB;IAC9B,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;AACnE,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,GAAW,EAAE,IAA8B;IACpF,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO;IAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { registerOTel, createLemmaSpanProcessor, type LemmaOTelOptions, type RegisterOTelOptions, type CreateLemmaSpanProcessorOptions, } from "./register";
2
2
  export { enableExperimentMode, disableExperimentMode, isExperimentModeEnabled, } from "./experiment-mode";
3
+ export { enableDebugMode, disableDebugMode, isDebugModeEnabled, } from "./debug-mode";
3
4
  export { wrapAgent, type TraceContext, type WrapAgentOptions } from "./trace-wrapper";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,GACrC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,GACrC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrapAgent = exports.isExperimentModeEnabled = exports.disableExperimentMode = exports.enableExperimentMode = exports.createLemmaSpanProcessor = exports.registerOTel = void 0;
3
+ exports.wrapAgent = exports.isDebugModeEnabled = exports.disableDebugMode = exports.enableDebugMode = exports.isExperimentModeEnabled = exports.disableExperimentMode = exports.enableExperimentMode = exports.createLemmaSpanProcessor = exports.registerOTel = void 0;
4
4
  var register_1 = require("./register");
5
5
  Object.defineProperty(exports, "registerOTel", { enumerable: true, get: function () { return register_1.registerOTel; } });
6
6
  Object.defineProperty(exports, "createLemmaSpanProcessor", { enumerable: true, get: function () { return register_1.createLemmaSpanProcessor; } });
@@ -8,6 +8,10 @@ var experiment_mode_1 = require("./experiment-mode");
8
8
  Object.defineProperty(exports, "enableExperimentMode", { enumerable: true, get: function () { return experiment_mode_1.enableExperimentMode; } });
9
9
  Object.defineProperty(exports, "disableExperimentMode", { enumerable: true, get: function () { return experiment_mode_1.disableExperimentMode; } });
10
10
  Object.defineProperty(exports, "isExperimentModeEnabled", { enumerable: true, get: function () { return experiment_mode_1.isExperimentModeEnabled; } });
11
+ var debug_mode_1 = require("./debug-mode");
12
+ Object.defineProperty(exports, "enableDebugMode", { enumerable: true, get: function () { return debug_mode_1.enableDebugMode; } });
13
+ Object.defineProperty(exports, "disableDebugMode", { enumerable: true, get: function () { return debug_mode_1.disableDebugMode; } });
14
+ Object.defineProperty(exports, "isDebugModeEnabled", { enumerable: true, get: function () { return debug_mode_1.isDebugModeEnabled; } });
11
15
  var trace_wrapper_1 = require("./trace-wrapper");
12
16
  Object.defineProperty(exports, "wrapAgent", { enumerable: true, get: function () { return trace_wrapper_1.wrapAgent; } });
13
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAMoB;AALlB,wGAAA,YAAY,OAAA;AACZ,oHAAA,wBAAwB,OAAA;AAK1B,qDAI2B;AAHzB,uHAAA,oBAAoB,OAAA;AACpB,wHAAA,qBAAqB,OAAA;AACrB,0HAAA,uBAAuB,OAAA;AAEzB,iDAAsF;AAA7E,0GAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAMoB;AALlB,wGAAA,YAAY,OAAA;AACZ,oHAAA,wBAAwB,OAAA;AAK1B,qDAI2B;AAHzB,uHAAA,oBAAoB,OAAA;AACpB,wHAAA,qBAAqB,OAAA;AACrB,0HAAA,uBAAuB,OAAA;AAEzB,2CAIsB;AAHpB,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAEpB,iDAAsF;AAA7E,0GAAA,SAAS,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-batch-span-processor.d.ts","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAKvC,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,QAAQ,EAAE,YAAY;IAIlC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IA+BlD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAiDzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;YAIV,cAAc;IAkB5B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,eAAe;CAgBxB"}
1
+ {"version":3,"file":"run-batch-span-processor.d.ts","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAMvC,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,QAAQ,EAAE,YAAY;IAIlC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAiClD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAqDzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;YAIV,cAAc;IAmB5B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,eAAe;CAgBxB"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RunBatchSpanProcessor = void 0;
4
4
  const crypto_1 = require("crypto");
5
+ const debug_mode_1 = require("./debug-mode");
5
6
  class RunBatchSpanProcessor {
6
7
  isShutdown = false;
7
8
  spanIdToRunId = new Map();
@@ -28,6 +29,7 @@ class RunBatchSpanProcessor {
28
29
  this.autoEndEnabledRuns.add(runId);
29
30
  }
30
31
  this.directChildCountByRunId.set(runId, 0);
32
+ (0, debug_mode_1.lemmaDebug)("processor", "onStart: top-level run span", { spanId, runId, autoEnd: this.autoEndEnabledRuns.has(runId) });
31
33
  return;
32
34
  }
33
35
  const parentSpanId = span.parentSpanContext?.spanId;
@@ -42,6 +44,7 @@ class RunBatchSpanProcessor {
42
44
  }
43
45
  this.spanIdToRunId.set(spanId, runId);
44
46
  span.setAttribute("lemma.run_id", runId);
47
+ (0, debug_mode_1.lemmaDebug)("processor", "onStart: child span", { spanName: span.name, spanId, runId });
45
48
  }
46
49
  onEnd(span) {
47
50
  const spanId = span.spanContext().spanId;
@@ -60,15 +63,18 @@ class RunBatchSpanProcessor {
60
63
  const currentCount = this.directChildCountByRunId.get(directChildRunId) ?? 0;
61
64
  const nextCount = Math.max(0, currentCount - 1);
62
65
  this.directChildCountByRunId.set(directChildRunId, nextCount);
66
+ (0, debug_mode_1.lemmaDebug)("processor", "onEnd: direct child ended", { spanName: span.name, spanId, runId: directChildRunId, remainingChildren: nextCount });
63
67
  if (nextCount === 0 &&
64
68
  !this.endedRuns.has(directChildRunId) &&
65
69
  this.autoEndEnabledRuns.has(directChildRunId)) {
66
70
  topLevelSpanToAutoEnd = this.topLevelSpanByRunId.get(directChildRunId);
67
71
  if (topLevelSpanToAutoEnd) {
68
72
  this.topLevelSpanByRunId.delete(directChildRunId);
73
+ (0, debug_mode_1.lemmaDebug)("processor", "onEnd: triggering auto-end of top-level span", { runId: directChildRunId });
69
74
  }
70
75
  }
71
76
  }
77
+ (0, debug_mode_1.lemmaDebug)("processor", "onEnd: span ended", { spanName: span.name, spanId, runId, isTopLevelRun, skipped: shouldSkipExport });
72
78
  if (!shouldSkipExport) {
73
79
  const batch = this.batches.get(runId);
74
80
  if (batch)
@@ -86,6 +92,7 @@ class RunBatchSpanProcessor {
86
92
  void this.exportRunBatch(runId, false);
87
93
  }
88
94
  async forceFlush() {
95
+ (0, debug_mode_1.lemmaDebug)("processor", "forceFlush called");
89
96
  const runIds = [...this.batches.keys()];
90
97
  await Promise.all(runIds.map((runId) => this.exportRunBatch(runId, true)));
91
98
  if (this.exporter.forceFlush) {
@@ -95,6 +102,7 @@ class RunBatchSpanProcessor {
95
102
  async shutdown() {
96
103
  if (this.isShutdown)
97
104
  return;
105
+ (0, debug_mode_1.lemmaDebug)("processor", "shutdown called");
98
106
  this.isShutdown = true;
99
107
  await this.forceFlush();
100
108
  this.exporter.shutdown();
@@ -129,6 +137,7 @@ class RunBatchSpanProcessor {
129
137
  this.clearRunMapping(runId);
130
138
  if (!batch || batch.length === 0)
131
139
  return;
140
+ (0, debug_mode_1.lemmaDebug)("processor", "exporting batch", { runId, spanCount: batch.length, force });
132
141
  await new Promise((resolve) => {
133
142
  this.exporter.export(batch, () => resolve());
134
143
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-batch-span-processor.js","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-batch-span-processor.js","sourceRoot":"","sources":["../src/run-batch-span-processor.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAQpC,6CAA0C;AAK1C,MAAa,qBAAqB;IACxB,UAAU,GAAG,KAAK,CAAC;IACnB,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,mBAAmB,GAAG,IAAI,GAAG,EAAe,CAAC;IAC7C,qBAAqB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACjD,kBAAkB,GAAG,IAAI,GAAG,EAAS,CAAC;IACtC,uBAAuB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnD,wBAAwB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACpD,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAS,CAAC;IACpB,QAAQ,CAAe;IAExC,YAAY,QAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,cAAuB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QAEzC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAA,mBAAU,GAAE,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAA,uBAAU,EAAC,WAAW,EAAE,6BAA6B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvH,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACpD,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,EAAE,CAAC;YAC3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACzC,IAAA,uBAAU,EAAC,WAAW,EAAE,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QACzC,MAAM,KAAK,GACT,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM;gBAC7B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACvD,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,qBAAuC,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAA,uBAAU,EAAC,WAAW,EAAE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7I,IACE,SAAS,KAAK,CAAC;gBACf,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAC7C,CAAC;gBACD,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACvE,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAClD,IAAA,uBAAU,EAAC,WAAW,EAAE,8CAA8C,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAA,uBAAU,EAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE/H,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,qBAAqB,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAA,uBAAU,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAA,uBAAU,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEO,aAAa,CAAC,IAAyB;QAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,IAAU;QACjC,MAAM,UAAU,GAAI,IAA4D;aAC7E,UAAU,CAAC;QACd,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC;QAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAEO,gBAAgB,CAAC,IAAU;QACjC,MAAM,UAAU,GAAI,IAA4D;aAC7E,UAAU,CAAC;QACd,OAAO,UAAU,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;IACtD,CAAC;IAEO,2BAA2B,CAAC,IAAyB;QAC3D,OACE,IAGD,CAAC,oBAAoB,EAAE,IAAI,CAAC;IAC/B,CAAC;IAEO,gBAAgB,CAAC,IAAyB;QAChD,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAY,EAAE,KAAc;QACvD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,IAAA,uBAAU,EAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,KAAY;QAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEO,eAAe,CAAC,KAAY;QAClC,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACjE,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5E,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF;AA5LD,sDA4LC"}
@@ -5,8 +5,9 @@ export type TraceContext = {
5
5
  /** Unique identifier for this agent run. */
6
6
  runId: string;
7
7
  /**
8
- * Signal the run is complete. When `autoEndRoot` is disabled, this
9
- * ends the top-level span and returns `true`.
8
+ * Signal the run is complete. When `autoEndRoot` is enabled (the default),
9
+ * this is a no-op and returns `false` — the span is ended automatically.
10
+ * When `autoEndRoot` is disabled, this ends the top-level span and returns `true`.
10
11
  */
11
12
  onComplete: (result: unknown) => boolean;
12
13
  /** Record an error on the span. Marks the span as errored. */
@@ -16,8 +17,9 @@ export type WrapAgentOptions = {
16
17
  /** Mark this run as an experiment in Lemma. */
17
18
  isExperiment?: boolean;
18
19
  /**
19
- * If `true`, the run processor will automatically end the top-level span
20
- * when all direct child spans have ended.
20
+ * If `true` (the default), the top-level span is automatically ended when
21
+ * the wrapped function returns or throws. Set to `false` to manage span
22
+ * lifetime manually via `ctx.onComplete`.
21
23
  */
22
24
  autoEndRoot?: boolean;
23
25
  };
@@ -42,7 +44,7 @@ export type WrapAgentOptions = {
42
44
  * @param fn - The agent function to wrap. Receives a {@link TraceContext} as its first argument and the call-time input as its second.
43
45
  * @param options - Configuration for the agent trace.
44
46
  * @param options.isExperiment - Mark this run as an experiment in Lemma.
45
- * @param options.autoEndRoot - Enable processor-driven automatic ending of the top-level span after direct children have ended.
47
+ * @param options.autoEndRoot - Automatically end the top-level span when the wrapped function returns or throws (default: `true`). Set to `false` to end manually via `ctx.onComplete`.
46
48
  * @returns An async function that accepts an `input`, executes `fn` inside a traced context, and returns `{ result, runId, span }`.
47
49
  */
48
50
  export declare function wrapAgent<Input = unknown>(agentName: string, fn: (traceContext: TraceContext, input: Input) => any, options?: WrapAgentOptions): (this: any, input: Input) => Promise<{
@@ -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,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"}
1
+ {"version":3,"file":"trace-wrapper.d.ts","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAKxE,MAAM,MAAM,YAAY,GAAG;IACzB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;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;;;;OAIG;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;;;;GAkEhE"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.wrapAgent = wrapAgent;
4
4
  const api_1 = require("@opentelemetry/api");
5
5
  const uuid_1 = require("uuid");
6
+ const debug_mode_1 = require("./debug-mode");
6
7
  const experiment_mode_1 = require("./experiment-mode");
7
8
  /**
8
9
  * Wraps an agent function with OpenTelemetry tracing, automatically creating
@@ -25,7 +26,7 @@ const experiment_mode_1 = require("./experiment-mode");
25
26
  * @param fn - The agent function to wrap. Receives a {@link TraceContext} as its first argument and the call-time input as its second.
26
27
  * @param options - Configuration for the agent trace.
27
28
  * @param options.isExperiment - Mark this run as an experiment in Lemma.
28
- * @param options.autoEndRoot - Enable processor-driven automatic ending of the top-level span after direct children have ended.
29
+ * @param options.autoEndRoot - Automatically end the top-level span when the wrapped function returns or throws (default: `true`). Set to `false` to end manually via `ctx.onComplete`.
29
30
  * @returns An async function that accepts an `input`, executes `fn` inside a traced context, and returns `{ result, runId, span }`.
30
31
  */
31
32
  function wrapAgent(agentName, fn, options) {
@@ -34,39 +35,54 @@ function wrapAgent(agentName, fn, options) {
34
35
  const tracer = api_1.trace.getTracer("lemma");
35
36
  // Generate a unique run ID and open a new span for this agent invocation
36
37
  const runId = (0, uuid_1.v4)();
38
+ const autoEndRoot = options?.autoEndRoot !== false; // default true
37
39
  const span = tracer.startSpan("ai.agent.run", {
38
40
  attributes: {
39
41
  "ai.agent.name": agentName,
40
42
  "lemma.run_id": runId,
41
43
  "lemma.is_experiment": (0, experiment_mode_1.isExperimentModeEnabled)() || options?.isExperiment === true,
42
- "lemma.auto_end_root": options?.autoEndRoot === true,
44
+ "lemma.auto_end_root": autoEndRoot,
43
45
  },
44
46
  }, api_1.ROOT_CONTEXT);
47
+ (0, debug_mode_1.lemmaDebug)("trace-wrapper", "span started", { agentName, runId, autoEndRoot });
45
48
  // Propagate the span as the active context so child spans are nested correctly
46
49
  const ctx = api_1.trace.setSpan(api_1.ROOT_CONTEXT, span);
47
- const autoEndRoot = options?.autoEndRoot === true;
48
50
  let rootEnded = false;
49
51
  try {
50
52
  return await api_1.context.with(ctx, async () => {
51
53
  const onComplete = (_result) => {
52
- if (autoEndRoot || rootEnded)
53
- return false;
54
- rootEnded = true;
55
- span.end();
56
- return true;
54
+ if (!autoEndRoot && !rootEnded) {
55
+ rootEnded = true;
56
+ span.end();
57
+ (0, debug_mode_1.lemmaDebug)("trace-wrapper", "span ended via onComplete", { runId });
58
+ return true;
59
+ }
60
+ (0, debug_mode_1.lemmaDebug)("trace-wrapper", "onComplete called but span not ended (autoEndRoot active or already ended)", { runId });
61
+ return false;
57
62
  };
58
63
  const recordError = (error) => {
59
64
  span.recordException(error instanceof Error ? error : new Error(String(error)));
60
65
  span.setStatus({ code: 2 }); // SpanStatusCode.ERROR
61
66
  };
62
67
  const result = await fn.call(this, { span, runId, onComplete, recordError }, input);
68
+ // Auto-end the span if autoEndRoot is enabled and onComplete hasn't ended it yet
69
+ if (autoEndRoot && !rootEnded) {
70
+ rootEnded = true;
71
+ span.end();
72
+ (0, debug_mode_1.lemmaDebug)("trace-wrapper", "span auto-ended after fn returned", { runId });
73
+ }
63
74
  return { result, runId, span };
64
75
  });
65
76
  }
66
77
  catch (err) {
67
- // Record the exception on the span and mark it as errored
78
+ // Record the exception on the span, mark it as errored, and end it
68
79
  span.recordException(err);
69
80
  span.setStatus({ code: 2 }); // SpanStatusCode.ERROR
81
+ if (!rootEnded) {
82
+ rootEnded = true;
83
+ span.end();
84
+ (0, debug_mode_1.lemmaDebug)("trace-wrapper", "span ended on error", { runId, error: String(err) });
85
+ }
70
86
  throw err;
71
87
  }
72
88
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"trace-wrapper.js","sourceRoot":"","sources":["../src/trace-wrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uselemma/tracing",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "OpenTelemetry-based tracing module for Lemma",
5
5
  "license": "MIT",
6
6
  "author": "Lemma",
@@ -41,15 +41,21 @@
41
41
  "uuid": "^13.0.0"
42
42
  },
43
43
  "devDependencies": {
44
+ "@arizeai/openinference-instrumentation-openai": "^4.0.5",
45
+ "@opentelemetry/instrumentation": "^0.213.0",
44
46
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
45
47
  "@types/node": "^22.18.8",
48
+ "@vitest/coverage-v8": "^3.2.4",
49
+ "openai": "^6.26.0",
46
50
  "prettier": "^3.6.2",
47
51
  "prettier-plugin-tailwindcss": "^0.6.14",
48
- "typescript": "^5.9.3"
52
+ "typescript": "^5.9.3",
53
+ "vitest": "^3.2.4"
49
54
  },
50
55
  "scripts": {
51
56
  "type-check": "tsc --noEmit",
52
57
  "build": "tsc",
53
- "clean": "rm -rf dist"
58
+ "clean": "rm -rf dist",
59
+ "test": "vitest run"
54
60
  }
55
61
  }