@coalex-ai/sdk 1.3.0-beta.398 → 1.3.0-beta.400

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.
@@ -1,3 +1,9 @@
1
- import { type Tracer } from "@opentelemetry/api";
1
+ import { type Context, type Tracer } from "@opentelemetry/api";
2
2
  export declare function getTracer(): Tracer;
3
+ /**
4
+ * Get the best available parent context for creating a child span.
5
+ * Checks the span context bridge first (fixes async boundary issues),
6
+ * then falls back to OTel's implicit context.
7
+ */
8
+ export declare function getParentContext(): Context;
3
9
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/ext/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/ext/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG/E,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
package/dist/ext/base.js CHANGED
@@ -1,5 +1,14 @@
1
- import { trace } from "@opentelemetry/api";
1
+ import { context, trace } from "@opentelemetry/api";
2
+ import { spanContextBridge } from "./context-bridge.js";
2
3
  export function getTracer() {
3
4
  return trace.getTracer("coalex.ext");
4
5
  }
6
+ /**
7
+ * Get the best available parent context for creating a child span.
8
+ * Checks the span context bridge first (fixes async boundary issues),
9
+ * then falls back to OTel's implicit context.
10
+ */
11
+ export function getParentContext() {
12
+ return spanContextBridge.getNearestParent() ?? context.active();
13
+ }
5
14
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/ext/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/ext/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAE,KAAK,EAAe,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AAClE,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Span context bridge for fixing OTel context propagation across
3
+ * async execution boundaries (e.g. LangGraph.js task executors).
4
+ *
5
+ * Tracks active TOOL spans in a global registry so that ext wrappers
6
+ * (retrievalSpan, etc.) can find the correct parent context.
7
+ */
8
+ import { type Context, trace } from "@opentelemetry/api";
9
+ declare class SpanContextBridge {
10
+ private readonly stacks;
11
+ push(span: ReturnType<typeof trace.getSpan>, ctx: Context): void;
12
+ pop(spanCtx: {
13
+ traceId: string;
14
+ spanId: string;
15
+ }): void;
16
+ getNearestParent(): Context | null;
17
+ clear(): void;
18
+ }
19
+ export declare const spanContextBridge: SpanContextBridge;
20
+ export {};
21
+ //# sourceMappingURL=context-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-bridge.d.ts","sourceRoot":"","sources":["../../src/ext/context-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAW,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAUlE,cAAM,iBAAiB;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAE3D,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAYhE,GAAG,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYvD,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAkBlC,KAAK,IAAI,IAAI;CAGd;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Span context bridge for fixing OTel context propagation across
3
+ * async execution boundaries (e.g. LangGraph.js task executors).
4
+ *
5
+ * Tracks active TOOL spans in a global registry so that ext wrappers
6
+ * (retrievalSpan, etc.) can find the correct parent context.
7
+ */
8
+ import { context, trace } from "@opentelemetry/api";
9
+ const STALE_TTL_MS = 300_000; // 5 minutes
10
+ class SpanContextBridge {
11
+ stacks = new Map();
12
+ push(span, ctx) {
13
+ if (!span)
14
+ return;
15
+ const spanCtx = span.spanContext();
16
+ if (!spanCtx.traceId)
17
+ return;
18
+ const traceId = spanCtx.traceId;
19
+ const spanId = spanCtx.spanId;
20
+ const enrichedCtx = trace.setSpan(ctx, span);
21
+ const stack = this.stacks.get(traceId) ?? [];
22
+ stack.push({ spanId, context: enrichedCtx, timestamp: Date.now() });
23
+ this.stacks.set(traceId, stack);
24
+ }
25
+ pop(spanCtx) {
26
+ if (!spanCtx.traceId)
27
+ return;
28
+ const stack = this.stacks.get(spanCtx.traceId);
29
+ if (!stack)
30
+ return;
31
+ const filtered = stack.filter((e) => e.spanId !== spanCtx.spanId);
32
+ if (filtered.length === 0) {
33
+ this.stacks.delete(spanCtx.traceId);
34
+ }
35
+ else {
36
+ this.stacks.set(spanCtx.traceId, filtered);
37
+ }
38
+ }
39
+ getNearestParent() {
40
+ const current = trace.getSpan(context.active());
41
+ if (!current)
42
+ return null;
43
+ const traceId = current.spanContext().traceId;
44
+ if (!traceId)
45
+ return null;
46
+ const stack = this.stacks.get(traceId);
47
+ if (!stack || stack.length === 0)
48
+ return null;
49
+ const now = Date.now();
50
+ // Clean stale entries
51
+ const fresh = stack.filter((e) => now - e.timestamp < STALE_TTL_MS);
52
+ if (fresh.length === 0) {
53
+ this.stacks.delete(traceId);
54
+ return null;
55
+ }
56
+ this.stacks.set(traceId, fresh);
57
+ return fresh[fresh.length - 1].context;
58
+ }
59
+ clear() {
60
+ this.stacks.clear();
61
+ }
62
+ }
63
+ export const spanContextBridge = new SpanContextBridge();
64
+ //# sourceMappingURL=context-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-bridge.js","sourceRoot":"","sources":["../../src/ext/context-bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/ext/embedding.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAgC5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAc,EAAE,SAAS,CAAC,EAAE,MAAM;IAKlD,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,SAAK,GAAG,IAAI;IAO5C,GAAG,IAAI,IAAI;CAGZ"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/ext/embedding.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAiC5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAc,EAAE,SAAS,CAAC,EAAE,MAAM;IAKlD,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,SAAK,GAAG,IAAI;IAO5C,GAAG,IAAI,IAAI;CAGZ"}
@@ -1,9 +1,10 @@
1
- import { getTracer } from "./base.js";
1
+ import { getParentContext, getTracer } from "./base.js";
2
2
  export function embeddingSpan(options, fn) {
3
3
  const spanName = options.name ?? "embedding";
4
4
  return async (...args) => {
5
5
  const tracer = getTracer();
6
- return tracer.startActiveSpan(spanName, async (span) => {
6
+ const parentCtx = getParentContext();
7
+ return tracer.startActiveSpan(spanName, {}, parentCtx, async (span) => {
7
8
  try {
8
9
  span.setAttribute("openinference.span.kind", "EMBEDDING");
9
10
  if (options.modelName) {
@@ -40,7 +41,8 @@ export class EmbeddingSpan {
40
41
  }
41
42
  start() {
42
43
  const tracer = getTracer();
43
- this.span = tracer.startSpan(this.spanName);
44
+ const parentCtx = getParentContext();
45
+ this.span = tracer.startSpan(this.spanName, {}, parentCtx);
44
46
  this.span.setAttribute("openinference.span.kind", "EMBEDDING");
45
47
  if (this.modelName) {
46
48
  this.span.setAttribute("embedding.model_name", this.modelName);
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/ext/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/ext/embedding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/ext/guardrail.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA2B5B"}
1
+ {"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/ext/guardrail.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA4B5B"}
@@ -1,11 +1,12 @@
1
1
  import { SpanStatusCode } from "@opentelemetry/api";
2
- import { getTracer } from "./base.js";
2
+ import { getParentContext, getTracer } from "./base.js";
3
3
  export function guardrailSpan(options, fn) {
4
4
  const spanName = options.name ?? "guardrail";
5
5
  const logicalName = options.guardrailName ?? spanName;
6
6
  return async (...args) => {
7
7
  const tracer = getTracer();
8
- return tracer.startActiveSpan(spanName, async (span) => {
8
+ const parentCtx = getParentContext();
9
+ return tracer.startActiveSpan(spanName, {}, parentCtx, async (span) => {
9
10
  try {
10
11
  span.setAttribute("openinference.span.kind", "GUARDRAIL");
11
12
  span.setAttribute("guardrail.name", logicalName);
@@ -1 +1 @@
1
- {"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/ext/guardrail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOtC,MAAM,UAAU,aAAa,CAC3B,OAA6B,EAC7B,EAAkC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;IAEtD,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,eAAe,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/ext/guardrail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOxD,MAAM,UAAU,aAAa,CAC3B,OAA6B,EAC7B,EAAkC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;IAEtD,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpE,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,eAAe,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.d.ts","sourceRoot":"","sources":["../../src/ext/reranker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACjD,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA4C5B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAa,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAMhE,KAAK,IAAI,IAAI;IAYb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIzC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI1C,GAAG,IAAI,IAAI;CAGZ"}
1
+ {"version":3,"file":"reranker.d.ts","sourceRoot":"","sources":["../../src/ext/reranker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACjD,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA6C5B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAa,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAMhE,KAAK,IAAI,IAAI;IAab,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIzC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI1C,GAAG,IAAI,IAAI;CAGZ"}
@@ -1,10 +1,11 @@
1
- import { getTracer } from "./base.js";
1
+ import { getParentContext, getTracer } from "./base.js";
2
2
  import { encodeDocuments } from "./retrieval.js";
3
3
  export function rerankerSpan(options, fn) {
4
4
  const spanName = options.name ?? "reranker";
5
5
  return async (...args) => {
6
6
  const tracer = getTracer();
7
- return tracer.startActiveSpan(spanName, async (span) => {
7
+ const parentCtx = getParentContext();
8
+ return tracer.startActiveSpan(spanName, {}, parentCtx, async (span) => {
8
9
  try {
9
10
  span.setAttribute("openinference.span.kind", "RERANKER");
10
11
  if (options.modelName) {
@@ -47,7 +48,8 @@ export class RerankerSpan {
47
48
  }
48
49
  start() {
49
50
  const tracer = getTracer();
50
- this.span = tracer.startSpan(this.spanName);
51
+ const parentCtx = getParentContext();
52
+ this.span = tracer.startSpan(this.spanName, {}, parentCtx);
51
53
  this.span.setAttribute("openinference.span.kind", "RERANKER");
52
54
  if (this.modelName) {
53
55
  this.span.setAttribute("reranker.model_name", this.modelName);
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../src/ext/reranker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../src/ext/reranker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/ext/retrieval.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAYD,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAExD;AAWD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA6B5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAc;IAI9B,KAAK,IAAI,IAAI;IAMb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAKpC,GAAG,IAAI,IAAI;CAIZ"}
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/ext/retrieval.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAYD,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAExD;AAWD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClD,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA8B5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,IAAI,CAAqB;gBAErB,IAAI,SAAc;IAI9B,KAAK,IAAI,IAAI;IAOb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI;IAKpC,GAAG,IAAI,IAAI;CAIZ"}
@@ -1,5 +1,5 @@
1
1
  import { SpanStatusCode } from "@opentelemetry/api";
2
- import { getTracer } from "./base.js";
2
+ import { getParentContext, getTracer } from "./base.js";
3
3
  function toOpenInferenceDict(doc) {
4
4
  const d = { "document.content": doc.content };
5
5
  if (doc.id !== undefined)
@@ -26,7 +26,8 @@ export function retrievalSpan(options, fn) {
26
26
  const spanName = options.name ?? "retrieval";
27
27
  return async (...args) => {
28
28
  const tracer = getTracer();
29
- return tracer.startActiveSpan(spanName, async (span) => {
29
+ const parentCtx = getParentContext();
30
+ return tracer.startActiveSpan(spanName, {}, parentCtx, async (span) => {
30
31
  try {
31
32
  span.setAttribute("openinference.span.kind", "RETRIEVER");
32
33
  const query = args.find((a) => typeof a === "string");
@@ -61,7 +62,8 @@ export class RetrievalSpan {
61
62
  }
62
63
  start() {
63
64
  const tracer = getTracer();
64
- this.span = tracer.startSpan(this.spanName);
65
+ const parentCtx = getParentContext();
66
+ this.span = tracer.startSpan(this.spanName, {}, parentCtx);
65
67
  this.span.setAttribute("openinference.span.kind", "RETRIEVER");
66
68
  }
67
69
  setQuery(query) {
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/ext/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAStC,SAAS,mBAAmB,CAAC,GAAa;IACxC,MAAM,CAAC,GAA4B,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACvE,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;QAAE,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7D,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,CAAC,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,IAAI,OAAO,GAAG,aAAa,IAAI,CAAC,MAAM,cAAc,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;IACvD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOD,MAAM,UAAU,aAAa,CAC3B,OAA6B,EAC7B,EAAkC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IAE7C,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;gBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;oBACnF,MAAM,IAAI,GAAG,MAAoB,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,eAAe,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACP,QAAQ,CAAS;IAC1B,IAAI,GAAgB,IAAI,CAAC;IAEjC,YAAY,IAAI,GAAG,WAAW;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,qBAAqB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/ext/retrieval.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/ext/tool.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAuB5B"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/ext/tool.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAwB5B"}
package/dist/ext/tool.js CHANGED
@@ -1,8 +1,9 @@
1
- import { getTracer } from "./base.js";
1
+ import { getParentContext, getTracer } from "./base.js";
2
2
  export function toolSpan(options, fn) {
3
3
  return async (...args) => {
4
4
  const tracer = getTracer();
5
- return tracer.startActiveSpan(options.name, async (span) => {
5
+ const parentCtx = getParentContext();
6
+ return tracer.startActiveSpan(options.name, {}, parentCtx, async (span) => {
6
7
  try {
7
8
  span.setAttribute("openinference.span.kind", "TOOL");
8
9
  span.setAttribute("tool.name", options.name);
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/ext/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOtC,MAAM,UAAU,QAAQ,CACtB,OAAwB,EACxB,EAAkC;IAElC,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACzD,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACH,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7D,CAAC;oBAAC,MAAM,CAAC;wBACP,8BAA8B;oBAChC,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/ext/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOxD,MAAM,UAAU,QAAQ,CACtB,OAAwB,EACxB,EAAkC;IAElC,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxE,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACH,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7D,CAAC;oBAAC,MAAM,CAAC;wBACP,8BAA8B;oBAChC,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import type { Context } from "@opentelemetry/api";
2
2
  import type { ReadableSpan, Span, SpanProcessor } from "@opentelemetry/sdk-trace-base";
3
3
  export declare class CoalexAttributePropagator implements SpanProcessor {
4
4
  onStart(span: Span, parentContext: Context): void;
5
- onEnd(_span: ReadableSpan): void;
5
+ onEnd(span: ReadableSpan): void;
6
6
  shutdown(): Promise<void>;
7
7
  forceFlush(): Promise<void>;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-processor.d.ts","sourceRoot":"","sources":["../src/span-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAQvF,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAgBjD,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAGzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
1
+ {"version":3,"file":"span-processor.d.ts","sourceRoot":"","sources":["../src/span-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAWvF,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAyBjD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAM/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAGzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
@@ -1,11 +1,21 @@
1
1
  import { trace } from "@opentelemetry/api";
2
+ import { spanContextBridge } from "./ext/context-bridge.js";
2
3
  const ATTRIBUTES_TO_PROPAGATE = [
3
4
  "coalex.agent_id",
4
5
  "coalex.request_id",
5
6
  "coalex.agent_version",
6
7
  ];
8
+ const PARENT_SPAN_KINDS = new Set(["TOOL"]);
7
9
  export class CoalexAttributePropagator {
8
10
  onStart(span, parentContext) {
11
+ // Track TOOL spans in the context bridge for ext wrapper parenting
12
+ // (must run before the parent check — TOOL spans may have no parent)
13
+ const spanReadable = span;
14
+ const spanKind = spanReadable.attributes?.["openinference.span.kind"];
15
+ if (typeof spanKind === "string" && PARENT_SPAN_KINDS.has(spanKind)) {
16
+ spanContextBridge.push(span, parentContext);
17
+ }
18
+ // Propagate coalex attributes from parent to child
9
19
  const parentSpan = trace.getSpan(parentContext);
10
20
  if (!parentSpan)
11
21
  return;
@@ -20,7 +30,12 @@ export class CoalexAttributePropagator {
20
30
  }
21
31
  }
22
32
  }
23
- onEnd(_span) { }
33
+ onEnd(span) {
34
+ const spanKind = span.attributes?.["openinference.span.kind"];
35
+ if (typeof spanKind === "string" && PARENT_SPAN_KINDS.has(spanKind)) {
36
+ spanContextBridge.pop(span.spanContext());
37
+ }
38
+ }
24
39
  shutdown() {
25
40
  return Promise.resolve();
26
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-processor.js","sourceRoot":"","sources":["../src/span-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,uBAAuB,GAAG;IAC9B,iBAAiB;IACjB,mBAAmB;IACnB,sBAAsB;CACd,CAAC;AAEX,MAAM,OAAO,yBAAyB;IACpC,OAAO,CAAC,IAAU,EAAE,aAAsB;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,cAAc,GAAG,UAAqC,CAAC;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAmB,IAAS,CAAC;IACnC,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"span-processor.js","sourceRoot":"","sources":["../src/span-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,uBAAuB,GAAG;IAC9B,iBAAiB;IACjB,mBAAmB;IACnB,sBAAsB;CACd,CAAC;AAEX,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,MAAM,OAAO,yBAAyB;IACpC,OAAO,CAAC,IAAU,EAAE,aAAsB;QACxC,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,YAAY,GAAG,IAA+B,CAAC;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC;QACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,cAAc,GAAG,UAAqC,CAAC;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAC9D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coalex-ai/sdk",
3
- "version": "1.3.0-beta.398",
3
+ "version": "1.3.0-beta.400",
4
4
  "description": "Coalex TypeScript SDK for AI governance observability",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {