@posthog/mcp 0.11.7 → 0.13.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 +51 -2
- package/dist/extensions/analytics-parameters.d.ts +22 -2
- package/dist/extensions/analytics-parameters.d.ts.map +1 -1
- package/dist/extensions/analytics-parameters.js +53 -10
- package/dist/extensions/analytics-parameters.mjs +37 -1
- package/dist/extensions/capture.d.ts.map +1 -1
- package/dist/extensions/capture.js +14 -8
- package/dist/extensions/capture.mjs +2 -0
- package/dist/extensions/client-identity.js +18 -14
- package/dist/extensions/compatibility.js +16 -12
- package/dist/extensions/constants.d.ts +3 -0
- package/dist/extensions/constants.d.ts.map +1 -1
- package/dist/extensions/constants.js +28 -18
- package/dist/extensions/constants.mjs +5 -2
- package/dist/extensions/context-parameters.d.ts +2 -2
- package/dist/extensions/context-parameters.d.ts.map +1 -1
- package/dist/extensions/context-parameters.js +14 -38
- package/dist/extensions/context-parameters.mjs +2 -30
- package/dist/extensions/conversation-id.js +18 -14
- package/dist/extensions/detect.js +23 -19
- package/dist/extensions/event-types.js +15 -11
- package/dist/extensions/exceptions.js +12 -8
- package/dist/extensions/headers.js +16 -12
- package/dist/extensions/ids.js +12 -8
- package/dist/extensions/instrument-highlevel.d.ts.map +1 -1
- package/dist/extensions/instrument-highlevel.js +16 -9
- package/dist/extensions/instrument-highlevel.mjs +5 -2
- package/dist/extensions/instrument-lowlevel.d.ts.map +1 -1
- package/dist/extensions/instrument-lowlevel.js +13 -8
- package/dist/extensions/instrument-lowlevel.mjs +2 -1
- package/dist/extensions/instrumentation.d.ts +16 -0
- package/dist/extensions/instrumentation.d.ts.map +1 -1
- package/dist/extensions/instrumentation.js +31 -14
- package/dist/extensions/instrumentation.mjs +11 -1
- package/dist/extensions/intent.js +14 -10
- package/dist/extensions/internal.js +17 -13
- package/dist/extensions/lib-identity.js +12 -8
- package/dist/extensions/logger.js +17 -13
- package/dist/extensions/mcp-payloads.js +16 -12
- package/dist/extensions/mcp-sdk-compat.js +23 -19
- package/dist/extensions/model-parameters.d.ts +48 -0
- package/dist/extensions/model-parameters.d.ts.map +1 -0
- package/dist/extensions/model-parameters.js +84 -0
- package/dist/extensions/model-parameters.mjs +31 -0
- package/dist/extensions/output-instructions.js +15 -11
- package/dist/extensions/posthog-events.js +14 -8
- package/dist/extensions/posthog-events.mjs +2 -0
- package/dist/extensions/posthog-mcp.d.ts +23 -12
- package/dist/extensions/posthog-mcp.d.ts.map +1 -1
- package/dist/extensions/posthog-mcp.js +49 -11
- package/dist/extensions/posthog-mcp.mjs +37 -3
- package/dist/extensions/request-headers.js +15 -11
- package/dist/extensions/sanitization.d.ts +2 -2
- package/dist/extensions/sanitization.d.ts.map +1 -1
- package/dist/extensions/sanitization.js +13 -8
- package/dist/extensions/sanitization.mjs +1 -0
- package/dist/extensions/session-token.js +17 -13
- package/dist/extensions/session-token.mjs +2 -2
- package/dist/extensions/session.js +16 -12
- package/dist/extensions/sink.js +14 -10
- package/dist/extensions/tools.js +15 -11
- package/dist/extensions/tracing-helpers.js +15 -11
- package/dist/extensions/transport-identity.js +15 -11
- package/dist/extensions/truncation.d.ts.map +1 -1
- package/dist/extensions/truncation.js +22 -16
- package/dist/extensions/truncation.mjs +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -18
- package/dist/index.mjs +7 -7
- package/dist/types.d.ts +55 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.mjs +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +15 -11
- package/dist/version.mjs +1 -1
- package/package.json +28 -11
- package/src/extensions/analytics-parameters.ts +88 -2
- package/src/extensions/capture.ts +4 -0
- package/src/extensions/constants.ts +4 -0
- package/src/extensions/context-parameters.ts +10 -59
- package/src/extensions/instrument-highlevel.ts +4 -0
- package/src/extensions/instrument-lowlevel.ts +2 -0
- package/src/extensions/instrumentation.ts +51 -0
- package/src/extensions/model-parameters.ts +98 -0
- package/src/extensions/posthog-events.ts +8 -0
- package/src/extensions/posthog-mcp.ts +84 -12
- package/src/extensions/sanitization.ts +6 -2
- package/src/extensions/truncation.ts +3 -0
- package/src/index.ts +3 -0
- package/src/types.ts +55 -4
- package/src/version.ts +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const INACTIVITY_TIMEOUT_IN_MINUTES = 30;
|
|
2
2
|
const DEFAULT_CONTEXT_PARAMETER_DESCRIPTION = "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"";
|
|
3
|
-
const
|
|
3
|
+
const DEFAULT_MODEL_PARAMETER_DESCRIPTION = 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.';
|
|
4
|
+
const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.";
|
|
4
5
|
const POSTHOG_MCP_ANALYTICS_SOURCE = 'posthog_mcp_analytics';
|
|
5
6
|
const POSTHOG_MCP_LIB_NAME = 'posthog-node-mcp';
|
|
6
7
|
const PostHogMCPAnalyticsEvent = {
|
|
@@ -28,6 +29,8 @@ const PostHogMCPAnalyticsProperty = {
|
|
|
28
29
|
Intent: '$mcp_intent',
|
|
29
30
|
IntentSource: '$mcp_intent_source',
|
|
30
31
|
ListedToolNames: '$mcp_listed_tool_names',
|
|
32
|
+
LlmModel: '$mcp_llm_model',
|
|
33
|
+
LlmModelSource: '$mcp_llm_model_source',
|
|
31
34
|
Parameters: '$mcp_parameters',
|
|
32
35
|
ProtocolVersion: '$mcp_protocol_version',
|
|
33
36
|
ResourceName: '$mcp_resource_name',
|
|
@@ -41,4 +44,4 @@ const PostHogMCPAnalyticsProperty = {
|
|
|
41
44
|
ToolName: '$mcp_tool_name',
|
|
42
45
|
VendorClient: '$mcp_vendor_client'
|
|
43
46
|
};
|
|
44
|
-
export { DEFAULT_CONTEXT_PARAMETER_DESCRIPTION, DEFAULT_CONVERSATION_ID_DESCRIPTION, INACTIVITY_TIMEOUT_IN_MINUTES, POSTHOG_MCP_ANALYTICS_SOURCE, POSTHOG_MCP_LIB_NAME, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty };
|
|
47
|
+
export { DEFAULT_CONTEXT_PARAMETER_DESCRIPTION, DEFAULT_CONVERSATION_ID_DESCRIPTION, DEFAULT_MODEL_PARAMETER_DESCRIPTION, INACTIVITY_TIMEOUT_IN_MINUTES, POSTHOG_MCP_ANALYTICS_SOURCE, POSTHOG_MCP_LIB_NAME, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty };
|
|
@@ -9,8 +9,8 @@ export interface ContextInjectableTool {
|
|
|
9
9
|
export declare function isContextEnabled(context: MCPAnalyticsOptions['context']): boolean;
|
|
10
10
|
export declare function getContextDescription(context: MCPAnalyticsOptions['context']): string | undefined;
|
|
11
11
|
/**
|
|
12
|
-
* Adds a context parameter to a tool's JSON Schema.
|
|
13
|
-
* This
|
|
12
|
+
* Adds a context parameter to a tool's JSON Schema, via the shared injector.
|
|
13
|
+
* This is called AFTER the MCP SDK has converted Zod schemas to JSON Schema,
|
|
14
14
|
* so we only need to handle JSON Schema format.
|
|
15
15
|
*
|
|
16
16
|
* Skips injection (with warning) for:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-parameters.d.ts","sourceRoot":"","sources":["../../src/extensions/context-parameters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"context-parameters.d.ts","sourceRoot":"","sources":["../../src/extensions/context-parameters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAA+B,KAAK,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAExG,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,6BAA6B,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,OAAO,CAEjF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,qBAAqB,EAC3E,IAAI,EAAE,KAAK,EACX,0BAA0B,CAAC,EAAE,MAAM,EACnC,MAAM,GAAE,QAAc,GACrB,KAAK,CAQP;AAED,wBAAgB,0BAA0B,CAAC,KAAK,SAAS,qBAAqB,EAC5E,KAAK,EAAE,KAAK,EAAE,EACd,0BAA0B,CAAC,EAAE,MAAM,EACnC,MAAM,GAAE,QAAc,GACrB,KAAK,EAAE,CAET"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -24,8 +28,8 @@ var __webpack_require__ = {};
|
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
addContextParameterToTools: ()=>addContextParameterToTools,
|
|
28
31
|
addContextParameterToTool: ()=>addContextParameterToTool,
|
|
32
|
+
addContextParameterToTools: ()=>addContextParameterToTools,
|
|
29
33
|
getContextDescription: ()=>getContextDescription,
|
|
30
34
|
isContextEnabled: ()=>isContextEnabled
|
|
31
35
|
});
|
|
@@ -39,35 +43,7 @@ function getContextDescription(context) {
|
|
|
39
43
|
return 'object' == typeof context ? context.description : void 0;
|
|
40
44
|
}
|
|
41
45
|
function addContextParameterToTool(tool, contextDescriptionOverride, logger = external_logger_js_namespaceObject.log) {
|
|
42
|
-
|
|
43
|
-
...tool
|
|
44
|
-
};
|
|
45
|
-
const toolName = tool.name || 'unknown';
|
|
46
|
-
const schema = modifiedTool.inputSchema;
|
|
47
|
-
if (!(0, external_analytics_parameters_js_namespaceObject.canInjectAnalyticsParameter)(schema, 'context')) {
|
|
48
|
-
logger((0, external_analytics_parameters_js_namespaceObject.hasAnalyticsParameter)(schema, 'context') ? `WARN: Tool "${toolName}" already has 'context' parameter. Skipping context injection.` : `WARN: Tool "${toolName}" has complex schema (oneOf/allOf/anyOf/$ref). Skipping context injection.`);
|
|
49
|
-
return modifiedTool;
|
|
50
|
-
}
|
|
51
|
-
if (!modifiedTool.inputSchema) modifiedTool.inputSchema = {
|
|
52
|
-
type: 'object',
|
|
53
|
-
properties: {},
|
|
54
|
-
required: []
|
|
55
|
-
};
|
|
56
|
-
const contextDescription = contextDescriptionOverride || external_constants_js_namespaceObject.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION;
|
|
57
|
-
modifiedTool.inputSchema = JSON.parse(JSON.stringify(modifiedTool.inputSchema));
|
|
58
|
-
const inputSchema = modifiedTool.inputSchema;
|
|
59
|
-
if (!inputSchema.properties) inputSchema.properties = {};
|
|
60
|
-
if (false === inputSchema.additionalProperties) inputSchema.additionalProperties = void 0;
|
|
61
|
-
inputSchema.properties.context = {
|
|
62
|
-
type: 'string',
|
|
63
|
-
description: contextDescription
|
|
64
|
-
};
|
|
65
|
-
if (Array.isArray(inputSchema.required)) {
|
|
66
|
-
if (!inputSchema.required.includes('context')) inputSchema.required.push('context');
|
|
67
|
-
} else inputSchema.required = [
|
|
68
|
-
'context'
|
|
69
|
-
];
|
|
70
|
-
return modifiedTool;
|
|
46
|
+
return (0, external_analytics_parameters_js_namespaceObject.addAnalyticsParameterToTool)(tool, 'context', contextDescriptionOverride || external_constants_js_namespaceObject.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION, 'context', logger);
|
|
71
47
|
}
|
|
72
48
|
function addContextParameterToTools(tools, contextDescriptionOverride, logger = external_logger_js_namespaceObject.log) {
|
|
73
49
|
return tools.map((tool)=>addContextParameterToTool(tool, contextDescriptionOverride, logger));
|
|
@@ -76,12 +52,12 @@ exports.addContextParameterToTool = __webpack_exports__.addContextParameterToToo
|
|
|
76
52
|
exports.addContextParameterToTools = __webpack_exports__.addContextParameterToTools;
|
|
77
53
|
exports.getContextDescription = __webpack_exports__.getContextDescription;
|
|
78
54
|
exports.isContextEnabled = __webpack_exports__.isContextEnabled;
|
|
79
|
-
for(var
|
|
55
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
80
56
|
"addContextParameterToTool",
|
|
81
57
|
"addContextParameterToTools",
|
|
82
58
|
"getContextDescription",
|
|
83
59
|
"isContextEnabled"
|
|
84
|
-
].indexOf(
|
|
60
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
85
61
|
Object.defineProperty(exports, '__esModule', {
|
|
86
62
|
value: true
|
|
87
63
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { addAnalyticsParameterToTool } from "./analytics-parameters.mjs";
|
|
2
2
|
import { DEFAULT_CONTEXT_PARAMETER_DESCRIPTION } from "./constants.mjs";
|
|
3
3
|
import { log } from "./logger.mjs";
|
|
4
4
|
function isContextEnabled(context) {
|
|
@@ -8,35 +8,7 @@ function getContextDescription(context) {
|
|
|
8
8
|
return 'object' == typeof context ? context.description : void 0;
|
|
9
9
|
}
|
|
10
10
|
function addContextParameterToTool(tool, contextDescriptionOverride, logger = log) {
|
|
11
|
-
|
|
12
|
-
...tool
|
|
13
|
-
};
|
|
14
|
-
const toolName = tool.name || 'unknown';
|
|
15
|
-
const schema = modifiedTool.inputSchema;
|
|
16
|
-
if (!canInjectAnalyticsParameter(schema, 'context')) {
|
|
17
|
-
logger(hasAnalyticsParameter(schema, 'context') ? `WARN: Tool "${toolName}" already has 'context' parameter. Skipping context injection.` : `WARN: Tool "${toolName}" has complex schema (oneOf/allOf/anyOf/$ref). Skipping context injection.`);
|
|
18
|
-
return modifiedTool;
|
|
19
|
-
}
|
|
20
|
-
if (!modifiedTool.inputSchema) modifiedTool.inputSchema = {
|
|
21
|
-
type: 'object',
|
|
22
|
-
properties: {},
|
|
23
|
-
required: []
|
|
24
|
-
};
|
|
25
|
-
const contextDescription = contextDescriptionOverride || DEFAULT_CONTEXT_PARAMETER_DESCRIPTION;
|
|
26
|
-
modifiedTool.inputSchema = JSON.parse(JSON.stringify(modifiedTool.inputSchema));
|
|
27
|
-
const inputSchema = modifiedTool.inputSchema;
|
|
28
|
-
if (!inputSchema.properties) inputSchema.properties = {};
|
|
29
|
-
if (false === inputSchema.additionalProperties) inputSchema.additionalProperties = void 0;
|
|
30
|
-
inputSchema.properties.context = {
|
|
31
|
-
type: 'string',
|
|
32
|
-
description: contextDescription
|
|
33
|
-
};
|
|
34
|
-
if (Array.isArray(inputSchema.required)) {
|
|
35
|
-
if (!inputSchema.required.includes('context')) inputSchema.required.push('context');
|
|
36
|
-
} else inputSchema.required = [
|
|
37
|
-
'context'
|
|
38
|
-
];
|
|
39
|
-
return modifiedTool;
|
|
11
|
+
return addAnalyticsParameterToTool(tool, 'context', contextDescriptionOverride || DEFAULT_CONTEXT_PARAMETER_DESCRIPTION, 'context', logger);
|
|
40
12
|
}
|
|
41
13
|
function addContextParameterToTools(tools, contextDescriptionOverride, logger = log) {
|
|
42
14
|
return tools.map((tool)=>addContextParameterToTool(tool, contextDescriptionOverride, logger));
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -25,14 +29,14 @@ var __webpack_exports__ = {};
|
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
31
|
CONVERSATION_ID_PARAM_NAME: ()=>CONVERSATION_ID_PARAM_NAME,
|
|
28
|
-
|
|
29
|
-
buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
|
|
30
|
-
injectConversationIdPromptBack: ()=>injectConversationIdPromptBack,
|
|
32
|
+
addConversationIdToTool: ()=>addConversationIdToTool,
|
|
31
33
|
addConversationIdToTools: ()=>addConversationIdToTools,
|
|
34
|
+
buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
|
|
35
|
+
canInjectConversationIdPromptBack: ()=>canInjectConversationIdPromptBack,
|
|
32
36
|
extractConversationId: ()=>extractConversationId,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
injectConversationIdPromptBack: ()=>injectConversationIdPromptBack,
|
|
38
|
+
resolveConversationId: ()=>resolveConversationId,
|
|
39
|
+
stripConversationId: ()=>stripConversationId
|
|
36
40
|
});
|
|
37
41
|
const core_namespaceObject = require("@posthog/core");
|
|
38
42
|
const external_analytics_parameters_js_namespaceObject = require("./analytics-parameters.js");
|
|
@@ -127,7 +131,7 @@ exports.extractConversationId = __webpack_exports__.extractConversationId;
|
|
|
127
131
|
exports.injectConversationIdPromptBack = __webpack_exports__.injectConversationIdPromptBack;
|
|
128
132
|
exports.resolveConversationId = __webpack_exports__.resolveConversationId;
|
|
129
133
|
exports.stripConversationId = __webpack_exports__.stripConversationId;
|
|
130
|
-
for(var
|
|
134
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
131
135
|
"CONVERSATION_ID_PARAM_NAME",
|
|
132
136
|
"addConversationIdToTool",
|
|
133
137
|
"addConversationIdToTools",
|
|
@@ -137,7 +141,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
137
141
|
"injectConversationIdPromptBack",
|
|
138
142
|
"resolveConversationId",
|
|
139
143
|
"stripConversationId"
|
|
140
|
-
].indexOf(
|
|
144
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
141
145
|
Object.defineProperty(exports, '__esModule', {
|
|
142
146
|
value: true
|
|
143
147
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,17 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
canRegisterTools: ()=>canRegisterTools,
|
|
28
|
-
canSetRequestHandler: ()=>canSetRequestHandler,
|
|
29
|
-
hasClientVersionAccessor: ()=>hasClientVersionAccessor,
|
|
30
|
-
hasNegotiatedProtocolVersionAccessor: ()=>hasNegotiatedProtocolVersionAccessor,
|
|
31
|
-
hasNestedLowLevelServer: ()=>hasNestedLowLevelServer,
|
|
32
|
-
hasRequestHandlerMap: ()=>hasRequestHandlerMap,
|
|
33
|
-
hasServerInfo: ()=>hasServerInfo,
|
|
34
|
-
hasToolRegistry: ()=>hasToolRegistry,
|
|
35
|
-
isBareServerShape: ()=>isBareServerShape
|
|
36
|
-
});
|
|
37
30
|
function asRecord(value) {
|
|
38
31
|
return value && 'object' == typeof value ? value : void 0;
|
|
39
32
|
}
|
|
@@ -71,6 +64,17 @@ function hasServerInfo(server) {
|
|
|
71
64
|
const info = asRecord(asRecord(server)?._serverInfo);
|
|
72
65
|
return !!info && 'name' in info;
|
|
73
66
|
}
|
|
67
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
68
|
+
canRegisterTools: ()=>canRegisterTools,
|
|
69
|
+
canSetRequestHandler: ()=>canSetRequestHandler,
|
|
70
|
+
hasClientVersionAccessor: ()=>hasClientVersionAccessor,
|
|
71
|
+
hasNegotiatedProtocolVersionAccessor: ()=>hasNegotiatedProtocolVersionAccessor,
|
|
72
|
+
hasNestedLowLevelServer: ()=>hasNestedLowLevelServer,
|
|
73
|
+
hasRequestHandlerMap: ()=>hasRequestHandlerMap,
|
|
74
|
+
hasServerInfo: ()=>hasServerInfo,
|
|
75
|
+
hasToolRegistry: ()=>hasToolRegistry,
|
|
76
|
+
isBareServerShape: ()=>isBareServerShape
|
|
77
|
+
});
|
|
74
78
|
exports.canRegisterTools = __webpack_exports__.canRegisterTools;
|
|
75
79
|
exports.canSetRequestHandler = __webpack_exports__.canSetRequestHandler;
|
|
76
80
|
exports.hasClientVersionAccessor = __webpack_exports__.hasClientVersionAccessor;
|
|
@@ -80,7 +84,7 @@ exports.hasRequestHandlerMap = __webpack_exports__.hasRequestHandlerMap;
|
|
|
80
84
|
exports.hasServerInfo = __webpack_exports__.hasServerInfo;
|
|
81
85
|
exports.hasToolRegistry = __webpack_exports__.hasToolRegistry;
|
|
82
86
|
exports.isBareServerShape = __webpack_exports__.isBareServerShape;
|
|
83
|
-
for(var
|
|
87
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
84
88
|
"canRegisterTools",
|
|
85
89
|
"canSetRequestHandler",
|
|
86
90
|
"hasClientVersionAccessor",
|
|
@@ -90,7 +94,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
90
94
|
"hasServerInfo",
|
|
91
95
|
"hasToolRegistry",
|
|
92
96
|
"isBareServerShape"
|
|
93
|
-
].indexOf(
|
|
97
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
94
98
|
Object.defineProperty(exports, '__esModule', {
|
|
95
99
|
value: true
|
|
96
100
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
MCPAnalyticsEventType: ()=>MCPAnalyticsEventType
|
|
28
|
-
});
|
|
29
30
|
const MCPAnalyticsEventType = {
|
|
30
31
|
identify: 'posthog:identify',
|
|
31
32
|
custom: 'posthog:custom',
|
|
@@ -38,10 +39,13 @@ const MCPAnalyticsEventType = {
|
|
|
38
39
|
mcpToolsCall: 'mcp:tools/call',
|
|
39
40
|
mcpToolsList: 'mcp:tools/list'
|
|
40
41
|
};
|
|
42
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
43
|
+
MCPAnalyticsEventType: MCPAnalyticsEventType
|
|
44
|
+
});
|
|
41
45
|
exports.MCPAnalyticsEventType = __webpack_exports__.MCPAnalyticsEventType;
|
|
42
|
-
for(var
|
|
46
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
43
47
|
"MCPAnalyticsEventType"
|
|
44
|
-
].indexOf(
|
|
48
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
45
49
|
Object.defineProperty(exports, '__esModule', {
|
|
46
50
|
value: true
|
|
47
51
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -50,9 +54,9 @@ function extractCallToolResultMessage(result) {
|
|
|
50
54
|
return result.content.filter(isTextContentPart).map((contentPart)=>contentPart.text).join(' ').trim() || 'Unknown error';
|
|
51
55
|
}
|
|
52
56
|
exports.captureException = __webpack_exports__.captureException;
|
|
53
|
-
for(var
|
|
57
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
54
58
|
"captureException"
|
|
55
|
-
].indexOf(
|
|
59
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
56
60
|
Object.defineProperty(exports, '__esModule', {
|
|
57
61
|
value: true
|
|
58
62
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,10 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
normalizeHeaderString: ()=>normalizeHeaderString,
|
|
28
|
-
readHeaderValue: ()=>readHeaderValue
|
|
29
|
-
});
|
|
30
30
|
function readHeaderValue(headers, name) {
|
|
31
31
|
if (!headers || 'object' != typeof headers) return;
|
|
32
32
|
const record = headers;
|
|
@@ -43,12 +43,16 @@ function normalizeHeaderString(value) {
|
|
|
43
43
|
const trimmed = first.trim();
|
|
44
44
|
return trimmed.length > 0 ? trimmed : void 0;
|
|
45
45
|
}
|
|
46
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
47
|
+
normalizeHeaderString: ()=>normalizeHeaderString,
|
|
48
|
+
readHeaderValue: ()=>readHeaderValue
|
|
49
|
+
});
|
|
46
50
|
exports.normalizeHeaderString = __webpack_exports__.normalizeHeaderString;
|
|
47
51
|
exports.readHeaderValue = __webpack_exports__.readHeaderValue;
|
|
48
|
-
for(var
|
|
52
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
49
53
|
"normalizeHeaderString",
|
|
50
54
|
"readHeaderValue"
|
|
51
|
-
].indexOf(
|
|
55
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
52
56
|
Object.defineProperty(exports, '__esModule', {
|
|
53
57
|
value: true
|
|
54
58
|
});
|
package/dist/extensions/ids.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -46,10 +50,10 @@ function fnv1aHex(input) {
|
|
|
46
50
|
}
|
|
47
51
|
exports.deterministicPrefixedId = __webpack_exports__.deterministicPrefixedId;
|
|
48
52
|
exports.newPrefixedId = __webpack_exports__.newPrefixedId;
|
|
49
|
-
for(var
|
|
53
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
50
54
|
"deterministicPrefixedId",
|
|
51
55
|
"newPrefixedId"
|
|
52
|
-
].indexOf(
|
|
56
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
53
57
|
Object.defineProperty(exports, '__esModule', {
|
|
54
58
|
value: true
|
|
55
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-highlevel.d.ts","sourceRoot":"","sources":["../../src/extensions/instrument-highlevel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,sBAAsB,EAIvB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"instrument-highlevel.d.ts","sourceRoot":"","sources":["../../src/extensions/instrument-highlevel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,sBAAsB,EAIvB,MAAM,UAAU,CAAA;AAUjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAmQxC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CA0BhG"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -28,6 +32,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
28
32
|
});
|
|
29
33
|
const external_analytics_parameters_js_namespaceObject = require("./analytics-parameters.js");
|
|
30
34
|
const external_context_parameters_js_namespaceObject = require("./context-parameters.js");
|
|
35
|
+
const external_model_parameters_js_namespaceObject = require("./model-parameters.js");
|
|
31
36
|
const external_event_types_js_namespaceObject = require("./event-types.js");
|
|
32
37
|
const external_internal_js_namespaceObject = require("./internal.js");
|
|
33
38
|
const external_mcp_sdk_compat_js_namespaceObject = require("./mcp-sdk-compat.js");
|
|
@@ -128,7 +133,8 @@ function addTracingToToolCallbackInternal(tool, toolName, server, getCurrentInpu
|
|
|
128
133
|
const inputSchema = getCurrentInputSchema();
|
|
129
134
|
const cleanedArgs = (0, external_analytics_parameters_js_namespaceObject.stripOwnedAnalyticsArguments)(args, {
|
|
130
135
|
context: (0, external_context_parameters_js_namespaceObject.isContextEnabled)(options?.context) && (0, external_analytics_parameters_js_namespaceObject.analyticsOwnsParameter)(inputSchema, 'context'),
|
|
131
|
-
conversationId: options?.enableConversationId === true && (0, external_analytics_parameters_js_namespaceObject.analyticsOwnsParameter)(inputSchema, 'conversation_id')
|
|
136
|
+
conversationId: options?.enableConversationId === true && (0, external_analytics_parameters_js_namespaceObject.analyticsOwnsParameter)(inputSchema, 'conversation_id'),
|
|
137
|
+
llmModel: (0, external_model_parameters_js_namespaceObject.isCaptureModelEnabled)(options?.captureModel) && (0, external_analytics_parameters_js_namespaceObject.analyticsOwnsParameter)(inputSchema, 'llm_model')
|
|
132
138
|
});
|
|
133
139
|
try {
|
|
134
140
|
if (void 0 === cleanedArgs) {
|
|
@@ -165,6 +171,7 @@ async function handleToolCallRequest(highLevelServer, server, originalCallToolHa
|
|
|
165
171
|
extra,
|
|
166
172
|
eventType: external_event_types_js_namespaceObject.MCPAnalyticsEventType.mcpMissingCapability,
|
|
167
173
|
explicitContextIntent: context,
|
|
174
|
+
parameterOwnership: (0, external_instrumentation_js_namespaceObject.getVirtualToolParameterOwnership)(data, toolName),
|
|
168
175
|
execute: async ()=>(0, external_tools_js_namespaceObject.handleReportMissing)({
|
|
169
176
|
context
|
|
170
177
|
}, data.logger)
|
|
@@ -215,9 +222,9 @@ function seedToolCategoriesFromRegistry(cache, tools) {
|
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
224
|
exports.instrumentHighLevelServer = __webpack_exports__.instrumentHighLevelServer;
|
|
218
|
-
for(var
|
|
225
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
219
226
|
"instrumentHighLevelServer"
|
|
220
|
-
].indexOf(
|
|
227
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
221
228
|
Object.defineProperty(exports, '__esModule', {
|
|
222
229
|
value: true
|
|
223
230
|
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { analyticsOwnsParameter, getAnalyticsParameterOwnership, stripOwnedAnalyticsArguments } from "./analytics-parameters.mjs";
|
|
2
2
|
import { isContextEnabled } from "./context-parameters.mjs";
|
|
3
|
+
import { isCaptureModelEnabled } from "./model-parameters.mjs";
|
|
3
4
|
import { MCPAnalyticsEventType } from "./event-types.mjs";
|
|
4
5
|
import { getServerTrackingData } from "./internal.mjs";
|
|
5
6
|
import { createWrappedTool, getToolFunction, hasToolFunction } from "./mcp-sdk-compat.mjs";
|
|
6
7
|
import { handleReportMissing, resolveMissingCapabilityToolName } from "./tools.mjs";
|
|
7
|
-
import { captureToolCall, handleInitializeRequest, handleListToolsRequest, isToolAdvertised, patchRequestHandlers, readToolMetaCategory } from "./instrumentation.mjs";
|
|
8
|
+
import { captureToolCall, getVirtualToolParameterOwnership, handleInitializeRequest, handleListToolsRequest, isToolAdvertised, patchRequestHandlers, readToolMetaCategory } from "./instrumentation.mjs";
|
|
8
9
|
import { getContextArgument } from "./tracing-helpers.mjs";
|
|
9
10
|
const wrappedCallbacks = new WeakMap();
|
|
10
11
|
const MCP_ANALYTICS_PROCESSED = Symbol('__posthog_mcp_analytics_processed__');
|
|
@@ -100,7 +101,8 @@ function addTracingToToolCallbackInternal(tool, toolName, server, getCurrentInpu
|
|
|
100
101
|
const inputSchema = getCurrentInputSchema();
|
|
101
102
|
const cleanedArgs = stripOwnedAnalyticsArguments(args, {
|
|
102
103
|
context: isContextEnabled(options?.context) && analyticsOwnsParameter(inputSchema, 'context'),
|
|
103
|
-
conversationId: options?.enableConversationId === true && analyticsOwnsParameter(inputSchema, 'conversation_id')
|
|
104
|
+
conversationId: options?.enableConversationId === true && analyticsOwnsParameter(inputSchema, 'conversation_id'),
|
|
105
|
+
llmModel: isCaptureModelEnabled(options?.captureModel) && analyticsOwnsParameter(inputSchema, 'llm_model')
|
|
104
106
|
});
|
|
105
107
|
try {
|
|
106
108
|
if (void 0 === cleanedArgs) {
|
|
@@ -137,6 +139,7 @@ async function handleToolCallRequest(highLevelServer, server, originalCallToolHa
|
|
|
137
139
|
extra,
|
|
138
140
|
eventType: MCPAnalyticsEventType.mcpMissingCapability,
|
|
139
141
|
explicitContextIntent: context,
|
|
142
|
+
parameterOwnership: getVirtualToolParameterOwnership(data, toolName),
|
|
140
143
|
execute: async ()=>handleReportMissing({
|
|
141
144
|
context
|
|
142
145
|
}, data.logger)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument-lowlevel.d.ts","sourceRoot":"","sources":["../../src/extensions/instrument-lowlevel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiD,aAAa,EAAE,MAAM,UAAU,CAAA;AAG5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"instrument-lowlevel.d.ts","sourceRoot":"","sources":["../../src/extensions/instrument-lowlevel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiD,aAAa,EAAE,MAAM,UAAU,CAAA;AAG5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAoBxC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CAyBtF"}
|