@introspection-sdk/introspection-pi 0.6.3 → 0.6.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/dist/index.d.ts CHANGED
@@ -21,6 +21,6 @@ export { instrumentStream, type InstrumentStreamOptions, } from "./instrument-st
21
21
  export { instrumentAgent, type AgentInstrumentation, type InstrumentAgentOptions, } from "./instrument-agent.js";
22
22
  export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, executeToolResultAttribute, type AgentMeta, } from "./attributes.js";
23
23
  export { assistantToOutputMessages, inputMessagesToMessages, messagesToInputMessages, systemPromptToInstructions, type ConvertOptions, } from "./convert.js";
24
- export type { GenAiAttributes, InputMessage, MessagePart, MessageRole, OutputMessage, ReasoningPart, SystemInstruction, TextPart, ToolCallRequestPart, ToolCallResponsePart, ToolDefinition, } from "@introspection-sdk/types";
25
- export { GenAi, GenAiSpanName, toAttributes } from "@introspection-sdk/types";
24
+ export type { AbortTerminationReason, GenAiAttributes, InputMessage, MessagePart, MessageRole, OutputMessage, ReasoningPart, SystemInstruction, TextPart, ToolCallRequestPart, ToolCallResponsePart, ToolDefinition, } from "@introspection-sdk/types";
25
+ export { GenAi, GenAiSpanName, IntrospectionAttr, toAttributes, } from "@introspection-sdk/types";
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -26,5 +26,5 @@ export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, e
26
26
  // from stored span attributes) and downstream consumers that want the raw
27
27
  // semconv shapes.
28
28
  export { assistantToOutputMessages, inputMessagesToMessages, messagesToInputMessages, systemPromptToInstructions, } from "./convert.js";
29
- export { GenAi, GenAiSpanName, toAttributes } from "@introspection-sdk/types";
29
+ export { GenAi, GenAiSpanName, IntrospectionAttr, toAttributes, } from "@introspection-sdk/types";
30
30
  //# 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;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAE3B,MAAM,iBAAiB,CAAC;AAEzB,6EAA6E;AAC7E,0EAA0E;AAC1E,kBAAkB;AAClB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,GAE3B,MAAM,cAAc,CAAC;AAgBtB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAE3B,MAAM,iBAAiB,CAAC;AAEzB,6EAA6E;AAC7E,0EAA0E;AAC1E,kBAAkB;AAClB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,GAE3B,MAAM,cAAc,CAAC;AAiBtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * tool call the loop runs.
4
4
  */
5
5
  import { context as otelContext, SpanKind, SpanStatusCode, } from "@opentelemetry/api";
6
- import { GenAiSpanName } from "@introspection-sdk/types";
6
+ import { GenAiSpanName, IntrospectionAttr } from "@introspection-sdk/types";
7
7
  import { executeToolAttributes, executeToolResultAttribute, } from "./attributes.js";
8
8
  /**
9
9
  * Subscribe to {@link Agent.subscribe} and emit one `execute_tool ${name}`
@@ -17,8 +17,8 @@ import { executeToolAttributes, executeToolResultAttribute, } from "./attributes
17
17
  export function instrumentAgent(agent, opts) {
18
18
  const buildSpanName = opts.spanName ?? GenAiSpanName.executeTool;
19
19
  const activeSpans = new Map();
20
- const unsubscribe = agent.subscribe((event) => {
21
- handleEvent(event, opts, activeSpans, buildSpanName);
20
+ const unsubscribe = agent.subscribe((event, signal) => {
21
+ handleEvent(event, opts, activeSpans, buildSpanName, signal);
22
22
  });
23
23
  return {
24
24
  stop: () => {
@@ -31,7 +31,7 @@ export function instrumentAgent(agent, opts) {
31
31
  },
32
32
  };
33
33
  }
34
- function handleEvent(event, opts, activeSpans, buildSpanName) {
34
+ function handleEvent(event, opts, activeSpans, buildSpanName, signal) {
35
35
  switch (event.type) {
36
36
  case "tool_execution_start": {
37
37
  const parentContext = opts.getParentContext?.() ?? otelContext.active();
@@ -50,7 +50,14 @@ function handleEvent(event, opts, activeSpans, buildSpanName) {
50
50
  return;
51
51
  activeSpans.delete(event.toolCallId);
52
52
  span.setAttributes(executeToolResultAttribute(event.result));
53
- if (event.isError) {
53
+ if (event.isError && signal?.aborted) {
54
+ // The run's AbortSignal fired: pi synthesizes "Operation aborted"
55
+ // error results for tool calls cut short by a requested abort. A
56
+ // cancelled tool call is an outcome, not a failure — status stays
57
+ // Unset, and the cancellation is queryable via the attribute.
58
+ span.setAttribute(IntrospectionAttr.TERMINATION_REASON, "cancelled");
59
+ }
60
+ else if (event.isError) {
54
61
  span.setStatus({
55
62
  code: SpanStatusCode.ERROR,
56
63
  message: typeof event.result === "string"
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-agent.js","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrument-agent.js","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import { type Attributes, type Context as OtelContext, type Tracer } from "@opentelemetry/api";
6
6
  import { type Api, type Context, type Model } from "@earendil-works/pi-ai";
7
7
  import type { StreamFn } from "@earendil-works/pi-agent-core";
8
+ import { type AbortTerminationReason } from "@introspection-sdk/types";
8
9
  import { type AgentMeta } from "./attributes.js";
9
10
  export interface InstrumentStreamOptions {
10
11
  /** Tracer to start the chat span on. */
