@posthog/mcp 0.12.0 → 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.
Files changed (63) hide show
  1. package/README.md +22 -2
  2. package/dist/extensions/analytics-parameters.js +14 -10
  3. package/dist/extensions/capture.js +12 -8
  4. package/dist/extensions/client-identity.js +18 -14
  5. package/dist/extensions/compatibility.js +16 -12
  6. package/dist/extensions/constants.js +24 -20
  7. package/dist/extensions/constants.mjs +2 -2
  8. package/dist/extensions/context-parameters.js +13 -9
  9. package/dist/extensions/conversation-id.js +18 -14
  10. package/dist/extensions/detect.js +23 -19
  11. package/dist/extensions/event-types.js +15 -11
  12. package/dist/extensions/exceptions.js +12 -8
  13. package/dist/extensions/headers.js +16 -12
  14. package/dist/extensions/ids.js +12 -8
  15. package/dist/extensions/instrument-highlevel.js +12 -8
  16. package/dist/extensions/instrument-lowlevel.js +12 -8
  17. package/dist/extensions/instrumentation.js +19 -15
  18. package/dist/extensions/intent.js +14 -10
  19. package/dist/extensions/internal.js +17 -13
  20. package/dist/extensions/lib-identity.js +12 -8
  21. package/dist/extensions/logger.js +17 -13
  22. package/dist/extensions/mcp-payloads.js +16 -12
  23. package/dist/extensions/mcp-sdk-compat.js +23 -19
  24. package/dist/extensions/model-parameters.d.ts.map +1 -1
  25. package/dist/extensions/model-parameters.js +21 -14
  26. package/dist/extensions/model-parameters.mjs +6 -3
  27. package/dist/extensions/output-instructions.js +15 -11
  28. package/dist/extensions/posthog-events.js +12 -8
  29. package/dist/extensions/posthog-mcp.d.ts +23 -12
  30. package/dist/extensions/posthog-mcp.d.ts.map +1 -1
  31. package/dist/extensions/posthog-mcp.js +49 -11
  32. package/dist/extensions/posthog-mcp.mjs +37 -3
  33. package/dist/extensions/request-headers.js +15 -11
  34. package/dist/extensions/sanitization.d.ts +2 -2
  35. package/dist/extensions/sanitization.d.ts.map +1 -1
  36. package/dist/extensions/sanitization.js +13 -8
  37. package/dist/extensions/sanitization.mjs +1 -0
  38. package/dist/extensions/session-token.js +17 -13
  39. package/dist/extensions/session-token.mjs +2 -2
  40. package/dist/extensions/session.js +16 -12
  41. package/dist/extensions/sink.js +14 -10
  42. package/dist/extensions/tools.js +15 -11
  43. package/dist/extensions/tracing-helpers.js +15 -11
  44. package/dist/extensions/transport-identity.js +15 -11
  45. package/dist/extensions/truncation.js +21 -16
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +22 -18
  49. package/dist/index.mjs +7 -7
  50. package/dist/types.d.ts +28 -4
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/types.js +2 -2
  53. package/dist/types.mjs +1 -0
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +15 -11
  56. package/dist/version.mjs +1 -1
  57. package/package.json +11 -11
  58. package/src/extensions/model-parameters.ts +7 -3
  59. package/src/extensions/posthog-mcp.ts +84 -12
  60. package/src/extensions/sanitization.ts +6 -2
  61. package/src/index.ts +1 -0
  62. package/src/types.ts +27 -4
  63. package/src/version.ts +1 -1
package/README.md CHANGED
@@ -137,9 +137,10 @@ cannot tell that it is yours, its value is recorded as `$mcp_intent`. It never l
137
137
  and it is capped at 2048 characters. Two ways out, both one line:
138
138
 
