@introspection-sdk/introspection-pi 0.32.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/attributes.d.ts +12 -1
- package/dist/attributes.d.ts.map +1 -1
- package/dist/attributes.js +15 -2
- package/dist/attributes.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/instrument-agent.d.ts +6 -1
- package/dist/instrument-agent.d.ts.map +1 -1
- package/dist/instrument-agent.js +1 -1
- package/dist/instrument-agent.js.map +1 -1
- package/dist/instrument-session.d.ts +3 -1
- package/dist/instrument-session.d.ts.map +1 -1
- package/dist/instrument-session.js +1 -0
- package/dist/instrument-session.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -50,6 +50,19 @@ instrumentSession(session, {
|
|
|
50
50
|
});
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
A host that registers MCP tools names the server behind each one, so its
|
|
54
|
+
`execute_tool` span carries `mcp.server.id`, `mcp.tool.name` and
|
|
55
|
+
`mcp.server.binding`. The lookup is read when the span starts; a tool it returns
|
|
56
|
+
nothing for carries none of them:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
instrumentSession(session, {
|
|
60
|
+
tracer,
|
|
61
|
+
meta,
|
|
62
|
+
mcpTool: (toolName) => mcpTools.get(toolName),
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
53
66
|
### Composing the pieces yourself
|
|
54
67
|
|
|
55
68
|
```ts
|
package/dist/attributes.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { Attributes } from "@opentelemetry/api";
|
|
9
9
|
import type { AssistantMessage, Message, Model, SimpleStreamOptions, Tool } from "@earendil-works/pi-ai";
|
|
10
|
+
import { type McpServerBinding } from "@introspection-sdk/types";
|
|
10
11
|
import { type ConvertOptions } from "./convert.js";
|
|
11
12
|
/**
|
|
12
13
|
* `server.address` / `server.port` derived from the model's base URL.
|
|
@@ -43,8 +44,18 @@ export declare function chatRequestAttributes(model: Pick<Model<string>, "provid
|
|
|
43
44
|
* convention that an absent attribute means "not reported by provider".
|
|
44
45
|
*/
|
|
45
46
|
export declare function chatResponseAttributes(message: AssistantMessage): Attributes;
|
|
47
|
+
/** The MCP server a tool is served by, as the host that registered the tool knows it. */
|
|
48
|
+
export interface McpToolOrigin {
|
|
49
|
+
/** The server id the Recipe declares. */
|
|
50
|
+
serverId: string;
|
|
51
|
+
/** The tool's name in the server's contract, not the client-prefixed tool name. */
|
|
52
|
+
toolName: string;
|
|
53
|
+
binding?: McpServerBinding;
|
|
54
|
+
}
|
|
55
|
+
/** The `mcp.*` attributes for a tool an MCP server serves; empty for any other tool. */
|
|
56
|
+
export declare function mcpToolAttributes(origin: McpToolOrigin | undefined): Attributes;
|
|
46
57
|
/** Common attributes for an execute_tool span (set at start). */
|
|
47
|
-
export declare function executeToolAttributes(toolName: string, toolCallId: string, args: unknown, meta: AgentMeta, description?: string): Attributes;
|
|
58
|
+
export declare function executeToolAttributes(toolName: string, toolCallId: string, args: unknown, meta: AgentMeta, description?: string, mcp?: McpToolOrigin): Attributes;
|
|
48
59
|
/**
|
|
49
60
|
* Attributes for an `invoke_agent` span (set at start).
|
|
50
61
|
*
|
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;AAErD,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,IAAI,EACL,MAAM,uBAAuB,CAAC;
|
|
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;AAErD,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,IAAI,EACL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAaxE;AAED,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;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CACzB;AA0BD,oFAAoF;AACpF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACpE,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,2BAA2B,GACpC,UAAU,CAiDZ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAqC5E;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,UAAU,CAQZ;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,SAAS,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,aAAa,GAClB,UAAU,CAkBZ;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAOjE;AAED,8DAA8D;AAC9D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAGtE"}
|
package/dist/attributes.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* hook, environment-derived tenant labels, etc.).
|
|
7
7
|
*/
|
|
8
8
|
import * as piAi from "@earendil-works/pi-ai";
|
|
9
|
-
import { GenAi } from "@introspection-sdk/types";
|
|
9
|
+
import { GenAi, McpAttr, } from "@introspection-sdk/types";
|
|
10
10
|
import { assistantToOutputMessages, messagesToInputMessages, semconvFinishReason, systemPromptToInstructions, } from "./convert.js";
|
|
11
11
|
/**
|
|
12
12
|
* `server.address` / `server.port` derived from the model's base URL.
|
|
@@ -126,8 +126,20 @@ export function chatResponseAttributes(message) {
|
|
|
126
126
|
}
|
|
127
127
|
return attributes;
|
|
128
128
|
}
|
|
129
|
+
/** The `mcp.*` attributes for a tool an MCP server serves; empty for any other tool. */
|
|
130
|
+
export function mcpToolAttributes(origin) {
|
|
131
|
+
if (!origin)
|
|
132
|
+
return {};
|
|
133
|
+
const attributes = {
|
|
134
|
+
[McpAttr.SERVER_ID]: origin.serverId,
|
|
135
|
+
[McpAttr.TOOL_NAME]: origin.toolName,
|
|
136
|
+
};
|
|
137
|
+
if (origin.binding)
|
|
138
|
+
attributes[McpAttr.SERVER_BINDING] = origin.binding;
|
|
139
|
+
return attributes;
|
|
140
|
+
}
|
|
129
141
|
/** Common attributes for an execute_tool span (set at start). */
|
|
130
|
-
export function executeToolAttributes(toolName, toolCallId, args, meta, description) {
|
|
142
|
+
export function executeToolAttributes(toolName, toolCallId, args, meta, description, mcp) {
|
|
131
143
|
const attributes = {
|
|
132
144
|
[GenAi.CONVERSATION_ID]: meta.conversationId,
|
|
133
145
|
[GenAi.AGENT_ID]: meta.agentId,
|
|
@@ -136,6 +148,7 @@ export function executeToolAttributes(toolName, toolCallId, args, meta, descript
|
|
|
136
148
|
[GenAi.TOOL_NAME]: toolName,
|
|
137
149
|
[GenAi.TOOL_TYPE]: "function",
|
|
138
150
|
[GenAi.TOOL_CALL_ID]: toolCallId,
|
|
151
|
+
...mcpToolAttributes(mcp),
|
|
139
152
|
};
|
|
140
153
|
if (description) {
|
|
141
154
|
attributes[GenAi.TOOL_DESCRIPTION] = description;
|
package/dist/attributes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAQ9C,OAAO,
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,10 +32,10 @@ export { instrumentStream, type InstrumentStreamOptions, type StreamContext, } f
|
|
|
32
32
|
export { instrumentAgent, type AgentInstrumentation, type InstrumentAgentOptions, } from "./instrument-agent.js";
|
|
33
33
|
export { instrumentSession, type InstrumentableAgentSession, type InstrumentSessionOptions, type SessionInstrumentation, } from "./instrument-session.js";
|
|
34
34
|
export { GenAiContentScrubbingExporter, isGenAiContentAttribute, scrubGenAiContent, type ScrubbableSpan, type SpanExporterLike, } from "./scrubbing.js";
|
|
35
|
-
export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, executeToolResultAttribute, invokeAgentAttributes, serverAttributes, type AgentMeta, type ChatRequestContext, } from "./attributes.js";
|
|
35
|
+
export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, executeToolResultAttribute, invokeAgentAttributes, mcpToolAttributes, serverAttributes, type AgentMeta, type ChatRequestContext, type McpToolOrigin, } from "./attributes.js";
|
|
36
36
|
export { genAiMetrics, type GenAiMetrics } from "./metrics.js";
|
|
37
37
|
export { assistantToOutputMessages, inputMessagesToMessages, messagesToInputMessages, semconvFinishReason, systemPromptToInstructions, type ConvertOptions, } from "./convert.js";
|
|
38
38
|
export { piSessionToSpans } from "./session-spans.js";
|
|
39
|
-
export type { AbortTerminationReason, GenAiAttributes, InputMessage, MessagePart, MessageRole, OutputMessage, ReasoningPart, SystemInstruction, TextPart, ToolCallRequestPart, ToolCallResponsePart, ToolDefinition, } from "@introspection-sdk/types";
|
|
40
|
-
export { GenAi, GenAiSpanName, IntrospectionAttr, toAttributes, } from "@introspection-sdk/types";
|
|
39
|
+
export type { AbortTerminationReason, GenAiAttributes, InputMessage, MessagePart, MessageRole, OutputMessage, ReasoningPart, SystemInstruction, TextPart, ToolCallRequestPart, ToolCallResponsePart, McpServerBinding, ToolDefinition, } from "@introspection-sdk/types";
|
|
40
|
+
export { GenAi, GenAiSpanName, IntrospectionAttr, McpAttr, toAttributes, } from "@introspection-sdk/types";
|
|
41
41
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAK/D,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export { instrumentSession, } from "./instrument-session.js";
|
|
|
36
36
|
// with different data policies (whole spans vs structure-only)
|
|
37
37
|
export { GenAiContentScrubbingExporter, isGenAiContentAttribute, scrubGenAiContent, } from "./scrubbing.js";
|
|
38
38
|
// Attribute builders — exposed for callers that want to compose their own spans
|
|
39
|
-
export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, executeToolResultAttribute, invokeAgentAttributes, serverAttributes, } from "./attributes.js";
|
|
39
|
+
export { chatRequestAttributes, chatResponseAttributes, executeToolAttributes, executeToolResultAttribute, invokeAgentAttributes, mcpToolAttributes, serverAttributes, } from "./attributes.js";
|
|
40
40
|
// Metric instruments — exposed for callers that record their own measurements
|
|
41
41
|
export { genAiMetrics } from "./metrics.js";
|
|
42
42
|
// Converters — exposed for telemetry replay (rebuilding pi-ai message arrays
|
|
@@ -46,5 +46,5 @@ export { assistantToOutputMessages, inputMessagesToMessages, messagesToInputMess
|
|
|
46
46
|
// Offline rendering — a Pi session file as the span list the platform's
|
|
47
47
|
// conversation export returns (also the `pi-session-spans` bin).
|
|
48
48
|
export { piSessionToSpans } from "./session-spans.js";
|
|
49
|
-
export { GenAi, GenAiSpanName, IntrospectionAttr, toAttributes, } from "@introspection-sdk/types";
|
|
49
|
+
export { GenAi, GenAiSpanName, IntrospectionAttr, McpAttr, toAttributes, } from "@introspection-sdk/types";
|
|
50
50
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,+DAA+D;AAC/D,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAExB,gFAAgF;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,+DAA+D;AAC/D,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAExB,gFAAgF;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GAIjB,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,OAAO,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAE/D,6EAA6E;AAC7E,0EAA0E;AAC1E,kBAAkB;AAClB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,GAE3B,MAAM,cAAc,CAAC;AAEtB,wEAAwE;AACxE,iEAAiE;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAkBtD,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { type Attributes, type Context as OtelContext, type Meter, type Tracer } from "@opentelemetry/api";
|
|
6
6
|
import type { Agent, AgentEvent } from "@earendil-works/pi-agent-core";
|
|
7
|
-
import { type AgentMeta } from "./attributes.js";
|
|
7
|
+
import { type AgentMeta, type McpToolOrigin } from "./attributes.js";
|
|
8
8
|
export interface InstrumentAgentOptions {
|
|
9
9
|
/** Tracer to start the execute_tool spans on. */
|
|
10
10
|
tracer: Tracer;
|
|
@@ -46,6 +46,11 @@ export interface InstrumentAgentOptions {
|
|
|
46
46
|
}>) => Attributes;
|
|
47
47
|
/** Override the default span name builder. */
|
|
48
48
|
spanName?: (toolName: string) => string;
|
|
49
|
+
/**
|
|
50
|
+
* The MCP server serving a tool, by its registered tool name; undefined for
|
|
51
|
+
* a tool no MCP server serves. Read once, when the span starts.
|
|
52
|
+
*/
|
|
53
|
+
mcpTool?: (toolName: string) => McpToolOrigin | undefined;
|
|
49
54
|
}
|
|
50
55
|
export interface AgentInstrumentation {
|
|
51
56
|
/** Stop subscribing and finalize any spans still open. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-agent.d.ts","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EAEV,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,KAAK,EACL,UAAU,EAEX,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAIL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"instrument-agent.d.ts","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EAEV,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,KAAK,EACL,UAAU,EAEX,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC,KACzD,UAAU,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CAC9C;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,sBAAsB,GAC3B,oBAAoB,CAuCtB"}
|
package/dist/instrument-agent.js
CHANGED
|
@@ -91,7 +91,7 @@ function handleEvent(event, agent, opts, activeSpans, state, metrics, buildSpanN
|
|
|
91
91
|
// Full attribute set at span creation time so samplers see
|
|
92
92
|
// gen_ai.operation.name / tool.name / tool.type.
|
|
93
93
|
const attributes = {
|
|
94
|
-
...executeToolAttributes(event.toolName, event.toolCallId, event.args, opts.meta, description),
|
|
94
|
+
...executeToolAttributes(event.toolName, event.toolCallId, event.args, opts.meta, description, opts.mcpTool?.(event.toolName)),
|
|
95
95
|
...opts.extraAttributes?.(event),
|
|
96
96
|
};
|
|
97
97
|
const span = opts.tracer.startSpan(buildSpanName(event.toolName), { kind: SpanKind.INTERNAL, attributes }, parentContext ?? undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-agent.js","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,QAAQ,EACR,cAAc,EACd,KAAK,GAMN,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"instrument-agent.js","sourceRoot":"","sources":["../src/instrument-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { type Attributes, type Context as OtelContext, type Meter, type Tracer } from "@opentelemetry/api";
|
|
18
18
|
import type { Agent } from "@earendil-works/pi-agent-core";
|
|
19
19
|
import { type AbortTerminationReason } from "@introspection-sdk/types";
|
|
20
|
-
import { type AgentMeta } from "./attributes.js";
|
|
20
|
+
import { type AgentMeta, type McpToolOrigin } from "./attributes.js";
|
|
21
21
|
/**
|
|
22
22
|
* The structural slice of a pi coding-agent `AgentSession` this attach
|
|
23
23
|
* needs: the agent (stream function + event subscription) and the session
|
|
@@ -56,6 +56,8 @@ export interface InstrumentSessionOptions {
|
|
|
56
56
|
abortTerminationReason?: () => AbortTerminationReason | null;
|
|
57
57
|
/** Host attributes (tenant labels, correlation ids) added to every span. */
|
|
58
58
|
extraAttributes?: () => Attributes;
|
|
59
|
+
/** The MCP server serving a tool; read when each tool span starts. */
|
|
60
|
+
mcpTool?: (toolName: string) => McpToolOrigin | undefined;
|
|
59
61
|
}
|
|
60
62
|
export interface SessionInstrumentation {
|
|
61
63
|
/** Restore the original stream function and finalize any open spans. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-session.d.ts","sourceRoot":"","sources":["../src/instrument-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"instrument-session.d.ts","sourceRoot":"","sources":["../src/instrument-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrE;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE;QAAE,UAAU,IAAI,SAAS,OAAO,EAAE,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;IAC7D,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,UAAU,CAAC;IACnC,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AA6BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,0BAA0B,EACnC,IAAI,EAAE,wBAAwB,GAC7B,sBAAsB,CAqCxB"}
|
|
@@ -26,6 +26,7 @@ export function instrumentSession(session, opts) {
|
|
|
26
26
|
? { getParentContext: opts.getParentContext }
|
|
27
27
|
: {}),
|
|
28
28
|
...(extraAttributes ? { extraAttributes: () => extraAttributes() } : {}),
|
|
29
|
+
...(opts.mcpTool ? { mcpTool: opts.mcpTool } : {}),
|
|
29
30
|
});
|
|
30
31
|
agent[key] = instrumentStream(original, {
|
|
31
32
|
tracer: opts.tracer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-session.js","sourceRoot":"","sources":["../src/instrument-session.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"instrument-session.js","sourceRoot":"","sources":["../src/instrument-session.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.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@opentelemetry/api": "^1.9.1",
|
|
28
|
-
"@introspection-sdk/types": "0.
|
|
28
|
+
"@introspection-sdk/types": "0.35.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@earendil-works/pi-agent-core": ">=0.75.0",
|