@@ -32,6 +33,18 @@ export interface InstrumentStreamOptions {
32
33
  * depend on the prose wrapper pi renders around the summary.
33
34
  */
34
35
  getCompactionSummaries?: () => readonly string[];
36
+ /**
37
+ * Classify a stream that ended with stop reason `"aborted"` (the caller's
38
+ * AbortSignal fired mid-generation; pi never maps provider timeouts to
39
+ * `"aborted"`). Called at span end. Return the
40
+ * `introspection.termination_reason` to stamp on the span —
41
+ * `"cancelled"` (user/runtime stop) or `"awaiting_user"` (paused for an
42
+ * interrupt) — and the span ends with status Unset and no exception:
43
+ * a requested cancellation is an outcome, not a failure. Return `null`
44
+ * to keep the abort classified as an error (the host did not request
45
+ * this cancellation). When omitted, aborts default to `"cancelled"`.
46
+ */
47
+ abortTerminationReason?: () => AbortTerminationReason | null;
35
48
  }
36
49
  /**
37
50
  * Wrap a {@link StreamFn} to emit `chat ${provider}` spans.
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-stream.d.ts","sourceRoot":"","sources":["../src/instrument-stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAE3B,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC;IACtE,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAC3D;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CAClD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,uBAAuB,GAC5B,QAAQ,CAyCV"}
1
+ {"version":3,"file":"instrument-stream.d.ts","sourceRoot":"","sources":["../src/instrument-stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAE3B,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC;IACtE,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAC3D;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACjD;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;CAC9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,uBAAuB,GAC5B,QAAQ,CA0CV"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { context as otelContext, SpanKind, SpanStatusCode, trace, } from "@opentelemetry/api";
6
6
  import { createAssistantMessageEventStream, } from "@earendil-works/pi-ai";
7
- import { GenAiSpanName } from "@introspection-sdk/types";
7
+ import { GenAiSpanName, IntrospectionAttr, } from "@introspection-sdk/types";
8
8
  import { chatRequestAttributes, chatResponseAttributes, } from "./attributes.js";
9
9
  /**
10
10
  * Wrap a {@link StreamFn} to emit `chat ${provider}` spans.
@@ -41,11 +41,12 @@ export function instrumentStream(streamFn, opts) {
41
41
  spanContext,
42
42
  span,
43
43
  proxy,
44
+ abortTerminationReason: opts.abortTerminationReason,
44
45
  });
45
46
  return proxy;
46
47
  });
47
48
  }
48
- async function runUpstream({ streamFn, model, context, options, spanContext, span, proxy, }) {
49
+ async function runUpstream({ streamFn, model, context, options, spanContext, span, proxy, abortTerminationReason, }) {
49
50
  let finished = false;
50
51
  try {
51
52
  const upstream = await otelContext.with(spanContext, () => streamFn(model, context, options));
@@ -53,7 +54,7 @@ async function runUpstream({ streamFn, model, context, options, spanContext, spa
53
54
  proxy.push(event);
54
55
  if (!finished && (event.type === "done" || event.type === "error")) {
55
56
  finished = true;
56
- finishSpan(span, event);
57
+ finishSpan(span, event, abortTerminationReason);
57
58
  }
58
59
  }
59
60
  }
@@ -68,7 +69,7 @@ async function runUpstream({ streamFn, model, context, options, spanContext, spa
68
69
  proxy.push(errorEvent);
69
70
  if (!finished) {
70
71
  finished = true;
71
- finishSpan(span, errorEvent);
72
+ finishSpan(span, errorEvent, abortTerminationReason);
72
73
  }
73
74
  }
74
75
  finally {
@@ -80,10 +81,29 @@ async function runUpstream({ streamFn, model, context, options, spanContext, spa
80
81
  }
81
82
  }
82
83
  }
83
- function finishSpan(span, event) {
84
+ function finishSpan(span, event, abortTerminationReason) {
84
85
  const message = event.type === "done" ? event.message : event.error;
85
86
  span.setAttributes(chatResponseAttributes(message));
86
- if (event.type === "error" || message.stopReason === "error") {
87
+ const aborted = (event.type === "error" && event.reason === "aborted") ||
88
+ message.stopReason === "aborted";
89
+ const terminationReason = !aborted
90
+ ? null
91
+ : abortTerminationReason
92
+ ? abortTerminationReason()
93
+ : "cancelled";
94
+ if (terminationReason !== null) {
95
+ // A requested cancellation is an outcome, not a failure: status stays
96
+ // Unset (no success assertion over a truncated generation, no error),
97
+ // no synthetic exception. finish_reasons=["aborted"] is already on the
98
+ // span via chatResponseAttributes.
99
+ span.setAttribute(IntrospectionAttr.TERMINATION_REASON, terminationReason);
100
+ }
101
+ else if (aborted ||
102
+ event.type === "error" ||
103
+ message.stopReason === "error") {
104
+ // An aborted stream lands here only when the host did not claim the
105
+ // abort (callback returned null) — fail toward a false error, never a
106
+ // hidden one.
87
107
  const errorMessage = message.errorMessage ?? "Unknown error";
88
108
  span.recordException(new Error(errorMessage));
89
109
  span.setStatus({ code: SpanStatusCode.ERROR, message: errorMessage });
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-stream.js","sourceRoot":"","sources":["../src/instrument-stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,QAAQ,EACR,cAAc,EACd,KAAK,GAKN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,GAOlC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AA8BzB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,IAA6B;IAE7B,MAAM,aAAa,GACjB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnE,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAExE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAChC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAC7B,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAC3B,aAAa,IAAI,SAAS,CAC3B,CAAC;QAEF,IAAI,CAAC,aAAa,CAChB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;YAC/C,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE;SACrD,CAAC,CACH,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,KAAK,GAAG,iCAAiC,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,EACrC,IAAI,CACL,CAAC;QAEF,KAAK,WAAW,CAAC;YACf,QAAQ;YACR,KAAK;YACL,OAAO;YACP,OAAO;YACP,WAAW;YACX,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAa,CAAC;AACjB,CAAC;AAYD,KAAK,UAAU,WAAW,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EACJ,KAAK,GACW;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CACxD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAClC,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;gBACnE,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,UAAU,GAAsD;YACpE,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC;SAClD,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,qEAAqE;YACrE,iBAAiB;YACjB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,IAAU,EACV,KAAiE;IAEjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACpE,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAiB,EACjB,YAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,EAAE;QACf,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;SACrE;QACD,UAAU,EAAE,OAAO;QACnB,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"instrument-stream.js","sourceRoot":"","sources":["../src/instrument-stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@introspection-sdk/introspection-pi",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Introspection observability extension for the Pi Agent SDK — OTEL GenAI semantic-convention spans for chat completions and tool execution",
6
6
  "type": "module",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@opentelemetry/api": "^1.9.1",
20
- "@introspection-sdk/types": "0.6.3"
20
+ "@introspection-sdk/types": "0.6.5"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "@earendil-works/pi-ai": ">=0.75.0",
@@ -37,8 +37,8 @@
37
37
  "@types/node": "^22.20.0",
38
38
  "eslint": "^9.39.4",
39
39
  "typescript": "5.9.3",
40
- "@repo/typescript-config": "0.0.0",
41
- "@repo/eslint-config": "0.0.0"
40
+ "@repo/eslint-config": "0.0.0",
41
+ "@repo/typescript-config": "0.0.0"
42
42
  },
43
43
  "engines": {
44
44
  "node": ">=22"