139
139
  ```ts
140
- instrument(server, posthog, { context: false }) // no injection, no capture
140
+ instrument(server, posthog, { context: false }) // no injection, no capture
141
141
 
142
- instrument(server, posthog, { // keep it, drop the property
142
+ instrument(server, posthog, {
143
+ // keep it, drop the property
143
144
  beforeSend: (event) => {
144
145
  delete event.properties.$mcp_intent
145
146
  return event
@@ -178,6 +179,25 @@ As with `context`, what matters is instance lifetime rather than statelessness:
178
179
  server (`sessionIdGenerator: undefined`) that keeps one long-lived server object learns ownership
179
180
  from the first `tools/list` and keeps it.
180
181
 
182
+ For a custom dispatcher, enable the same option on `PostHogMCP`. Its `prepareToolList()` helper
183
+ injects the field and records ownership by tool name; `prepareToolCall()` returns `llmModel` and
184
+ `llmModelSource` while removing the SDK-owned argument before dispatch. Pass both fields to
185
+ `captureToolCall()`. Pass the original tool descriptor on each call so this also works when
186
+ `tools/list` and `tools/call` reach different server replicas:
187
+
188
+ ```ts
189
+ const posthog = new PostHogMCP(process.env.POSTHOG_PROJECT_TOKEN, { captureModel: true })
190
+
191
+ const tools = posthog.prepareToolList(serverTools)
192
+ const originalTool = serverTools.find((tool) => tool.name === toolName)
193
+ const { args, llmModel, llmModelSource } = posthog.prepareToolCall(toolName, rawArgs, { originalTool })
194
+ const result = await dispatch(toolName, args)
195
+
196
+ posthog.captureToolCall({ toolName, llmModel, llmModelSource, isError: false })
197
+ ```
198
+
199
+ A persistent single-process dispatcher can omit `originalTool` after it has prepared its tool list.
200
+
181
201
  ### If you switched to `instrument(server.server)`
182
202
 
183
203
  Before v2 support landed, the compatibility gate rejected high-level v2 servers, and the usual
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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,10 +29,10 @@ var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
30
  __webpack_require__.d(__webpack_exports__, {
27
31
  addAnalyticsParameterToTool: ()=>addAnalyticsParameterToTool,
28
- hasAnalyticsParameter: ()=>hasAnalyticsParameter,
29
32
  analyticsOwnsParameter: ()=>analyticsOwnsParameter,
30
- getAnalyticsParameterOwnership: ()=>getAnalyticsParameterOwnership,
31
33
  canInjectAnalyticsParameter: ()=>canInjectAnalyticsParameter,
34
+ getAnalyticsParameterOwnership: ()=>getAnalyticsParameterOwnership,
35
+ hasAnalyticsParameter: ()=>hasAnalyticsParameter,
32
36
  stripOwnedAnalyticsArguments: ()=>stripOwnedAnalyticsArguments
33
37
  });
34
38
  const external_logger_js_namespaceObject = require("./logger.js");
@@ -126,14 +130,14 @@ exports.canInjectAnalyticsParameter = __webpack_exports__.canInjectAnalyticsPara
126
130
  exports.getAnalyticsParameterOwnership = __webpack_exports__.getAnalyticsParameterOwnership;
127
131
  exports.hasAnalyticsParameter = __webpack_exports__.hasAnalyticsParameter;
128
132
  exports.stripOwnedAnalyticsArguments = __webpack_exports__.stripOwnedAnalyticsArguments;
129
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
133
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
130
134
  "addAnalyticsParameterToTool",
131
135
  "analyticsOwnsParameter",
132
136
  "canInjectAnalyticsParameter",
133
137
  "getAnalyticsParameterOwnership",
134
138
  "hasAnalyticsParameter",
135
139
  "stripOwnedAnalyticsArguments"
136
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
140
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
137
141
  Object.defineProperty(exports, '__esModule', {
138
142
  value: true
139
143
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
21
  value: 'Module'
18
22
  });
19
23
  Object.defineProperty(exports1, '__esModule', {
@@ -78,9 +82,9 @@ function captureEvent(server, eventInput, logger, requestAttribution) {
78
82
  });
79
83
  }
80
84
  exports.captureEvent = __webpack_exports__.captureEvent;
81
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
85
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
82
86
  "captureEvent"
83
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
87
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
84
88
  Object.defineProperty(exports, '__esModule', {
85
89
  value: true
86
90
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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,15 +28,15 @@ var __webpack_require__ = {};
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
30
  __webpack_require__.d(__webpack_exports__, {
27
- readMetaClientInfo: ()=>readMetaClientInfo,
28
- readHeaderProtocolVersion: ()=>readHeaderProtocolVersion,
31
+ META_CLIENT_INFO_KEY: ()=>META_CLIENT_INFO_KEY,
29
32
  META_PROTOCOL_VERSION_KEY: ()=>META_PROTOCOL_VERSION_KEY,
30
33
  PROTOCOL_VERSION_HEADER: ()=>PROTOCOL_VERSION_HEADER,
31
- stampClientIdentity: ()=>stampClientIdentity,
32
- resolveClientIdentity: ()=>resolveClientIdentity,
33
- readServerClientIdentity: ()=>readServerClientIdentity,
34
34
  readEnvelopeClientInfo: ()=>readEnvelopeClientInfo,
35
- META_CLIENT_INFO_KEY: ()=>META_CLIENT_INFO_KEY
35
+ readHeaderProtocolVersion: ()=>readHeaderProtocolVersion,
36
+ readMetaClientInfo: ()=>readMetaClientInfo,
37
+ readServerClientIdentity: ()=>readServerClientIdentity,
38
+ resolveClientIdentity: ()=>resolveClientIdentity,
39
+ stampClientIdentity: ()=>stampClientIdentity
36
40
  });
37
41
  const external_detect_js_namespaceObject = require("./detect.js");
38
42
  const external_headers_js_namespaceObject = require("./headers.js");
@@ -125,7 +129,7 @@ exports.readMetaClientInfo = __webpack_exports__.readMetaClientInfo;
125
129
  exports.readServerClientIdentity = __webpack_exports__.readServerClientIdentity;
126
130
  exports.resolveClientIdentity = __webpack_exports__.resolveClientIdentity;
127
131
  exports.stampClientIdentity = __webpack_exports__.stampClientIdentity;
128
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
132
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
129
133
  "META_CLIENT_INFO_KEY",
130
134
  "META_PROTOCOL_VERSION_KEY",
131
135
  "PROTOCOL_VERSION_HEADER",
@@ -135,7 +139,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
135
139
  "readServerClientIdentity",
136
140
  "resolveClientIdentity",
137
141
  "stampClientIdentity"
138
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
142
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
139
143
  Object.defineProperty(exports, '__esModule', {
140
144
  value: true
141
145
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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,11 +28,11 @@ var __webpack_require__ = {};
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
30
  __webpack_require__.d(__webpack_exports__, {
27
- isLowLevelServer: ()=>isLowLevelServer,
28
- isHighLevelServer: ()=>isHighLevelServer,
29
- logCompatibilityWarning: ()=>logCompatibilityWarning,
31
+ getMCPCompatibleErrorMessage: ()=>getMCPCompatibleErrorMessage,
30
32
  isCompatibleServerType: ()=>isCompatibleServerType,
31
- getMCPCompatibleErrorMessage: ()=>getMCPCompatibleErrorMessage
33
+ isHighLevelServer: ()=>isHighLevelServer,
34
+ isLowLevelServer: ()=>isLowLevelServer,
35
+ logCompatibilityWarning: ()=>logCompatibilityWarning
32
36
  });
33
37
  const external_detect_js_namespaceObject = require("./detect.js");
34
38
  function logCompatibilityWarning(logger) {
@@ -96,13 +100,13 @@ exports.isCompatibleServerType = __webpack_exports__.isCompatibleServerType;
96
100
  exports.isHighLevelServer = __webpack_exports__.isHighLevelServer;
97
101
  exports.isLowLevelServer = __webpack_exports__.isLowLevelServer;
98
102
  exports.logCompatibilityWarning = __webpack_exports__.logCompatibilityWarning;
99
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
103
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
100
104
  "getMCPCompatibleErrorMessage",
101
105
  "isCompatibleServerType",
102
106
  "isHighLevelServer",
103
107
  "isLowLevelServer",
104
108
  "logCompatibilityWarning"
105
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
109
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
106
110
  Object.defineProperty(exports, '__esModule', {
107
111
  value: true
108
112
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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,20 +27,10 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- DEFAULT_CONTEXT_PARAMETER_DESCRIPTION: ()=>DEFAULT_CONTEXT_PARAMETER_DESCRIPTION,
28
- DEFAULT_CONVERSATION_ID_DESCRIPTION: ()=>DEFAULT_CONVERSATION_ID_DESCRIPTION,
29
- DEFAULT_MODEL_PARAMETER_DESCRIPTION: ()=>DEFAULT_MODEL_PARAMETER_DESCRIPTION,
30
- INACTIVITY_TIMEOUT_IN_MINUTES: ()=>INACTIVITY_TIMEOUT_IN_MINUTES,
31
- POSTHOG_MCP_ANALYTICS_SOURCE: ()=>POSTHOG_MCP_ANALYTICS_SOURCE,
32
- POSTHOG_MCP_LIB_NAME: ()=>POSTHOG_MCP_LIB_NAME,
33
- PostHogMCPAnalyticsEvent: ()=>PostHogMCPAnalyticsEvent,
34
- PostHogMCPAnalyticsProperty: ()=>PostHogMCPAnalyticsProperty
35
- });
36
30
  const INACTIVITY_TIMEOUT_IN_MINUTES = 30;
37
31
  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.\"";
38
- 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" \u{2014} never guess.`;
39
- const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call \u2014 never invent one, and do not issue parallel tool calls until you have it.";
32
+ 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.';
33
+ 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.";
40
34
  const POSTHOG_MCP_ANALYTICS_SOURCE = 'posthog_mcp_analytics';
