@posthog/mcp 0.22.3 → 0.24.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 +14 -9
- package/dist/extensions/constants.d.ts +1 -0
- package/dist/extensions/constants.d.ts.map +1 -1
- 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 +5 -5
- package/dist/extensions/instrumentation.mjs +5 -5
- 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 +0 -1
- package/dist/extensions/posthog-events.mjs +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.mjs +2 -1
- package/dist/types.d.ts +6 -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 +7 -6
- package/src/extensions/constants.ts +1 -0
- package/src/extensions/event-types.ts +0 -1
- package/src/extensions/instrumentation.ts +10 -16
- package/src/extensions/internal.ts +6 -106
- package/src/extensions/posthog-events.ts +0 -1
- package/src/extensions/sanitization.ts +2 -2
- package/src/extensions/session.ts +1 -1
- package/src/index.ts +1 -0
- package/src/types.ts +6 -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
|
|
|
@@ -182,8 +177,8 @@ On fresh low-level instances, tools with an `outputSchema` deliver new handles t
|
|
|
182
177
|
|
|
183
178
|
A valid echoed conversation handle takes precedence over transport sessions. A request that already carries a transport session or a PostHog session token does not mint a new handle or append a prompt-back block. Requests carrying neither use the conversation fallback.
|
|
184
179
|
|
|
185
|
-
Intent, model capture, conversation correlation,
|
|
186
|
-
Missing-capability reporting and feedback collection remain disabled.
|
|
180
|
+
Intent, model capture, conversation correlation, exception capture, and `$mcp_initialize` are
|
|
181
|
+
enabled by default. Missing-capability reporting and feedback collection remain disabled.
|
|
187
182
|
|
|
188
183
|
```ts
|
|
189
184
|
instrument(server, posthog, { captureModel: false, enableConversationId: false })
|
|
@@ -198,6 +193,16 @@ to retain transport-based session grouping and unchanged response content. Custo
|
|
|
198
193
|
dispatchers also enable model capture and conversation correlation by default.
|
|
199
194
|
The reasoning behind these defaults is in [ADR-0013](./docs/adr/0013-analytics-capture-is-on-by-default.md).
|
|
200
195
|
|
|
196
|
+
Set `sendInitializeEvent: false` to stop sending `$mcp_initialize`. Many clients reconnect before
|
|
197
|
+
every few tool calls, so this event can outnumber `$mcp_tool_call`. Nothing else changes in what
|
|
198
|
+
the SDK sends: tool calls keep their sessions and client identity. In PostHog, MCP onboarding and
|
|
199
|
+
the users and sessions tiles of the default MCP dashboard read `$mcp_initialize`. They show no data
|
|
200
|
+
while the option is off.
|
|
201
|
+
|
|
202
|
+
```ts
|
|
203
|
+
instrument(server, posthog, { sendInitializeEvent: false })
|
|
204
|
+
```
|
|
205
|
+
|
|
201
206
|
### Identifying the deployed server build
|
|
202
207
|
|
|
203
208
|
MCP advertises a server version, but it does not define an exact build identifier. Pass an immutable
|
|
@@ -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';
|
|
@@ -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"}
|
|
@@ -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);
|
|
@@ -588,7 +588,7 @@ async function handleInitializeRequest(server, originalInitializeHandler, reques
|
|
|
588
588
|
(0, external_internal_js_namespaceObject.setServerTrackingData)(server, data);
|
|
589
589
|
}
|
|
590
590
|
if (mintedSessionId) upgradeMintedTokenToNegotiated(server, mintedSessionId, requestSessionInfo, negotiatedProtocolVersion, data.logger);
|
|
591
|
-
(0, external_capture_js_namespaceObject.captureEvent)(server, event, data.logger, {
|
|
591
|
+
if (false !== data.options.sendInitializeEvent) (0, external_capture_js_namespaceObject.captureEvent)(server, event, data.logger, {
|
|
592
592
|
...requestAttribution,
|
|
593
593
|
protocolVersion: negotiatedProtocolVersion
|
|
594
594
|
});
|
|
@@ -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);
|
|
@@ -547,7 +547,7 @@ async function handleInitializeRequest(server, originalInitializeHandler, reques
|
|
|
547
547
|
setServerTrackingData(server, data);
|
|
548
548
|
}
|
|
549
549
|
if (mintedSessionId) upgradeMintedTokenToNegotiated(server, mintedSessionId, requestSessionInfo, negotiatedProtocolVersion, data.logger);
|
|
550
|
-
captureEvent(server, event, data.logger, {
|
|
550
|
+
if (false !== data.options.sendInitializeEvent) captureEvent(server, event, data.logger, {
|
|
551
551
|
...requestAttribution,
|
|
552
552
|
protocolVersion: negotiatedProtocolVersion
|
|
553
553
|
});
|
|
@@ -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,
|
|
@@ -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,
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAQ3C,OAAO,EAAE,6BAA6B,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKlG,OAAO,KAAK,EAGV,YAAY,EAEZ,mBAAmB,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA2CtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAKjH;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAQ3C,OAAO,EAAE,6BAA6B,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKlG,OAAO,KAAK,EAGV,YAAY,EAEZ,mBAAmB,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA2CtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAKjH;AA8FD,OAAO,EAAE,6BAA6B,EAAE,YAAY,EAAE,CAAA;AAItD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACb,MAAM,SAAS,CAAA;AAChB,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -111,7 +111,8 @@ const DEFAULT_OPTIONS = {
|
|
|
111
111
|
reportMissing: false,
|
|
112
112
|
collectFeedback: false,
|
|
113
113
|
enableConversationId: true,
|
|
114
|
-
captureModel: true
|
|
114
|
+
captureModel: true,
|
|
115
|
+
sendInitializeEvent: true
|
|
115
116
|
};
|
|
116
117
|
function buildTrackingData(lowLevelServer, options, sink, logger) {
|
|
117
118
|
return {
|
package/dist/index.mjs
CHANGED
|
@@ -55,7 +55,8 @@ const DEFAULT_OPTIONS = {
|
|
|
55
55
|
reportMissing: false,
|
|
56
56
|
collectFeedback: false,
|
|
57
57
|
enableConversationId: true,
|
|
58
|
-
captureModel: true
|
|
58
|
+
captureModel: true,
|
|
59
|
+
sendInitializeEvent: true
|
|
59
60
|
};
|
|
60
61
|
function buildTrackingData(lowLevelServer, options, sink, logger) {
|
|
61
62
|
return {
|
package/dist/types.d.ts
CHANGED
|
@@ -152,11 +152,15 @@ export interface MCPAnalyticsOptions {
|
|
|
152
152
|
* security. Missing, blank, and `"unknown"` values are dropped.
|
|
153
153
|
*/
|
|
154
154
|
captureModel?: boolean | MCPAnalyticsModelOptions;
|
|
155
|
+
/**
|
|
156
|
+
* Send `$mcp_initialize` for each `initialize` handshake. On by default.
|
|
157
|
+
* Set to `false` to stop sending it. Nothing else changes.
|
|
158
|
+
*/
|
|
159
|
+
sendInitializeEvent?: boolean;
|
|
155
160
|
/**
|
|
156
161
|
* Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
|
|
157
162
|
* 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.
|
|
163
|
+
* The SDK publishes no standalone `$identify` event.
|
|
160
164
|
*/
|
|
161
165
|
identify?: ((request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<UserIdentity | null>) | UserIdentity | null;
|
|
162
166
|
/**
|
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.24.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.24.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.24.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,14 +29,14 @@
|
|
|
28
29
|
"module": "dist/index.mjs",
|
|
29
30
|
"types": "dist/index.d.ts",
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@posthog/core": "^1.
|
|
32
|
+
"@posthog/core": "^1.61.1"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@babel/preset-env": "^7.27.1",
|
|
35
36
|
"@babel/preset-typescript": "^7.27.1",
|
|
36
37
|
"@modelcontextprotocol/node": "^2.0.0",
|
|
37
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
38
|
-
"@modelcontextprotocol/server": "^2.
|
|
38
|
+
"@modelcontextprotocol/sdk": "^1.32.0",
|
|
39
|
+
"@modelcontextprotocol/server": "^2.3.0",
|
|
39
40
|
"@nestjs/common": "^11.1.27",
|
|
40
41
|
"@nestjs/core": "^11.1.27",
|
|
41
42
|
"@nestjs/microservices": "^11.1.27",
|
|
@@ -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.57.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',
|
|
@@ -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)
|
|
@@ -1206,10 +1198,12 @@ export async function handleInitializeRequest(
|
|
|
1206
1198
|
if (mintedSessionId) {
|
|
1207
1199
|
upgradeMintedTokenToNegotiated(server, mintedSessionId, requestSessionInfo, negotiatedProtocolVersion, data.logger)
|
|
1208
1200
|
}
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1201
|
+
if (data.options.sendInitializeEvent !== false) {
|
|
1202
|
+
captureEvent(server, event, data.logger, {
|
|
1203
|
+
...requestAttribution,
|
|
1204
|
+
protocolVersion: negotiatedProtocolVersion,
|
|
1205
|
+
})
|
|
1206
|
+
}
|
|
1213
1207
|
return result
|
|
1214
1208
|
}
|
|
1215
1209
|
|
|
@@ -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,
|
|
@@ -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/index.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -164,11 +164,15 @@ export interface MCPAnalyticsOptions {
|
|
|
164
164
|
* security. Missing, blank, and `"unknown"` values are dropped.
|
|
165
165
|
*/
|
|
166
166
|
captureModel?: boolean | MCPAnalyticsModelOptions
|
|
167
|
+
/**
|
|
168
|
+
* Send `$mcp_initialize` for each `initialize` handshake. On by default.
|
|
169
|
+
* Set to `false` to stop sending it. Nothing else changes.
|
|
170
|
+
*/
|
|
171
|
+
sendInitializeEvent?: boolean
|
|
167
172
|
/**
|
|
168
173
|
* Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
|
|
169
174
|
* 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.
|
|
175
|
+
* The SDK publishes no standalone `$identify` event.
|
|
172
176
|
*/
|
|
173
177
|
identify?:
|
|
174
178
|
| ((request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<UserIdentity | null>)
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = "0.
|
|
1
|
+
export const version = "0.24.0"
|