@posthog/mcp 0.22.2 → 0.23.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 +2 -7
- package/dist/extensions/constants.d.ts +2 -0
- package/dist/extensions/constants.d.ts.map +1 -1
- package/dist/extensions/constants.js +1 -0
- package/dist/extensions/constants.mjs +1 -0
- package/dist/extensions/event-types.d.ts +0 -1
- package/dist/extensions/event-types.d.ts.map +1 -1
- package/dist/extensions/event-types.js +0 -1
- package/dist/extensions/event-types.mjs +0 -1
- package/dist/extensions/instrumentation.d.ts.map +1 -1
- package/dist/extensions/instrumentation.js +4 -4
- package/dist/extensions/instrumentation.mjs +4 -4
- package/dist/extensions/internal.d.ts +5 -13
- package/dist/extensions/internal.d.ts.map +1 -1
- package/dist/extensions/internal.js +12 -68
- package/dist/extensions/internal.mjs +3 -56
- package/dist/extensions/posthog-events.d.ts.map +1 -1
- package/dist/extensions/posthog-events.js +4 -2
- package/dist/extensions/posthog-events.mjs +4 -2
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.mjs +1 -1
- package/package.json +5 -4
- package/src/extensions/constants.ts +2 -0
- package/src/extensions/event-types.ts +0 -1
- package/src/extensions/instrumentation.ts +4 -12
- package/src/extensions/internal.ts +6 -106
- package/src/extensions/posthog-events.ts +4 -2
- package/src/extensions/sanitization.ts +2 -2
- package/src/extensions/session.ts +1 -1
- package/src/types.ts +1 -2
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -15,13 +15,8 @@ as a token carrying the session id and client name/version. Clients replay the h
|
|
|
15
15
|
every request, so any pod keeps `$session_id` and `$mcp_client_name`/`$mcp_client_version`
|
|
16
16
|
stable with no server-side store.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
pods reuse the identity to stamp `distinct_id`/`$set` on every event **without** re-publishing
|
|
21
|
-
`$identify`, so person **properties** are never lost. (Edge case: if identity isn't resolvable
|
|
22
|
-
until _after_ `initialize`, the first `$identify` is suppressed too, so pre-identify anonymous
|
|
23
|
-
events aren't aliased onto the user — see `docs/ARCHITECTURE.md` §4.) To drop `$identify`
|
|
24
|
-
entirely, return `null` from `beforeSend` when `event === '$identify'`.
|
|
18
|
+
The SDK publishes no standalone `$identify` event. The `identify` callback runs on every request,
|
|
19
|
+
on any pod, and stamps `distinct_id` and `$set` onto each event it sends.
|
|
25
20
|
|
|
26
21
|
### Streamable HTTP: set `enableJsonResponse: true`
|
|
27
22
|
|
|
@@ -8,6 +8,7 @@ export declare const PostHogMCPAnalyticsEvent: {
|
|
|
8
8
|
readonly Custom: '$mcp_custom';
|
|
9
9
|
readonly Exception: '$exception';
|
|
10
10
|
readonly Feedback: '$mcp_feedback';
|
|
11
|
+
/** @deprecated The SDK no longer publishes `$identify`. */
|
|
11
12
|
readonly Identify: '$identify';
|
|
12
13
|
readonly Initialize: '$mcp_initialize';
|
|
13
14
|
readonly MissingCapability: '$mcp_missing_capability';
|
|
@@ -35,6 +36,7 @@ export declare const PostHogMCPAnalyticsProperty: {
|
|
|
35
36
|
readonly FeedbackTaskCompleted: '$mcp_feedback_task_completed';
|
|
36
37
|
readonly FeedbackTool: '$mcp_feedback_tool';
|
|
37
38
|
readonly FeedbackType: '$mcp_feedback_type';
|
|
39
|
+
readonly Interface: '$mcp_interface';
|
|
38
40
|
readonly IsError: '$mcp_is_error';
|
|
39
41
|
readonly InputAliasesUsed: '$mcp_input_aliases_used';
|
|
40
42
|
readonly InputKeys: '$mcp_input_keys';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/extensions/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAE/C,eAAO,MAAM,qCAAqC,onBAA4mB,CAAA;AAE9pB,eAAO,MAAM,mCAAmC,gRAAqQ,CAAA;AAErT,eAAO,MAAM,mCAAmC,qYAC+U,CAAA;AAE/X,eAAO,MAAM,4BAA4B,0BAA0B,CAAA;AAMnE,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AAItD,eAAO,MAAM,wBAAwB;aACnC,MAAM,EAAE,aAAa;aACrB,SAAS,EAAE,YAAY;aACvB,QAAQ,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/extensions/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAE/C,eAAO,MAAM,qCAAqC,onBAA4mB,CAAA;AAE9pB,eAAO,MAAM,mCAAmC,gRAAqQ,CAAA;AAErT,eAAO,MAAM,mCAAmC,qYAC+U,CAAA;AAE/X,eAAO,MAAM,4BAA4B,0BAA0B,CAAA;AAMnE,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AAItD,eAAO,MAAM,wBAAwB;aACnC,MAAM,EAAE,aAAa;aACrB,SAAS,EAAE,YAAY;aACvB,QAAQ,EAAE,eAAe;IACzB,2DAA2D;aAC3D,QAAQ,EAAE,WAAW;aACrB,UAAU,EAAE,iBAAiB;aAC7B,iBAAiB,EAAE,yBAAyB;aAC5C,SAAS,EAAE,iBAAiB;aAC5B,WAAW,EAAE,mBAAmB;aAChC,YAAY,EAAE,oBAAoB;aAClC,aAAa,EAAE,qBAAqB;aACpC,QAAQ,EAAE,gBAAgB;aAC1B,SAAS,EAAE,iBAAiB;CACpB,CAAA;AAEV,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAA;AAE/G,eAAO,MAAM,2BAA2B;aACtC,UAAU,EAAE,kBAAkB;aAC9B,eAAe,EAAE,wBAAwB;aACzC,aAAa,EAAE,qBAAqB;aACpC,cAAc,EAAE,sBAAsB;aACtC,UAAU,EAAE,kBAAkB;aAC9B,YAAY,EAAE,oBAAoB;aAClC,SAAS,EAAE,iBAAiB;aAC5B,eAAe,EAAE,uBAAuB;aACxC,sBAAsB,EAAE,+BAA+B;aACvD,iBAAiB,EAAE,yBAAyB;aAC5C,4BAA4B,EAAE,qCAAqC;aACnE,eAAe,EAAE,uBAAuB;aACxC,qBAAqB,EAAE,8BAA8B;aACrD,YAAY,EAAE,oBAAoB;aAClC,YAAY,EAAE,oBAAoB;aAClC,SAAS,EAAE,gBAAgB;aAC3B,OAAO,EAAE,eAAe;aACxB,gBAAgB,EAAE,yBAAyB;aAC3C,SAAS,EAAE,iBAAiB;aAC5B,MAAM,EAAE,aAAa;aACrB,YAAY,EAAE,oBAAoB;aAClC,eAAe,EAAE,wBAAwB;aACzC,QAAQ,EAAE,gBAAgB;aAC1B,cAAc,EAAE,uBAAuB;aACvC,UAAU,EAAE,iBAAiB;aAC7B,eAAe,EAAE,uBAAuB;aACxC,YAAY,EAAE,oBAAoB;aAClC,QAAQ,EAAE,eAAe;aACzB,WAAW,EAAE,mBAAmB;aAChC,UAAU,EAAE,kBAAkB;aAC9B,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE,aAAa;aACxB,MAAM,EAAE,aAAa;aACrB,YAAY,EAAE,oBAAoB;aAClC,eAAe,EAAE,uBAAuB;aACxC,QAAQ,EAAE,gBAAgB;aAC1B,YAAY,EAAE,oBAAoB;CAC1B,CAAA;AAEV,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA"}
|
|
@@ -63,6 +63,7 @@ const PostHogMCPAnalyticsProperty = {
|
|
|
63
63
|
FeedbackTaskCompleted: '$mcp_feedback_task_completed',
|
|
64
64
|
FeedbackTool: '$mcp_feedback_tool',
|
|
65
65
|
FeedbackType: '$mcp_feedback_type',
|
|
66
|
+
Interface: '$mcp_interface',
|
|
66
67
|
IsError: '$mcp_is_error',
|
|
67
68
|
InputAliasesUsed: '$mcp_input_aliases_used',
|
|
68
69
|
InputKeys: '$mcp_input_keys',
|
|
@@ -34,6 +34,7 @@ const PostHogMCPAnalyticsProperty = {
|
|
|
34
34
|
FeedbackTaskCompleted: '$mcp_feedback_task_completed',
|
|
35
35
|
FeedbackTool: '$mcp_feedback_tool',
|
|
36
36
|
FeedbackType: '$mcp_feedback_type',
|
|
37
|
+
Interface: '$mcp_interface',
|
|
37
38
|
IsError: '$mcp_is_error',
|
|
38
39
|
InputAliasesUsed: '$mcp_input_aliases_used',
|
|
39
40
|
InputKeys: '$mcp_input_keys',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/extensions/event-types.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;aAChC,
|
|
1
|
+
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/extensions/event-types.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;aAChC,MAAM,EAAE,gBAAgB;aACxB,WAAW,EAAE,cAAc;aAC3B,oBAAoB,EAAE,wBAAwB;aAC9C,aAAa,EAAE,gBAAgB;aAC/B,aAAa,EAAE,iBAAiB;aAChC,cAAc,EAAE,kBAAkB;aAClC,gBAAgB,EAAE,oBAAoB;aACtC,gBAAgB,EAAE,oBAAoB;aACtC,YAAY,EAAE,gBAAgB;aAC9B,YAAY,EAAE,gBAAgB;CACtB,CAAA;AAEV,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -28,7 +28,6 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
const MCPAnalyticsEventType = {
|
|
31
|
-
identify: 'posthog:identify',
|
|
32
31
|
custom: 'posthog:custom',
|
|
33
32
|
mcpFeedback: 'mcp:feedback',
|
|
34
33
|
mcpMissingCapability: 'mcp:missing_capability',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/extensions/instrumentation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EAEvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EAId,MAAM,UAAU,CAAA;AAqBjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAiBxC;;;;;;GAMG;AAEH,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,6BAA6B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7G,2EAA2E;AAC3E,KAAK,YAAY,GAAG,CAAC,iBAAiB,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAmB3E,UAAU,mBAAmB;IAC3B,MAAM,EAAE,aAAa,CAAA;IACrB,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,KAAK,CAAC,EAAE,6BAA6B,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;IACrB,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,UAAU,CAAA;IACjC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAA;CAClC;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwFnF;
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/extensions/instrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,7 +178,7 @@ async function prepareToolCallEvent(server, data, request, downstreamRequest, ex
|
|
|
178
178
|
};
|
|
179
179
|
(0, external_client_identity_js_namespaceObject.stampClientIdentity)(event, request, extra, server);
|
|
180
180
|
(0, external_transport_identity_js_namespaceObject.stampTransportIdentity)(event, extra);
|
|
181
|
-
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(
|
|
181
|
+
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(data, sessionId, request, extra);
|
|
182
182
|
const requestAttribution = (0, external_internal_js_namespaceObject.withIdentity)(sessionInfo, identity);
|
|
183
183
|
await (0, external_tracing_helpers_js_namespaceObject.applyResolvedMetadata)(event, data, request, extra);
|
|
184
184
|
(0, external_intent_js_namespaceObject.setEventIntent)(event, await (0, external_intent_js_namespaceObject.resolveToolCallIntent)(data, request, canCaptureContextIntent, extra));
|
|
@@ -289,7 +289,7 @@ async function captureResourceRequest(params) {
|
|
|
289
289
|
};
|
|
290
290
|
(0, external_client_identity_js_namespaceObject.stampClientIdentity)(event, request, extra, server);
|
|
291
291
|
(0, external_transport_identity_js_namespaceObject.stampTransportIdentity)(event, extra);
|
|
292
|
-
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(
|
|
292
|
+
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(data, sessionId, request, extra);
|
|
293
293
|
await (0, external_tracing_helpers_js_namespaceObject.applyResolvedMetadata)(event, data, request, extra);
|
|
294
294
|
preparedEvent = {
|
|
295
295
|
event,
|
|
@@ -375,7 +375,7 @@ async function handleListToolsRequest(server, originalListToolsHandler, request,
|
|
|
375
375
|
};
|
|
376
376
|
(0, external_client_identity_js_namespaceObject.stampClientIdentity)(event, request, extra, server);
|
|
377
377
|
(0, external_transport_identity_js_namespaceObject.stampTransportIdentity)(event, extra);
|
|
378
|
-
const identity = data ? await (0, external_internal_js_namespaceObject.handleIdentify)(
|
|
378
|
+
const identity = data ? await (0, external_internal_js_namespaceObject.handleIdentify)(data, sessionId, request, extra) : void 0;
|
|
379
379
|
const requestAttribution = (0, external_internal_js_namespaceObject.withIdentity)(sessionInfo, identity);
|
|
380
380
|
if (data) await (0, external_tracing_helpers_js_namespaceObject.applyResolvedMetadata)(event, data, request, extra);
|
|
381
381
|
const response = await getTracedToolsList(server, originalListToolsHandler, request, extra, event, logger, requestAttribution);
|
|
@@ -573,7 +573,7 @@ async function handleInitializeRequest(server, originalInitializeHandler, reques
|
|
|
573
573
|
if (initializeClientInfo?.name) event.clientName = initializeClientInfo.name;
|
|
574
574
|
if (initializeClientInfo?.version) event.clientVersion = initializeClientInfo.version;
|
|
575
575
|
(0, external_transport_identity_js_namespaceObject.stampTransportIdentity)(event, extra);
|
|
576
|
-
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(
|
|
576
|
+
const identity = await (0, external_internal_js_namespaceObject.handleIdentify)(data, sessionId, request, extra);
|
|
577
577
|
const requestAttribution = (0, external_internal_js_namespaceObject.withIdentity)(requestSessionInfo, identity);
|
|
578
578
|
await (0, external_tracing_helpers_js_namespaceObject.applyResolvedMetadata)(event, data, request, extra);
|
|
579
579
|
const result = await originalInitializeHandler(request, extra);
|
|
@@ -137,7 +137,7 @@ async function prepareToolCallEvent(server, data, request, downstreamRequest, ex
|
|
|
137
137
|
};
|
|
138
138
|
stampClientIdentity(event, request, extra, server);
|
|
139
139
|
stampTransportIdentity(event, extra);
|
|
140
|
-
const identity = await handleIdentify(
|
|
140
|
+
const identity = await handleIdentify(data, sessionId, request, extra);
|
|
141
141
|
const requestAttribution = withIdentity(sessionInfo, identity);
|
|
142
142
|
await applyResolvedMetadata(event, data, request, extra);
|
|
143
143
|
setEventIntent(event, await resolveToolCallIntent(data, request, canCaptureContextIntent, extra));
|
|
@@ -248,7 +248,7 @@ async function captureResourceRequest(params) {
|
|
|
248
248
|
};
|
|
249
249
|
stampClientIdentity(event, request, extra, server);
|
|
250
250
|
stampTransportIdentity(event, extra);
|
|
251
|
-
const identity = await handleIdentify(
|
|
251
|
+
const identity = await handleIdentify(data, sessionId, request, extra);
|
|
252
252
|
await applyResolvedMetadata(event, data, request, extra);
|
|
253
253
|
preparedEvent = {
|
|
254
254
|
event,
|
|
@@ -334,7 +334,7 @@ async function handleListToolsRequest(server, originalListToolsHandler, request,
|
|
|
334
334
|
};
|
|
335
335
|
stampClientIdentity(event, request, extra, server);
|
|
336
336
|
stampTransportIdentity(event, extra);
|
|
337
|
-
const identity = data ? await handleIdentify(
|
|
337
|
+
const identity = data ? await handleIdentify(data, sessionId, request, extra) : void 0;
|
|
338
338
|
const requestAttribution = withIdentity(sessionInfo, identity);
|
|
339
339
|
if (data) await applyResolvedMetadata(event, data, request, extra);
|
|
340
340
|
const response = await getTracedToolsList(server, originalListToolsHandler, request, extra, event, logger, requestAttribution);
|
|
@@ -532,7 +532,7 @@ async function handleInitializeRequest(server, originalInitializeHandler, reques
|
|
|
532
532
|
if (initializeClientInfo?.name) event.clientName = initializeClientInfo.name;
|
|
533
533
|
if (initializeClientInfo?.version) event.clientVersion = initializeClientInfo.version;
|
|
534
534
|
stampTransportIdentity(event, extra);
|
|
535
|
-
const identity = await handleIdentify(
|
|
535
|
+
const identity = await handleIdentify(data, sessionId, request, extra);
|
|
536
536
|
const requestAttribution = withIdentity(requestSessionInfo, identity);
|
|
537
537
|
await applyResolvedMetadata(event, data, request, extra);
|
|
538
538
|
const result = await originalInitializeHandler(request, extra);
|
|
@@ -17,22 +17,14 @@ export declare class IdentityCache extends BoundedCache<UserIdentity> {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function getServerTrackingData(server: MCPServerLike): MCPAnalyticsData | undefined;
|
|
19
19
|
export declare function setServerTrackingData(server: MCPServerLike, data: MCPAnalyticsData): void;
|
|
20
|
-
export declare function areIdentitiesEqual(a: UserIdentity, b: UserIdentity): boolean;
|
|
21
20
|
export declare function mergeIdentities(previous: UserIdentity | undefined, next: UserIdentity): UserIdentity;
|
|
22
21
|
/**
|
|
23
|
-
* Resolves the optional `identify` callback on every request
|
|
24
|
-
* identity
|
|
25
|
-
* `$identify` event
|
|
26
|
-
*
|
|
22
|
+
* Resolves the optional `identify` callback on every request and caches the
|
|
23
|
+
* merged identity per session. The caller stamps it onto each event as
|
|
24
|
+
* `distinct_id`/`$set`, so no standalone `$identify` event is needed: without
|
|
25
|
+
* an `$anon_distinct_id` it would not merge any person in ingestion.
|
|
27
26
|
*/
|
|
28
|
-
export declare function handleIdentify(
|
|
29
|
-
/**
|
|
30
|
-
* True when this session id came from an agent-carried `conversation_id`
|
|
31
|
-
* rather than the transport. Such a session is brand new and was never
|
|
32
|
-
* announced at `initialize`, whatever `data.sessionSource` still says about
|
|
33
|
-
* the connection.
|
|
34
|
-
*/
|
|
35
|
-
sessionFromConversation?: boolean): Promise<UserIdentity | undefined>;
|
|
27
|
+
export declare function handleIdentify(data: MCPAnalyticsData, sessionId: string, request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra): Promise<UserIdentity | undefined>;
|
|
36
28
|
export declare function withIdentity(sessionInfo: SessionInfo, identity: UserIdentity | undefined): SessionInfo;
|
|
37
29
|
/**
|
|
38
30
|
* Resolves the `eventProperties` callback. Returns null when no callback is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/extensions/internal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/extensions/internal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,YAAY,OAAO,SAAO,EAEzB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAS9B;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAW/B;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExB;IAED,IAAI,IAAI,MAAM,CAEb;CACF;AAED,qBAAa,aAAc,SAAQ,YAAY,CAAC,YAAY,CAAC;CAAG;AAIhE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,SAAS,CAEzF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAEzF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,YAAY,CAapG;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,6BAA6B,GACpC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAuBnC;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,CAOtG;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,6BAA6B,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAUzC"}
|
|
@@ -27,21 +27,6 @@ var __webpack_require__ = {};
|
|
|
27
27
|
})();
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
BoundedCache: ()=>BoundedCache,
|
|
32
|
-
IdentityCache: ()=>IdentityCache,
|
|
33
|
-
areIdentitiesEqual: ()=>areIdentitiesEqual,
|
|
34
|
-
getServerTrackingData: ()=>getServerTrackingData,
|
|
35
|
-
handleIdentify: ()=>handleIdentify,
|
|
36
|
-
mergeIdentities: ()=>mergeIdentities,
|
|
37
|
-
resolveEventProperties: ()=>resolveEventProperties,
|
|
38
|
-
setServerTrackingData: ()=>setServerTrackingData,
|
|
39
|
-
withIdentity: ()=>withIdentity
|
|
40
|
-
});
|
|
41
|
-
const external_event_types_js_namespaceObject = require("./event-types.js");
|
|
42
|
-
const external_capture_js_namespaceObject = require("./capture.js");
|
|
43
|
-
const external_client_identity_js_namespaceObject = require("./client-identity.js");
|
|
44
|
-
const external_transport_identity_js_namespaceObject = require("./transport-identity.js");
|
|
45
30
|
class BoundedCache {
|
|
46
31
|
constructor(maxSize = 1000){
|
|
47
32
|
this._cache = new Map();
|
|
@@ -78,20 +63,6 @@ function getServerTrackingData(server) {
|
|
|
78
63
|
function setServerTrackingData(server, data) {
|
|
79
64
|
_serverTracking.set(server, data);
|
|
80
65
|
}
|
|
81
|
-
function areIdentitiesEqual(a, b) {
|
|
82
|
-
if (a.distinctId !== b.distinctId) return false;
|
|
83
|
-
if (JSON.stringify(a.groups ?? {}) !== JSON.stringify(b.groups ?? {})) return false;
|
|
84
|
-
const aProps = a.properties || {};
|
|
85
|
-
const bProps = b.properties || {};
|
|
86
|
-
const aKeys = Object.keys(aProps);
|
|
87
|
-
const bKeys = Object.keys(bProps);
|
|
88
|
-
if (aKeys.length !== bKeys.length) return false;
|
|
89
|
-
for (const key of aKeys){
|
|
90
|
-
if (!(key in bProps)) return false;
|
|
91
|
-
if (JSON.stringify(aProps[key]) !== JSON.stringify(bProps[key])) return false;
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
66
|
function mergeIdentities(previous, next) {
|
|
96
67
|
if (!previous) return next;
|
|
97
68
|
return {
|
|
@@ -103,36 +74,14 @@ function mergeIdentities(previous, next) {
|
|
|
103
74
|
groups: next.groups ?? previous.groups
|
|
104
75
|
};
|
|
105
76
|
}
|
|
106
|
-
async function handleIdentify(
|
|
77
|
+
async function handleIdentify(data, sessionId, request, extra) {
|
|
107
78
|
const identityBeforeRequest = data.identifiedSessions.get(sessionId);
|
|
108
|
-
const sessionSourceBeforeIdentify = data.sessionSource;
|
|
109
79
|
if (!data.options.identify) return identityBeforeRequest;
|
|
110
|
-
const identifyEvent = {
|
|
111
|
-
sessionId,
|
|
112
|
-
resourceName: getRequestResourceName(request),
|
|
113
|
-
eventType: external_event_types_js_namespaceObject.MCPAnalyticsEventType.identify,
|
|
114
|
-
parameters: {
|
|
115
|
-
request,
|
|
116
|
-
extra
|
|
117
|
-
},
|
|
118
|
-
timestamp: new Date()
|
|
119
|
-
};
|
|
120
|
-
(0, external_client_identity_js_namespaceObject.stampClientIdentity)(identifyEvent, request, extra, server);
|
|
121
|
-
(0, external_transport_identity_js_namespaceObject.stampTransportIdentity)(identifyEvent, extra);
|
|
122
80
|
try {
|
|
123
81
|
const identityResult = 'function' == typeof data.options.identify ? await data.options.identify(request, extra) : data.options.identify;
|
|
124
82
|
if (identityResult) {
|
|
125
|
-
const
|
|
126
|
-
const mergedIdentity = mergeIdentities(previousIdentity, identityResult);
|
|
127
|
-
const changed = void 0 !== previousIdentity && !areIdentitiesEqual(previousIdentity, mergedIdentity);
|
|
128
|
-
const firstSeen = void 0 === previousIdentity;
|
|
129
|
-
const announcedAtInitialize = !sessionFromConversation && 'token' === sessionSourceBeforeIdentify && 'initialize' !== request.method;
|
|
130
|
-
const shouldPublish = changed || firstSeen && !announcedAtInitialize;
|
|
83
|
+
const mergedIdentity = mergeIdentities(data.identifiedSessions.get(sessionId), identityResult);
|
|
131
84
|
data.identifiedSessions.set(sessionId, mergedIdentity);
|
|
132
|
-
if (shouldPublish) {
|
|
133
|
-
data.logger(`Identified session ${sessionId}`);
|
|
134
|
-
(0, external_capture_js_namespaceObject.captureEvent)(server, identifyEvent, data.logger, withIdentity(requestAttribution, mergedIdentity));
|
|
135
|
-
}
|
|
136
85
|
return mergedIdentity;
|
|
137
86
|
}
|
|
138
87
|
data.logger(`Warning: Supplied identify function returned null for session ${sessionId}`);
|
|
@@ -158,22 +107,18 @@ async function resolveEventProperties(data, request, extra) {
|
|
|
158
107
|
return null;
|
|
159
108
|
}
|
|
160
109
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
return 'Unknown';
|
|
173
|
-
}
|
|
110
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
111
|
+
BoundedCache: ()=>BoundedCache,
|
|
112
|
+
IdentityCache: ()=>IdentityCache,
|
|
113
|
+
getServerTrackingData: ()=>getServerTrackingData,
|
|
114
|
+
handleIdentify: ()=>handleIdentify,
|
|
115
|
+
mergeIdentities: ()=>mergeIdentities,
|
|
116
|
+
resolveEventProperties: ()=>resolveEventProperties,
|
|
117
|
+
setServerTrackingData: ()=>setServerTrackingData,
|
|
118
|
+
withIdentity: ()=>withIdentity
|
|
119
|
+
});
|
|
174
120
|
exports.BoundedCache = __webpack_exports__.BoundedCache;
|
|
175
121
|
exports.IdentityCache = __webpack_exports__.IdentityCache;
|
|
176
|
-
exports.areIdentitiesEqual = __webpack_exports__.areIdentitiesEqual;
|
|
177
122
|
exports.getServerTrackingData = __webpack_exports__.getServerTrackingData;
|
|
178
123
|
exports.handleIdentify = __webpack_exports__.handleIdentify;
|
|
179
124
|
exports.mergeIdentities = __webpack_exports__.mergeIdentities;
|
|
@@ -183,7 +128,6 @@ exports.withIdentity = __webpack_exports__.withIdentity;
|
|
|
183
128
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
184
129
|
"BoundedCache",
|
|
185
130
|
"IdentityCache",
|
|
186
|
-
"areIdentitiesEqual",
|
|
187
131
|
"getServerTrackingData",
|
|
188
132
|
"handleIdentify",
|
|
189
133
|
"mergeIdentities",
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { MCPAnalyticsEventType } from "./event-types.mjs";
|
|
2
|
-
import { captureEvent } from "./capture.mjs";
|
|
3
|
-
import { stampClientIdentity } from "./client-identity.mjs";
|
|
4
|
-
import { stampTransportIdentity } from "./transport-identity.mjs";
|
|
5
1
|
class BoundedCache {
|
|
6
2
|
constructor(maxSize = 1000){
|
|
7
3
|
this._cache = new Map();
|
|
@@ -38,20 +34,6 @@ function getServerTrackingData(server) {
|
|
|
38
34
|
function setServerTrackingData(server, data) {
|
|
39
35
|
_serverTracking.set(server, data);
|
|
40
36
|
}
|
|
41
|
-
function areIdentitiesEqual(a, b) {
|
|
42
|
-
if (a.distinctId !== b.distinctId) return false;
|
|
43
|
-
if (JSON.stringify(a.groups ?? {}) !== JSON.stringify(b.groups ?? {})) return false;
|
|
44
|
-
const aProps = a.properties || {};
|
|
45
|
-
const bProps = b.properties || {};
|
|
46
|
-
const aKeys = Object.keys(aProps);
|
|
47
|
-
const bKeys = Object.keys(bProps);
|
|
48
|
-
if (aKeys.length !== bKeys.length) return false;
|
|
49
|
-
for (const key of aKeys){
|
|
50
|
-
if (!(key in bProps)) return false;
|
|
51
|
-
if (JSON.stringify(aProps[key]) !== JSON.stringify(bProps[key])) return false;
|
|
52
|
-
}
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
37
|
function mergeIdentities(previous, next) {
|
|
56
38
|
if (!previous) return next;
|
|
57
39
|
return {
|
|
@@ -63,36 +45,14 @@ function mergeIdentities(previous, next) {
|
|
|
63
45
|
groups: next.groups ?? previous.groups
|
|
64
46
|
};
|
|
65
47
|
}
|
|
66
|
-
async function handleIdentify(
|
|
48
|
+
async function handleIdentify(data, sessionId, request, extra) {
|
|
67
49
|
const identityBeforeRequest = data.identifiedSessions.get(sessionId);
|
|
68
|
-
const sessionSourceBeforeIdentify = data.sessionSource;
|
|
69
50
|
if (!data.options.identify) return identityBeforeRequest;
|
|
70
|
-
const identifyEvent = {
|
|
71
|
-
sessionId,
|
|
72
|
-
resourceName: getRequestResourceName(request),
|
|
73
|
-
eventType: MCPAnalyticsEventType.identify,
|
|
74
|
-
parameters: {
|
|
75
|
-
request,
|
|
76
|
-
extra
|
|
77
|
-
},
|
|
78
|
-
timestamp: new Date()
|
|
79
|
-
};
|
|
80
|
-
stampClientIdentity(identifyEvent, request, extra, server);
|
|
81
|
-
stampTransportIdentity(identifyEvent, extra);
|
|
82
51
|
try {
|
|
83
52
|
const identityResult = 'function' == typeof data.options.identify ? await data.options.identify(request, extra) : data.options.identify;
|
|
84
53
|
if (identityResult) {
|
|
85
|
-
const
|
|
86
|
-
const mergedIdentity = mergeIdentities(previousIdentity, identityResult);
|
|
87
|
-
const changed = void 0 !== previousIdentity && !areIdentitiesEqual(previousIdentity, mergedIdentity);
|
|
88
|
-
const firstSeen = void 0 === previousIdentity;
|
|
89
|
-
const announcedAtInitialize = !sessionFromConversation && 'token' === sessionSourceBeforeIdentify && 'initialize' !== request.method;
|
|
90
|
-
const shouldPublish = changed || firstSeen && !announcedAtInitialize;
|
|
54
|
+
const mergedIdentity = mergeIdentities(data.identifiedSessions.get(sessionId), identityResult);
|
|
91
55
|
data.identifiedSessions.set(sessionId, mergedIdentity);
|
|
92
|
-
if (shouldPublish) {
|
|
93
|
-
data.logger(`Identified session ${sessionId}`);
|
|
94
|
-
captureEvent(server, identifyEvent, data.logger, withIdentity(requestAttribution, mergedIdentity));
|
|
95
|
-
}
|
|
96
56
|
return mergedIdentity;
|
|
97
57
|
}
|
|
98
58
|
data.logger(`Warning: Supplied identify function returned null for session ${sessionId}`);
|
|
@@ -118,17 +78,4 @@ async function resolveEventProperties(data, request, extra) {
|
|
|
118
78
|
return null;
|
|
119
79
|
}
|
|
120
80
|
}
|
|
121
|
-
|
|
122
|
-
if (!request || 'object' != typeof request || !('params' in request)) return 'Unknown';
|
|
123
|
-
const params = request.params;
|
|
124
|
-
if (!params || 'object' != typeof params) return 'Unknown';
|
|
125
|
-
for (const key of [
|
|
126
|
-
'name',
|
|
127
|
-
'uri'
|
|
128
|
-
]){
|
|
129
|
-
const value = params[key];
|
|
130
|
-
if ('string' == typeof value) return value;
|
|
131
|
-
}
|
|
132
|
-
return 'Unknown';
|
|
133
|
-
}
|
|
134
|
-
export { BoundedCache, IdentityCache, areIdentitiesEqual, getServerTrackingData, handleIdentify, mergeIdentities, resolveEventProperties, setServerTrackingData, withIdentity };
|
|
81
|
+
export { BoundedCache, IdentityCache, getServerTrackingData, handleIdentify, mergeIdentities, resolveEventProperties, setServerTrackingData, withIdentity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posthog-events.d.ts","sourceRoot":"","sources":["../../src/extensions/posthog-events.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"posthog-events.d.ts","sourceRoot":"","sources":["../../src/extensions/posthog-events.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAyBrC,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,gCAAgC;IAC/C,2FAA2F;IAC3F,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gCAAqC,GAC7C,mBAAmB,EAAE,CAQvB"}
|
|
@@ -34,7 +34,6 @@ const external_constants_js_namespaceObject = require("./constants.js");
|
|
|
34
34
|
const external_event_types_js_namespaceObject = require("./event-types.js");
|
|
35
35
|
const BUILT_IN_EVENT_NAME_BY_TYPE = {
|
|
36
36
|
[external_event_types_js_namespaceObject.MCPAnalyticsEventType.custom]: external_constants_js_namespaceObject.PostHogMCPAnalyticsEvent.Custom,
|
|
37
|
-
[external_event_types_js_namespaceObject.MCPAnalyticsEventType.identify]: external_constants_js_namespaceObject.PostHogMCPAnalyticsEvent.Identify,
|
|
38
37
|
[external_event_types_js_namespaceObject.MCPAnalyticsEventType.mcpFeedback]: external_constants_js_namespaceObject.PostHogMCPAnalyticsEvent.Feedback,
|
|
39
38
|
[external_event_types_js_namespaceObject.MCPAnalyticsEventType.mcpMissingCapability]: external_constants_js_namespaceObject.PostHogMCPAnalyticsEvent.MissingCapability,
|
|
40
39
|
[external_event_types_js_namespaceObject.MCPAnalyticsEventType.mcpInitialize]: external_constants_js_namespaceObject.PostHogMCPAnalyticsEvent.Initialize,
|
|
@@ -62,6 +61,7 @@ function buildCaptureEvent(event) {
|
|
|
62
61
|
const distinctId = getDistinctId(event);
|
|
63
62
|
const timestamp = getTimestamp(event);
|
|
64
63
|
const properties = {
|
|
64
|
+
[external_constants_js_namespaceObject.PostHogMCPAnalyticsProperty.Interface]: 'mcp',
|
|
65
65
|
[external_constants_js_namespaceObject.PostHogMCPAnalyticsProperty.Source]: external_constants_js_namespaceObject.POSTHOG_MCP_ANALYTICS_SOURCE
|
|
66
66
|
};
|
|
67
67
|
addSessionIdProperty(event, properties);
|
|
@@ -133,7 +133,9 @@ function addServerBuildProperty(event, properties) {
|
|
|
133
133
|
function buildExceptionEvent(event) {
|
|
134
134
|
const distinctId = getDistinctId(event);
|
|
135
135
|
const timestamp = getTimestamp(event);
|
|
136
|
-
const properties = {
|
|
136
|
+
const properties = {
|
|
137
|
+
[external_constants_js_namespaceObject.PostHogMCPAnalyticsProperty.Interface]: 'mcp'
|
|
138
|
+
};
|
|
137
139
|
addSessionIdProperty(event, properties);
|
|
138
140
|
addConversationIdProperty(event, properties);
|
|
139
141
|
addPersonProcessingProperty(event, properties);
|
|
@@ -2,7 +2,6 @@ import { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnaly
|
|
|
2
2
|
import { MCPAnalyticsEventType } from "./event-types.mjs";
|
|
3
3
|
const BUILT_IN_EVENT_NAME_BY_TYPE = {
|
|
4
4
|
[MCPAnalyticsEventType.custom]: PostHogMCPAnalyticsEvent.Custom,
|
|
5
|
-
[MCPAnalyticsEventType.identify]: PostHogMCPAnalyticsEvent.Identify,
|
|
6
5
|
[MCPAnalyticsEventType.mcpFeedback]: PostHogMCPAnalyticsEvent.Feedback,
|
|
7
6
|
[MCPAnalyticsEventType.mcpMissingCapability]: PostHogMCPAnalyticsEvent.MissingCapability,
|
|
8
7
|
[MCPAnalyticsEventType.mcpInitialize]: PostHogMCPAnalyticsEvent.Initialize,
|
|
@@ -30,6 +29,7 @@ function buildCaptureEvent(event) {
|
|
|
30
29
|
const distinctId = getDistinctId(event);
|
|
31
30
|
const timestamp = getTimestamp(event);
|
|
32
31
|
const properties = {
|
|
32
|
+
[PostHogMCPAnalyticsProperty.Interface]: 'mcp',
|
|
33
33
|
[PostHogMCPAnalyticsProperty.Source]: POSTHOG_MCP_ANALYTICS_SOURCE
|
|
34
34
|
};
|
|
35
35
|
addSessionIdProperty(event, properties);
|
|
@@ -101,7 +101,9 @@ function addServerBuildProperty(event, properties) {
|
|
|
101
101
|
function buildExceptionEvent(event) {
|
|
102
102
|
const distinctId = getDistinctId(event);
|
|
103
103
|
const timestamp = getTimestamp(event);
|
|
104
|
-
const properties = {
|
|
104
|
+
const properties = {
|
|
105
|
+
[PostHogMCPAnalyticsProperty.Interface]: 'mcp'
|
|
106
|
+
};
|
|
105
107
|
addSessionIdProperty(event, properties);
|
|
106
108
|
addConversationIdProperty(event, properties);
|
|
107
109
|
addPersonProcessingProperty(event, properties);
|
package/dist/types.d.ts
CHANGED
|
@@ -155,8 +155,7 @@ export interface MCPAnalyticsOptions {
|
|
|
155
155
|
/**
|
|
156
156
|
* Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
|
|
157
157
|
* on subsequent events for the session. Object form is treated as a static identity.
|
|
158
|
-
*
|
|
159
|
-
* when a long-lived server sees the identity appear or change — never per tool call.
|
|
158
|
+
* The SDK publishes no standalone `$identify` event.
|
|
160
159
|
*/
|
|
161
160
|
identify?: ((request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<UserIdentity | null>) | UserIdentity | null;
|
|
162
161
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.23.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/dist/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = "0.
|
|
1
|
+
const version = "0.23.0";
|
|
2
2
|
export { version };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@posthog/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"bugs": {
|
|
5
5
|
"url": "https://github.com/PostHog/posthog-js/issues"
|
|
6
6
|
},
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"files": [
|
|
17
17
|
"src",
|
|
18
18
|
"dist",
|
|
19
|
-
"!src/__tests__"
|
|
19
|
+
"!src/__tests__",
|
|
20
|
+
"!src/**/*.spec.md"
|
|
20
21
|
],
|
|
21
22
|
"license": "MIT",
|
|
22
23
|
"author": {
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"module": "dist/index.mjs",
|
|
29
30
|
"types": "dist/index.d.ts",
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@posthog/core": "^1.
|
|
32
|
+
"@posthog/core": "^1.59.1"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@babel/preset-env": "^7.27.1",
|
|
@@ -54,7 +55,7 @@
|
|
|
54
55
|
"@vitest/coverage-v8": "^1.6.1",
|
|
55
56
|
"vitest": "^1.6.1",
|
|
56
57
|
"@posthog-tooling/tsconfig-base": "1.1.1",
|
|
57
|
-
"posthog-node": "^5.
|
|
58
|
+
"posthog-node": "^5.56.2"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
60
61
|
"@modelcontextprotocol/sdk": ">=1.26.0",
|
|
@@ -26,6 +26,7 @@ export const PostHogMCPAnalyticsEvent = {
|
|
|
26
26
|
Custom: '$mcp_custom',
|
|
27
27
|
Exception: '$exception',
|
|
28
28
|
Feedback: '$mcp_feedback',
|
|
29
|
+
/** @deprecated The SDK no longer publishes `$identify`. */
|
|
29
30
|
Identify: '$identify',
|
|
30
31
|
Initialize: '$mcp_initialize',
|
|
31
32
|
MissingCapability: '$mcp_missing_capability',
|
|
@@ -55,6 +56,7 @@ export const PostHogMCPAnalyticsProperty = {
|
|
|
55
56
|
FeedbackTaskCompleted: '$mcp_feedback_task_completed',
|
|
56
57
|
FeedbackTool: '$mcp_feedback_tool',
|
|
57
58
|
FeedbackType: '$mcp_feedback_type',
|
|
59
|
+
Interface: '$mcp_interface',
|
|
58
60
|
IsError: '$mcp_is_error',
|
|
59
61
|
InputAliasesUsed: '$mcp_input_aliases_used',
|
|
60
62
|
InputKeys: '$mcp_input_keys',
|
|
@@ -360,15 +360,7 @@ async function prepareToolCallEvent(
|
|
|
360
360
|
// headers (HTTP transports); `clientInfo` can't tell a vendor's products apart.
|
|
361
361
|
stampTransportIdentity(event, extra)
|
|
362
362
|
|
|
363
|
-
const identity = await handleIdentify(
|
|
364
|
-
server,
|
|
365
|
-
data,
|
|
366
|
-
sessionId,
|
|
367
|
-
request,
|
|
368
|
-
sessionInfo,
|
|
369
|
-
extra,
|
|
370
|
-
!!conversation.conversationId
|
|
371
|
-
)
|
|
363
|
+
const identity = await handleIdentify(data, sessionId, request, extra)
|
|
372
364
|
const requestAttribution = withIdentity(sessionInfo, identity)
|
|
373
365
|
|
|
374
366
|
await applyResolvedMetadata(event, data, request, extra)
|
|
@@ -583,7 +575,7 @@ async function captureResourceRequest(params: TraceRequestParams): Promise<unkno
|
|
|
583
575
|
}
|
|
584
576
|
stampClientIdentity(event, request, extra, server)
|
|
585
577
|
stampTransportIdentity(event, extra)
|
|
586
|
-
const identity = await handleIdentify(
|
|
578
|
+
const identity = await handleIdentify(data, sessionId, request, extra)
|
|
587
579
|
await applyResolvedMetadata(event, data, request, extra)
|
|
588
580
|
preparedEvent = { event, requestAttribution: withIdentity(sessionInfo, identity) }
|
|
589
581
|
} catch (error) {
|
|
@@ -782,7 +774,7 @@ export async function handleListToolsRequest(
|
|
|
782
774
|
// cached on this instance. On a per-request instance that cache is always
|
|
783
775
|
// empty, so without resolving `identify` here too, `tools/list` would be the
|
|
784
776
|
// one request path that never attributes to a person.
|
|
785
|
-
const identity = data ? await handleIdentify(
|
|
777
|
+
const identity = data ? await handleIdentify(data, sessionId, request, extra) : undefined
|
|
786
778
|
const requestAttribution = withIdentity(sessionInfo, identity)
|
|
787
779
|
|
|
788
780
|
if (data) {
|
|
@@ -1185,7 +1177,7 @@ export async function handleInitializeRequest(
|
|
|
1185
1177
|
}
|
|
1186
1178
|
stampTransportIdentity(event, extra)
|
|
1187
1179
|
|
|
1188
|
-
const identity = await handleIdentify(
|
|
1180
|
+
const identity = await handleIdentify(data, sessionId, request, extra)
|
|
1189
1181
|
const requestAttribution = withIdentity(requestSessionInfo, identity)
|
|
1190
1182
|
|
|
1191
1183
|
await applyResolvedMetadata(event, data, request, extra)
|
|
@@ -8,14 +8,9 @@ import type {
|
|
|
8
8
|
MCPAnalyticsData,
|
|
9
9
|
MCPRequestLike,
|
|
10
10
|
MCPServerLike,
|
|
11
|
-
McpEvent,
|
|
12
11
|
SessionInfo,
|
|
13
12
|
UserIdentity,
|
|
14
13
|
} from '../types'
|
|
15
|
-
import { MCPAnalyticsEventType } from './event-types'
|
|
16
|
-
import { captureEvent } from './capture'
|
|
17
|
-
import { stampClientIdentity } from './client-identity'
|
|
18
|
-
import { stampTransportIdentity } from './transport-identity'
|
|
19
14
|
|
|
20
15
|
/**
|
|
21
16
|
* Bounded LRU cache, capped at `maxSize` entries so a long-lived server cannot
|
|
@@ -75,36 +70,6 @@ export function setServerTrackingData(server: MCPServerLike, data: MCPAnalyticsD
|
|
|
75
70
|
_serverTracking.set(server, data)
|
|
76
71
|
}
|
|
77
72
|
|
|
78
|
-
export function areIdentitiesEqual(a: UserIdentity, b: UserIdentity): boolean {
|
|
79
|
-
if (a.distinctId !== b.distinctId) {
|
|
80
|
-
return false
|
|
81
|
-
}
|
|
82
|
-
if (JSON.stringify(a.groups ?? {}) !== JSON.stringify(b.groups ?? {})) {
|
|
83
|
-
return false
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const aProps = a.properties || {}
|
|
87
|
-
const bProps = b.properties || {}
|
|
88
|
-
|
|
89
|
-
const aKeys = Object.keys(aProps)
|
|
90
|
-
const bKeys = Object.keys(bProps)
|
|
91
|
-
|
|
92
|
-
if (aKeys.length !== bKeys.length) {
|
|
93
|
-
return false
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
for (const key of aKeys) {
|
|
97
|
-
if (!(key in bProps)) {
|
|
98
|
-
return false
|
|
99
|
-
}
|
|
100
|
-
if (JSON.stringify(aProps[key]) !== JSON.stringify(bProps[key])) {
|
|
101
|
-
return false
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return true
|
|
106
|
-
}
|
|
107
|
-
|
|
108
73
|
export function mergeIdentities(previous: UserIdentity | undefined, next: UserIdentity): UserIdentity {
|
|
109
74
|
if (!previous) {
|
|
110
75
|
return next
|
|
@@ -121,70 +86,29 @@ export function mergeIdentities(previous: UserIdentity | undefined, next: UserId
|
|
|
121
86
|
}
|
|
122
87
|
|
|
123
88
|
/**
|
|
124
|
-
* Resolves the optional `identify` callback on every request
|
|
125
|
-
* identity
|
|
126
|
-
* `$identify` event
|
|
127
|
-
*
|
|
89
|
+
* Resolves the optional `identify` callback on every request and caches the
|
|
90
|
+
* merged identity per session. The caller stamps it onto each event as
|
|
91
|
+
* `distinct_id`/`$set`, so no standalone `$identify` event is needed: without
|
|
92
|
+
* an `$anon_distinct_id` it would not merge any person in ingestion.
|
|
128
93
|
*/
|
|
129
94
|
export async function handleIdentify(
|
|
130
|
-
server: MCPServerLike,
|
|
131
95
|
data: MCPAnalyticsData,
|
|
132
96
|
sessionId: string,
|
|
133
97
|
request: MCPRequestLike,
|
|
134
|
-
|
|
135
|
-
extra?: CompatibleRequestHandlerExtra,
|
|
136
|
-
/**
|
|
137
|
-
* True when this session id came from an agent-carried `conversation_id`
|
|
138
|
-
* rather than the transport. Such a session is brand new and was never
|
|
139
|
-
* announced at `initialize`, whatever `data.sessionSource` still says about
|
|
140
|
-
* the connection.
|
|
141
|
-
*/
|
|
142
|
-
sessionFromConversation = false
|
|
98
|
+
extra?: CompatibleRequestHandlerExtra
|
|
143
99
|
): Promise<UserIdentity | undefined> {
|
|
144
100
|
const identityBeforeRequest = data.identifiedSessions.get(sessionId)
|
|
145
|
-
const sessionSourceBeforeIdentify = data.sessionSource
|
|
146
101
|
if (!data.options.identify) {
|
|
147
102
|
return identityBeforeRequest
|
|
148
103
|
}
|
|
149
104
|
|
|
150
|
-
const identifyEvent: McpEvent = {
|
|
151
|
-
sessionId,
|
|
152
|
-
resourceName: getRequestResourceName(request),
|
|
153
|
-
eventType: MCPAnalyticsEventType.identify,
|
|
154
|
-
parameters: { request, extra },
|
|
155
|
-
timestamp: new Date(),
|
|
156
|
-
}
|
|
157
|
-
stampClientIdentity(identifyEvent, request, extra, server)
|
|
158
|
-
stampTransportIdentity(identifyEvent, extra)
|
|
159
|
-
|
|
160
105
|
try {
|
|
161
106
|
const identityResult =
|
|
162
107
|
typeof data.options.identify === 'function' ? await data.options.identify(request, extra) : data.options.identify
|
|
163
108
|
|
|
164
109
|
if (identityResult) {
|
|
165
|
-
const
|
|
166
|
-
const mergedIdentity = mergeIdentities(previousIdentity, identityResult)
|
|
167
|
-
// "First seen" means new to this instance's cache — which on a stateless
|
|
168
|
-
// pod (fresh instrument() per request) is every request. A token session
|
|
169
|
-
// was already announced by whichever pod handled `initialize`, so only the
|
|
170
|
-
// handshake, or a genuine change a long-lived server observed, publishes
|
|
171
|
-
// $identify. Every event still carries distinct_id/$set regardless, so
|
|
172
|
-
// person properties are never lost. Known accepted gap (ADR-0003): an
|
|
173
|
-
// identity resolving only after `initialize` on a token session gets no
|
|
174
|
-
// standalone $identify, so its pre-identify events aren't aliased onto
|
|
175
|
-
// the user.
|
|
176
|
-
const changed = previousIdentity !== undefined && !areIdentitiesEqual(previousIdentity, mergedIdentity)
|
|
177
|
-
const firstSeen = previousIdentity === undefined
|
|
178
|
-
const announcedAtInitialize =
|
|
179
|
-
!sessionFromConversation && sessionSourceBeforeIdentify === 'token' && request.method !== 'initialize'
|
|
180
|
-
const shouldPublish = changed || (firstSeen && !announcedAtInitialize)
|
|
181
|
-
|
|
110
|
+
const mergedIdentity = mergeIdentities(data.identifiedSessions.get(sessionId), identityResult)
|
|
182
111
|
data.identifiedSessions.set(sessionId, mergedIdentity)
|
|
183
|
-
|
|
184
|
-
if (shouldPublish) {
|
|
185
|
-
data.logger(`Identified session ${sessionId}`)
|
|
186
|
-
captureEvent(server, identifyEvent, data.logger, withIdentity(requestAttribution, mergedIdentity))
|
|
187
|
-
}
|
|
188
112
|
return mergedIdentity
|
|
189
113
|
}
|
|
190
114
|
|
|
@@ -226,27 +150,3 @@ export async function resolveEventProperties(
|
|
|
226
150
|
return null
|
|
227
151
|
}
|
|
228
152
|
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Names what a request is about, for `$identify`. `resources/read` addresses its
|
|
232
|
-
* subject by `uri` rather than `name`, so an identify published from a read used
|
|
233
|
-
* to report `Unknown`.
|
|
234
|
-
*/
|
|
235
|
-
function getRequestResourceName(request: unknown): string {
|
|
236
|
-
if (!request || typeof request !== 'object' || !('params' in request)) {
|
|
237
|
-
return 'Unknown'
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
const params = request.params
|
|
241
|
-
if (!params || typeof params !== 'object') {
|
|
242
|
-
return 'Unknown'
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
for (const key of ['name', 'uri'] as const) {
|
|
246
|
-
const value = (params as Record<string, unknown>)[key]
|
|
247
|
-
if (typeof value === 'string') {
|
|
248
|
-
return value
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return 'Unknown'
|
|
252
|
-
}
|
|
@@ -9,7 +9,6 @@ import { MCPAnalyticsEventType } from './event-types'
|
|
|
9
9
|
|
|
10
10
|
const BUILT_IN_EVENT_NAME_BY_TYPE = {
|
|
11
11
|
[MCPAnalyticsEventType.custom]: PostHogMCPAnalyticsEvent.Custom,
|
|
12
|
-
[MCPAnalyticsEventType.identify]: PostHogMCPAnalyticsEvent.Identify,
|
|
13
12
|
[MCPAnalyticsEventType.mcpFeedback]: PostHogMCPAnalyticsEvent.Feedback,
|
|
14
13
|
[MCPAnalyticsEventType.mcpMissingCapability]: PostHogMCPAnalyticsEvent.MissingCapability,
|
|
15
14
|
[MCPAnalyticsEventType.mcpInitialize]: PostHogMCPAnalyticsEvent.Initialize,
|
|
@@ -60,6 +59,7 @@ function buildCaptureEvent(event: Event): PostHogCaptureEvent {
|
|
|
60
59
|
const timestamp = getTimestamp(event)
|
|
61
60
|
|
|
62
61
|
const properties: Record<string, unknown> = {
|
|
62
|
+
[PostHogMCPAnalyticsProperty.Interface]: 'mcp',
|
|
63
63
|
[PostHogMCPAnalyticsProperty.Source]: POSTHOG_MCP_ANALYTICS_SOURCE,
|
|
64
64
|
}
|
|
65
65
|
addSessionIdProperty(event, properties)
|
|
@@ -230,7 +230,9 @@ function buildExceptionEvent(event: Event): PostHogCaptureEvent {
|
|
|
230
230
|
const distinctId = getDistinctId(event)
|
|
231
231
|
const timestamp = getTimestamp(event)
|
|
232
232
|
|
|
233
|
-
const properties: Record<string, unknown> = {
|
|
233
|
+
const properties: Record<string, unknown> = {
|
|
234
|
+
[PostHogMCPAnalyticsProperty.Interface]: 'mcp',
|
|
235
|
+
}
|
|
234
236
|
addSessionIdProperty(event, properties)
|
|
235
237
|
addConversationIdProperty(event, properties)
|
|
236
238
|
addPersonProcessingProperty(event, properties)
|
|
@@ -32,8 +32,8 @@ export function sanitizeEvent<T extends Event | McpEvent>(event: T): T {
|
|
|
32
32
|
result.parameters = sanitizeParameters(result.parameters)
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
// Every event type, not just `resources/read`:
|
|
36
|
-
//
|
|
35
|
+
// Every event type, not just `resources/read`: the `$exception` sibling
|
|
36
|
+
// carries the same name, and a tool or prompt name is free text an
|
|
37
37
|
// application can spell as a URL too.
|
|
38
38
|
if (result.resourceName != null) {
|
|
39
39
|
result.resourceName = sanitizeCapturedValue(result.resourceName) as string
|
|
@@ -135,7 +135,7 @@ export function getSessionId(
|
|
|
135
135
|
if (conversationId) {
|
|
136
136
|
// The session comes from the handle, but on an instance that never processed
|
|
137
137
|
// `initialize` the request's token is still the only source of client
|
|
138
|
-
// identity — without this, tool calls
|
|
138
|
+
// identity — without this, tool calls go out unattributed
|
|
139
139
|
// on exactly the deployments this branch exists for.
|
|
140
140
|
applyTokenClientIdentity(data, extra)
|
|
141
141
|
return deriveSessionIdFromConversation(conversationId)
|
package/src/types.ts
CHANGED
|
@@ -167,8 +167,7 @@ export interface MCPAnalyticsOptions {
|
|
|
167
167
|
/**
|
|
168
168
|
* Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
|
|
169
169
|
* on subsequent events for the session. Object form is treated as a static identity.
|
|
170
|
-
*
|
|
171
|
-
* when a long-lived server sees the identity appear or change — never per tool call.
|
|
170
|
+
* The SDK publishes no standalone `$identify` event.
|
|
172
171
|
*/
|
|
173
172
|
identify?:
|
|
174
173
|
| ((request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<UserIdentity | null>)
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = "0.
|
|
1
|
+
export const version = "0.23.0"
|