41
35
  const POSTHOG_MCP_LIB_NAME = 'posthog-node-mcp';
42
36
  const PostHogMCPAnalyticsEvent = {
@@ -79,6 +73,16 @@ const PostHogMCPAnalyticsProperty = {
79
73
  ToolName: '$mcp_tool_name',
80
74
  VendorClient: '$mcp_vendor_client'
81
75
  };
76
+ __webpack_require__.d(__webpack_exports__, {}, {
77
+ DEFAULT_CONTEXT_PARAMETER_DESCRIPTION: DEFAULT_CONTEXT_PARAMETER_DESCRIPTION,
78
+ DEFAULT_CONVERSATION_ID_DESCRIPTION: DEFAULT_CONVERSATION_ID_DESCRIPTION,
79
+ DEFAULT_MODEL_PARAMETER_DESCRIPTION: DEFAULT_MODEL_PARAMETER_DESCRIPTION,
80
+ INACTIVITY_TIMEOUT_IN_MINUTES: INACTIVITY_TIMEOUT_IN_MINUTES,
81
+ POSTHOG_MCP_ANALYTICS_SOURCE: POSTHOG_MCP_ANALYTICS_SOURCE,
82
+ POSTHOG_MCP_LIB_NAME: POSTHOG_MCP_LIB_NAME,
83
+ PostHogMCPAnalyticsEvent: PostHogMCPAnalyticsEvent,
84
+ PostHogMCPAnalyticsProperty: PostHogMCPAnalyticsProperty
85
+ });
82
86
  exports.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION = __webpack_exports__.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION;
83
87
  exports.DEFAULT_CONVERSATION_ID_DESCRIPTION = __webpack_exports__.DEFAULT_CONVERSATION_ID_DESCRIPTION;
84
88
  exports.DEFAULT_MODEL_PARAMETER_DESCRIPTION = __webpack_exports__.DEFAULT_MODEL_PARAMETER_DESCRIPTION;
@@ -87,7 +91,7 @@ exports.POSTHOG_MCP_ANALYTICS_SOURCE = __webpack_exports__.POSTHOG_MCP_ANALYTICS
87
91
  exports.POSTHOG_MCP_LIB_NAME = __webpack_exports__.POSTHOG_MCP_LIB_NAME;
88
92
  exports.PostHogMCPAnalyticsEvent = __webpack_exports__.PostHogMCPAnalyticsEvent;
89
93
  exports.PostHogMCPAnalyticsProperty = __webpack_exports__.PostHogMCPAnalyticsProperty;
90
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
94
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
91
95
  "DEFAULT_CONTEXT_PARAMETER_DESCRIPTION",
92
96
  "DEFAULT_CONVERSATION_ID_DESCRIPTION",
93
97
  "DEFAULT_MODEL_PARAMETER_DESCRIPTION",
@@ -96,7 +100,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
96
100
  "POSTHOG_MCP_LIB_NAME",
97
101
  "PostHogMCPAnalyticsEvent",
98
102
  "PostHogMCPAnalyticsProperty"
99
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
103
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
100
104
  Object.defineProperty(exports, '__esModule', {
101
105
  value: true
102
106
  });
@@ -1,7 +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 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" \u{2014} 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 \u2014 never invent one, and do not issue parallel tool calls until you have it.";
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.";
5
5
  const POSTHOG_MCP_ANALYTICS_SOURCE = 'posthog_mcp_analytics';
6
6
  const POSTHOG_MCP_LIB_NAME = 'posthog-node-mcp';
7
7
  const PostHogMCPAnalyticsEvent = {
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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
  });
