@introspection-sdk/introspection-pi 0.6.5 → 0.7.1
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 +14 -1
- package/dist/attributes.d.ts +6 -2
- package/dist/attributes.d.ts.map +1 -1
- package/dist/attributes.js +22 -1
- package/dist/attributes.js.map +1 -1
- package/dist/instrument-agent.js +1 -0
- package/dist/instrument-agent.js.map +1 -1
- package/dist/instrument-stream.d.ts.map +1 -1
- package/dist/instrument-stream.js +24 -6
- package/dist/instrument-stream.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -83,12 +83,23 @@ For each LLM call (`chat ${provider}` span):
|
|
|
83
83
|
- `gen_ai.conversation.id`, `gen_ai.agent.id`, `gen_ai.agent.name`
|
|
84
84
|
- `gen_ai.operation.name = "chat"`
|
|
85
85
|
- `gen_ai.provider.name`, `gen_ai.request.model`, `gen_ai.response.model`
|
|
86
|
+
- `gen_ai.request.stream = true`
|
|
86
87
|
- `gen_ai.system_instructions`, `gen_ai.tool.definitions`
|
|
87
88
|
- `gen_ai.input.messages`, `gen_ai.output.messages`
|
|
88
89
|
- `gen_ai.response.id`, `gen_ai.response.finish_reasons`
|
|
90
|
+
- `gen_ai.response.time_to_first_chunk`
|
|
91
|
+
- `gen_ai.conversation.compacted` when compacted history was sent
|
|
89
92
|
- `gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens`
|
|
93
|
+
- `gen_ai.usage.reasoning.output_tokens` when reported
|
|
90
94
|
- `gen_ai.usage.cache_read.input_tokens`, `gen_ai.usage.cache_creation.input_tokens` (when > 0)
|
|
91
95
|
- `gen_ai.cost.usd` (when reported)
|
|
96
|
+
- `introspection.termination_reason = "cancelled" | "awaiting_user"` for requested aborts
|
|
97
|
+
|
|
98
|
+
Requested aborts are not recorded as errors. A user/runtime cancellation or an
|
|
99
|
+
interrupt pause ends the span with `gen_ai.response.finish_reasons = ["aborted"]`
|
|
100
|
+
and `introspection.termination_reason`, but without `setStatus(ERROR)` or a
|
|
101
|
+
synthetic exception. Unclaimed aborts and provider/model failures are still
|
|
102
|
+
recorded as errors with a `gen_ai.client.operation.exception` event.
|
|
92
103
|
|
|
93
104
|
For each tool call (`execute_tool ${tool_name}` span):
|
|
94
105
|
|
|
@@ -96,7 +107,9 @@ For each tool call (`execute_tool ${tool_name}` span):
|
|
|
96
107
|
- `gen_ai.operation.name = "execute_tool"`
|
|
97
108
|
- `gen_ai.tool.name`, `gen_ai.tool.type`, `gen_ai.tool.call.id`
|
|
98
109
|
- `gen_ai.tool.call.arguments`, `gen_ai.tool.call.result`
|
|
99
|
-
-
|
|
110
|
+
- Tool errors are recorded with `setStatus(ERROR)`. Tool calls cut short by a
|
|
111
|
+
requested abort are marked with `introspection.termination_reason =
|
|
112
|
+
"cancelled"` and are not marked as errors.
|
|
100
113
|
|
|
101
114
|
## License
|
|
102
115
|
|
package/dist/attributes.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* hook, environment-derived tenant labels, etc.).
|
|
7
7
|
*/
|
|
8
8
|
import type { Attributes } from "@opentelemetry/api";
|
|
9
|
-
import type { AssistantMessage, Context, Model } from "@earendil-works/pi-ai";
|
|
9
|
+
import type { AssistantMessage, Context, Model, SimpleStreamOptions } from "@earendil-works/pi-ai";
|
|
10
10
|
import { type ConvertOptions } from "./convert.js";
|
|
11
11
|
/** Metadata that the consumer attaches to every chat / tool span. */
|
|
12
12
|
export interface AgentMeta {
|
|
@@ -14,8 +14,11 @@ export interface AgentMeta {
|
|
|
14
14
|
agentId: string;
|
|
15
15
|
agentName: string;
|
|
16
16
|
}
|
|
17
|
+
interface ChatRequestAttributeOptions extends ConvertOptions {
|
|
18
|
+
streamOptions?: Pick<SimpleStreamOptions, "temperature" | "maxTokens" | "reasoning">;
|
|
19
|
+
}
|
|
17
20
|
/** Attributes set on a chat span at request time, before the model has streamed. */
|
|
18
|
-
export declare function chatRequestAttributes(model: Model<string>, context: Context, meta: AgentMeta, options?:
|
|
21
|
+
export declare function chatRequestAttributes(model: Model<string>, context: Context, meta: AgentMeta, options?: ChatRequestAttributeOptions): Attributes;
|
|
19
22
|
/**
|
|
20
23
|
* Attributes set on a chat span when the assistant message has settled.
|
|
21
24
|
*
|
|
@@ -27,4 +30,5 @@ export declare function chatResponseAttributes(message: AssistantMessage): Attri
|
|
|
27
30
|
export declare function executeToolAttributes(toolName: string, toolCallId: string, args: unknown, meta: AgentMeta): Attributes;
|
|
28
31
|
/** Result attribute for an execute_tool span (set at end). */
|
|
29
32
|
export declare function executeToolResultAttribute(result: unknown): Attributes;
|
|
33
|
+
export {};
|
|
30
34
|
//# sourceMappingURL=attributes.d.ts.map
|
package/dist/attributes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,KAAK,
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAItB,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,2BAA4B,SAAQ,cAAc;IAC1D,aAAa,CAAC,EAAE,IAAI,CAClB,mBAAmB,EACnB,aAAa,GAAG,WAAW,GAAG,WAAW,CAC1C,CAAC;CACH;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,2BAA2B,GACpC,UAAU,CAiDZ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAyC5E;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,SAAS,GACd,UAAU,CAcZ;AAED,8DAA8D;AAC9D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAGtE"}
|
package/dist/attributes.js
CHANGED
|
@@ -17,6 +17,7 @@ export function chatRequestAttributes(model, context, meta, options) {
|
|
|
17
17
|
[GenAi.OPERATION_NAME]: "chat",
|
|
18
18
|
[GenAi.PROVIDER_NAME]: model.provider,
|
|
19
19
|
[GenAi.REQUEST_MODEL]: model.id,
|
|
20
|
+
"gen_ai.request.stream": true,
|
|
20
21
|
};
|
|
21
22
|
if (context.systemPrompt) {
|
|
22
23
|
const serialized = serializeWithCap(() => JSON.stringify(systemPromptToInstructions(context.systemPrompt)), () => undefined, GenAi.SYSTEM_INSTRUCTIONS);
|
|
@@ -28,7 +29,22 @@ export function chatRequestAttributes(model, context, meta, options) {
|
|
|
28
29
|
if (toolDefinitions) {
|
|
29
30
|
attributes[GenAi.TOOL_DEFINITIONS] = toolDefinitions;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
const inputMessages = messagesToInputMessages(context.messages, options);
|
|
33
|
+
attributes[GenAi.INPUT_MESSAGES] = JSON.stringify(inputMessages);
|
|
34
|
+
if (inputMessages.some((message) => message.parts.some((part) => part.type === "compaction"))) {
|
|
35
|
+
attributes["gen_ai.conversation.compacted"] = true;
|
|
36
|
+
}
|
|
37
|
+
if (typeof options?.streamOptions?.temperature === "number") {
|
|
38
|
+
attributes["gen_ai.request.temperature"] =
|
|
39
|
+
options.streamOptions.temperature;
|
|
40
|
+
}
|
|
41
|
+
if (typeof options?.streamOptions?.maxTokens === "number") {
|
|
42
|
+
attributes["gen_ai.request.max_tokens"] = options.streamOptions.maxTokens;
|
|
43
|
+
}
|
|
44
|
+
if (typeof options?.streamOptions?.reasoning === "string") {
|
|
45
|
+
attributes["gen_ai.request.reasoning.level"] =
|
|
46
|
+
options.streamOptions.reasoning;
|
|
47
|
+
}
|
|
32
48
|
return attributes;
|
|
33
49
|
}
|
|
34
50
|
/**
|
|
@@ -54,6 +70,11 @@ export function chatResponseAttributes(message) {
|
|
|
54
70
|
if (message.usage.cost?.total) {
|
|
55
71
|
attributes[GenAi.COST_USD] = message.usage.cost.total;
|
|
56
72
|
}
|
|
73
|
+
const reasoningOutputTokens = message.usage.reasoningOutputTokens ??
|
|
74
|
+
message.usage.reasoningOutput;
|
|
75
|
+
if (typeof reasoningOutputTokens === "number" && reasoningOutputTokens > 0) {
|
|
76
|
+
attributes["gen_ai.usage.reasoning.output_tokens"] = reasoningOutputTokens;
|
|
77
|
+
}
|
|
57
78
|
if (message.responseId) {
|
|
58
79
|
attributes[GenAi.RESPONSE_ID] = message.responseId;
|
|
59
80
|
}
|
package/dist/attributes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"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"}
|
package/dist/instrument-agent.js
CHANGED
|
@@ -58,6 +58,7 @@ function handleEvent(event, opts, activeSpans, buildSpanName, signal) {
|
|
|
58
58
|
span.setAttribute(IntrospectionAttr.TERMINATION_REASON, "cancelled");
|
|
59
59
|
}
|
|
60
60
|
else if (event.isError) {
|
|
61
|
+
span.setAttribute("error.type", "tool_error");
|
|
61
62
|
span.setStatus({
|
|
62
63
|
code: SpanStatusCode.ERROR,
|
|
63
64
|
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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"}
|
|
@@ -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;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,
|
|
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,CA2CV"}
|
|
@@ -26,6 +26,7 @@ export function instrumentStream(streamFn, opts) {
|
|
|
26
26
|
const span = opts.tracer.startSpan(buildSpanName(model, context), { kind: SpanKind.INTERNAL }, parentContext ?? undefined);
|
|
27
27
|
span.setAttributes(chatRequestAttributes(model, context, opts.meta, {
|
|
28
28
|
compactionSummaries: opts.getCompactionSummaries?.(),
|
|
29
|
+
streamOptions: options,
|
|
29
30
|
}));
|
|
30
31
|
const extra = opts.extraAttributes?.(model, context);
|
|
31
32
|
if (extra) {
|
|
@@ -48,9 +49,15 @@ export function instrumentStream(streamFn, opts) {
|
|
|
48
49
|
}
|
|
49
50
|
async function runUpstream({ streamFn, model, context, options, spanContext, span, proxy, abortTerminationReason, }) {
|
|
50
51
|
let finished = false;
|
|
52
|
+
const startedAt = Date.now();
|
|
53
|
+
let sawFirstChunk = false;
|
|
51
54
|
try {
|
|
52
55
|
const upstream = await otelContext.with(spanContext, () => streamFn(model, context, options));
|
|
53
56
|
for await (const event of upstream) {
|
|
57
|
+
if (!sawFirstChunk && event.type !== "done" && event.type !== "error") {
|
|
58
|
+
sawFirstChunk = true;
|
|
59
|
+
span.setAttribute("gen_ai.response.time_to_first_chunk", (Date.now() - startedAt) / 1000);
|
|
60
|
+
}
|
|
54
61
|
proxy.push(event);
|
|
55
62
|
if (!finished && (event.type === "done" || event.type === "error")) {
|
|
56
63
|
finished = true;
|
|
@@ -62,10 +69,12 @@ async function runUpstream({ streamFn, model, context, options, spanContext, spa
|
|
|
62
69
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
63
70
|
const errorEvent = {
|
|
64
71
|
type: "error",
|
|
65
|
-
reason: "error",
|
|
66
|
-
error: assistantErrorMessage(model, errorMessage),
|
|
72
|
+
reason: options?.signal?.aborted === true ? "aborted" : "error",
|
|
73
|
+
error: assistantErrorMessage(model, errorMessage, options?.signal?.aborted === true),
|
|
67
74
|
};
|
|
68
|
-
|
|
75
|
+
if (options?.signal?.aborted !== true) {
|
|
76
|
+
recordGenAiException(span, err, "exception");
|
|
77
|
+
}
|
|
69
78
|
proxy.push(errorEvent);
|
|
70
79
|
if (!finished) {
|
|
71
80
|
finished = true;
|
|
@@ -105,7 +114,7 @@ function finishSpan(span, event, abortTerminationReason) {
|
|
|
105
114
|
// abort (callback returned null) — fail toward a false error, never a
|
|
106
115
|
// hidden one.
|
|
107
116
|
const errorMessage = message.errorMessage ?? "Unknown error";
|
|
108
|
-
span
|
|
117
|
+
recordGenAiException(span, new Error(errorMessage), "model_error");
|
|
109
118
|
span.setStatus({ code: SpanStatusCode.ERROR, message: errorMessage });
|
|
110
119
|
}
|
|
111
120
|
else {
|
|
@@ -113,7 +122,16 @@ function finishSpan(span, event, abortTerminationReason) {
|
|
|
113
122
|
}
|
|
114
123
|
span.end();
|
|
115
124
|
}
|
|
116
|
-
function
|
|
125
|
+
function recordGenAiException(span, error, errorType) {
|
|
126
|
+
const exception = error instanceof Error ? error : new Error(String(error));
|
|
127
|
+
span.setAttribute("error.type", errorType);
|
|
128
|
+
span.recordException(exception);
|
|
129
|
+
span.addEvent("gen_ai.client.operation.exception", {
|
|
130
|
+
"exception.type": exception.name || "Error",
|
|
131
|
+
"exception.message": exception.message,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function assistantErrorMessage(model, errorMessage, aborted = false) {
|
|
117
135
|
return {
|
|
118
136
|
role: "assistant",
|
|
119
137
|
content: [],
|
|
@@ -128,7 +146,7 @@ function assistantErrorMessage(model, errorMessage) {
|
|
|
128
146
|
totalTokens: 0,
|
|
129
147
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
130
148
|
},
|
|
131
|
-
stopReason: "error",
|
|
149
|
+
stopReason: aborted ? "aborted" : "error",
|
|
132
150
|
errorMessage,
|
|
133
151
|
timestamp: Date.now(),
|
|
134
152
|
};
|
|
@@ -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,EACL,aAAa,EACb,iBAAiB,GAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AA0CzB;;;;;;;;;;;;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;
|
|
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,EACL,aAAa,EACb,iBAAiB,GAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AA0CzB;;;;;;;;;;;;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;YACpD,aAAa,EAAE,OAAO;SACvB,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;YACL,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAa,CAAC;AACjB,CAAC;AAaD,KAAK,UAAU,WAAW,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EACJ,KAAK,EACL,sBAAsB,GACN;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,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,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtE,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,YAAY,CACf,qCAAqC,EACrC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAChC,CAAC;YACJ,CAAC;YACD,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,EAAE,sBAAsB,CAAC,CAAC;YAClD,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,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YAC/D,KAAK,EAAE,qBAAqB,CAC1B,KAAK,EACL,YAAY,EACZ,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAClC;SACF,CAAC;QACF,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACtC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACvD,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,EACjE,sBAA4D;IAE5D,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,MAAM,OAAO,GACX,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QACtD,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;IACnC,MAAM,iBAAiB,GAAG,CAAC,OAAO;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,sBAAsB;YACtB,CAAC,CAAC,sBAAsB,EAAE;YAC1B,CAAC,CAAC,WAAW,CAAC;IAElB,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,mCAAmC;QACnC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAC7E,CAAC;SAAM,IACL,OAAO;QACP,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,OAAO,CAAC,UAAU,KAAK,OAAO,EAC9B,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,cAAc;QACd,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC;QAC7D,oBAAoB,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;QACnE,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,oBAAoB,CAC3B,IAAU,EACV,KAAc,EACd,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,QAAQ,CAAC,mCAAmC,EAAE;QACjD,gBAAgB,EAAE,SAAS,CAAC,IAAI,IAAI,OAAO;QAC3C,mBAAmB,EAAE,SAAS,CAAC,OAAO;KACvC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAiB,EACjB,YAAoB,EACpB,OAAO,GAAG,KAAK;IAEf,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,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACzC,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@introspection-sdk/introspection-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
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.
|
|
20
|
+
"@introspection-sdk/types": "0.7.1"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"@earendil-works/pi-ai": ">=0.75.0",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@earendil-works/pi-agent-core": "^0.80.
|
|
36
|
-
"@earendil-works/pi-ai": "^0.80.
|
|
35
|
+
"@earendil-works/pi-agent-core": "^0.80.3",
|
|
36
|
+
"@earendil-works/pi-ai": "^0.80.3",
|
|
37
37
|
"@types/node": "^22.20.0",
|
|
38
38
|
"eslint": "^9.39.4",
|
|
39
39
|
"typescript": "5.9.3",
|