@@ -48,12 +52,12 @@ exports.addContextParameterToTool = __webpack_exports__.addContextParameterToToo
48
52
  exports.addContextParameterToTools = __webpack_exports__.addContextParameterToTools;
49
53
  exports.getContextDescription = __webpack_exports__.getContextDescription;
50
54
  exports.isContextEnabled = __webpack_exports__.isContextEnabled;
51
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
52
56
  "addContextParameterToTool",
53
57
  "addContextParameterToTools",
54
58
  "getContextDescription",
55
59
  "isContextEnabled"
56
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
60
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
57
61
  Object.defineProperty(exports, '__esModule', {
58
62
  value: true
59
63
  });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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
- resolveConversationId: ()=>resolveConversationId,
29
- buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
30
- injectConversationIdPromptBack: ()=>injectConversationIdPromptBack,
32
+ addConversationIdToTool: ()=>addConversationIdToTool,
31
33
  addConversationIdToTools: ()=>addConversationIdToTools,
34
+ buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
35
+ canInjectConversationIdPromptBack: ()=>canInjectConversationIdPromptBack,
32
36
  extractConversationId: ()=>extractConversationId,
33
- addConversationIdToTool: ()=>addConversationIdToTool,
34
- stripConversationId: ()=>stripConversationId,
35
- canInjectConversationIdPromptBack: ()=>canInjectConversationIdPromptBack
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 __webpack_i__ in __webpack_exports__)if (-1 === [
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(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
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, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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 __webpack_i__ in __webpack_exports__)if (-1 === [
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(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
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, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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 ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
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 __webpack_i__ in __webpack_exports__)if (-1 === [
46
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
43
47
  "MCPAnalyticsEventType"
44
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
48
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
45
49
  Object.defineProperty(exports, '__esModule', {
46
50
  value: true
47
51
  });