@posthog/mcp 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +59 -0
  3. package/dist/extensions/capture.d.ts.map +1 -1
  4. package/dist/extensions/compatibility.d.ts.map +1 -1
  5. package/dist/extensions/constants.d.ts.map +1 -1
  6. package/dist/extensions/context-parameters.d.ts.map +1 -1
  7. package/dist/extensions/conversation-id.d.ts.map +1 -1
  8. package/dist/extensions/event-types.d.ts.map +1 -1
  9. package/dist/extensions/exceptions.d.ts.map +1 -1
  10. package/dist/extensions/ids.d.ts.map +1 -1
  11. package/dist/extensions/instrument-highlevel.d.ts.map +1 -1
  12. package/dist/extensions/instrument-lowlevel.d.ts.map +1 -1
  13. package/dist/extensions/instrumentation.d.ts.map +1 -1
  14. package/dist/extensions/instrumentation.js +39 -3
  15. package/dist/extensions/instrumentation.mjs +41 -5
  16. package/dist/extensions/intent.d.ts.map +1 -1
  17. package/dist/extensions/internal.d.ts +4 -2
  18. package/dist/extensions/internal.d.ts.map +1 -1
  19. package/dist/extensions/internal.js +5 -2
  20. package/dist/extensions/internal.mjs +5 -2
  21. package/dist/extensions/logger.d.ts.map +1 -1
  22. package/dist/extensions/mcp-payloads.d.ts.map +1 -1
  23. package/dist/extensions/mcp-sdk-compat.d.ts.map +1 -1
  24. package/dist/extensions/posthog-events.d.ts.map +1 -1
  25. package/dist/extensions/sanitization.d.ts.map +1 -1
  26. package/dist/extensions/session-token.d.ts +46 -0
  27. package/dist/extensions/session-token.d.ts.map +1 -0
  28. package/dist/extensions/session-token.js +122 -0
  29. package/dist/extensions/session-token.mjs +76 -0
  30. package/dist/extensions/session.d.ts +5 -4
  31. package/dist/extensions/session.d.ts.map +1 -1
  32. package/dist/extensions/session.js +25 -33
  33. package/dist/extensions/session.mjs +22 -27
  34. package/dist/extensions/sink.d.ts.map +1 -1
  35. package/dist/extensions/tools.d.ts.map +1 -1
  36. package/dist/extensions/tracing-helpers.d.ts.map +1 -1
  37. package/dist/extensions/truncation.d.ts.map +1 -1
  38. package/dist/index.d.ts +3 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +15 -2
  41. package/dist/index.mjs +2 -1
  42. package/dist/types.d.ts +18 -2
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/dist/version.mjs +1 -1
  47. package/package.json +3 -3
  48. package/src/extensions/capture.ts +4 -3
  49. package/src/extensions/compatibility.ts +4 -3
  50. package/src/extensions/constants.ts +4 -3
  51. package/src/extensions/context-parameters.ts +4 -3
  52. package/src/extensions/conversation-id.ts +4 -3
  53. package/src/extensions/event-types.ts +4 -3
  54. package/src/extensions/exceptions.ts +4 -3
  55. package/src/extensions/ids.ts +4 -3
  56. package/src/extensions/instrument-highlevel.ts +4 -3
  57. package/src/extensions/instrument-lowlevel.ts +4 -3
  58. package/src/extensions/instrumentation.ts +85 -9
  59. package/src/extensions/intent.ts +4 -3
  60. package/src/extensions/internal.ts +23 -7
  61. package/src/extensions/logger.ts +4 -3
  62. package/src/extensions/mcp-payloads.ts +4 -3
  63. package/src/extensions/mcp-sdk-compat.ts +4 -3
  64. package/src/extensions/posthog-events.ts +4 -3
  65. package/src/extensions/sanitization.ts +4 -3
  66. package/src/extensions/session-token.ts +168 -0
  67. package/src/extensions/session.ts +42 -40
  68. package/src/extensions/sink.ts +4 -3
  69. package/src/extensions/tools.ts +4 -3
  70. package/src/extensions/tracing-helpers.ts +4 -3
  71. package/src/extensions/truncation.ts +4 -3
  72. package/src/index.ts +14 -4
  73. package/src/types.ts +24 -5
  74. package/src/version.ts +1 -1
@@ -0,0 +1,76 @@
1
+ const MCP_SESSION_HEADER = 'mcp-session-id';
2
+ const MAX_TOKEN_LENGTH = 4096;
3
+ const MAX_SESSION_ID_LENGTH = 128;
4
+ const MAX_CLIENT_FIELD_LENGTH = 200;
5
+ const BASE64URL_PATTERN = /^[A-Za-z0-9_-]+={0,2}$/;
6
+ function encodeSessionId(payload) {
7
+ if (!payload || 'string' != typeof payload.sessionId || 0 === payload.sessionId.length) throw new Error('encodeSessionId requires a non-empty `sessionId` (use newSessionId())');
8
+ const wire = {
9
+ sid: payload.sessionId
10
+ };
11
+ if ('string' == typeof payload.clientName && payload.clientName.length > 0) wire.cn = payload.clientName.slice(0, MAX_CLIENT_FIELD_LENGTH);
12
+ if ('string' == typeof payload.clientVersion && payload.clientVersion.length > 0) wire.cv = payload.clientVersion.slice(0, MAX_CLIENT_FIELD_LENGTH);
13
+ return utf8ToBase64Url(JSON.stringify(wire));
14
+ }
15
+ function decodeSessionId(value) {
16
+ if ('string' != typeof value || 0 === value.length || value.length > MAX_TOKEN_LENGTH) return null;
17
+ if (!BASE64URL_PATTERN.test(value)) return null;
18
+ let parsed;
19
+ try {
20
+ parsed = JSON.parse(base64UrlToUtf8(value));
21
+ } catch {
22
+ return null;
23
+ }
24
+ if (!parsed || 'object' != typeof parsed || Array.isArray(parsed)) return null;
25
+ const wire = parsed;
26
+ if ('string' != typeof wire.sid || 0 === wire.sid.length || wire.sid.length > MAX_SESSION_ID_LENGTH) return null;
27
+ const payload = {
28
+ sessionId: wire.sid
29
+ };
30
+ if ('string' == typeof wire.cn && wire.cn.length > 0) payload.clientName = wire.cn.slice(0, MAX_CLIENT_FIELD_LENGTH);
31
+ if ('string' == typeof wire.cv && wire.cv.length > 0) payload.clientVersion = wire.cv.slice(0, MAX_CLIENT_FIELD_LENGTH);
32
+ return payload;
33
+ }
34
+ function readMcpSessionHeader(headers) {
35
+ if (!headers || 'object' != typeof headers) return;
36
+ const record = headers;
37
+ let value = record[MCP_SESSION_HEADER];
38
+ if (void 0 === value) {
39
+ const key = Object.keys(record).find((k)=>k.toLowerCase() === MCP_SESSION_HEADER);
40
+ value = void 0 === key ? void 0 : record[key];
41
+ }
42
+ const first = Array.isArray(value) ? value[0] : value;
43
+ if ('string' != typeof first) return;
44
+ const trimmed = first.trim();
45
+ return trimmed.length > 0 ? trimmed : void 0;
46
+ }
47
+ function writeSessionIdToTransport(transport, token) {
48
+ if (!transport || 'object' != typeof transport) return false;
49
+ const outer = transport;
50
+ try {
51
+ outer.sessionId = token;
52
+ } catch {}
53
+ if (outer.sessionId === token) return true;
54
+ const inner = outer._webStandardTransport;
55
+ if (inner && 'object' == typeof inner) try {
56
+ inner.sessionId = token;
57
+ } catch {}
58
+ return outer.sessionId === token;
59
+ }
60
+ function utf8ToBase64Url(input) {
61
+ if ('undefined' != typeof Buffer && 'function' == typeof Buffer.from) return Buffer.from(input, 'utf8').toString('base64url');
62
+ const bytes = new TextEncoder().encode(input);
63
+ let binary = '';
64
+ for(let i = 0; i < bytes.length; i++)binary += String.fromCharCode(bytes[i]);
65
+ return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
66
+ }
67
+ function base64UrlToUtf8(input) {
68
+ const normalized = input.replace(/-/g, '+').replace(/_/g, '/').replace(/=+$/, '');
69
+ const padded = normalized + '='.repeat((4 - normalized.length % 4) % 4);
70
+ if ('undefined' != typeof Buffer && 'function' == typeof Buffer.from) return Buffer.from(padded, 'base64').toString('utf8');
71
+ const binary = atob(padded);
72
+ const bytes = new Uint8Array(binary.length);
73
+ for(let i = 0; i < binary.length; i++)bytes[i] = binary.charCodeAt(i);
74
+ return new TextDecoder().decode(bytes);
75
+ }
76
+ export { MCP_SESSION_HEADER, decodeSessionId, encodeSessionId, readMcpSessionHeader, writeSessionIdToTransport };
@@ -6,11 +6,12 @@ export declare function newSessionId(): string;
6
6
  */
7
7
  export declare function deriveSessionIdFromMCPSession(mcpSessionId: string): string;
8
8
  /**
9
- * Resolves the session id for a request, preferring the MCP protocol sessionId
10
- * over an SDK-generated one so a transport-supplied session wins.
9
+ * Resolves the session id for a request: from the replayed session token, from
10
+ * the transport's MCP session id, or — when the request carries nothing — from
11
+ * this instance's memory. Also saves the token's client name/version so events
12
+ * built later in the request can use them (see getSessionInfo).
11
13
  */
12
- export declare function getServerSessionId(server: MCPServerLike, extra?: CompatibleRequestHandlerExtra): string;
13
- export declare function setLastActivity(server: MCPServerLike): void;
14
+ export declare function getSessionId(server: MCPServerLike, extra?: CompatibleRequestHandlerExtra): string;
14
15
  /**
15
16
  * Builds the session metadata stamped onto an event. The caller passes the
16
17
  * session id resolved for *this* request so identity attribution can't be
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/extensions/session.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,aAAa,EAEb,WAAW,EACZ,MAAM,UAAU,CAAA;AAKjB,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,6BAA6B,GAAG,MAAM,CAoCvG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAS3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAgCb"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/extensions/session.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,aAAa,EAEb,WAAW,EACZ,MAAM,UAAU,CAAA;AAMjB,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,6BAA6B,GAAG,MAAM,CA+BjG;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAgCb"}
@@ -24,8 +24,7 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- setLastActivity: ()=>setLastActivity,
28
- getServerSessionId: ()=>getServerSessionId,
27
+ getSessionId: ()=>getSessionId,
29
28
  deriveSessionIdFromMCPSession: ()=>deriveSessionIdFromMCPSession,
30
29
  getSessionInfo: ()=>getSessionInfo,
31
30
  newSessionId: ()=>newSessionId
@@ -34,43 +33,38 @@ const external_version_js_namespaceObject = require("../version.js");
34
33
  const external_constants_js_namespaceObject = require("./constants.js");
35
34
  const external_ids_js_namespaceObject = require("./ids.js");
36
35
  const external_internal_js_namespaceObject = require("./internal.js");
36
+ const external_session_token_js_namespaceObject = require("./session-token.js");
37
37
  function newSessionId() {
38
38
  return (0, external_ids_js_namespaceObject.newPrefixedId)('ses');
39
39
  }
40
40
  function deriveSessionIdFromMCPSession(mcpSessionId) {
41
41
  return (0, external_ids_js_namespaceObject.deterministicPrefixedId)('ses', mcpSessionId);
42
42
  }
43
- function getServerSessionId(server, extra) {
43
+ function getSessionId(server, extra) {
44
44
  const data = (0, external_internal_js_namespaceObject.getServerTrackingData)(server);
45
45
  if (!data) throw new Error('Server tracking data not found');
46
- const mcpSessionId = extra?.sessionId;
47
- if (mcpSessionId) {
48
- data.sessionId = deriveSessionIdFromMCPSession(mcpSessionId);
49
- data.lastMcpSessionId = mcpSessionId;
46
+ const sessionHeader = (0, external_session_token_js_namespaceObject.readMcpSessionHeader)(extra?.requestInfo?.headers);
47
+ const token = (0, external_session_token_js_namespaceObject.decodeSessionId)(sessionHeader);
48
+ let sessionId;
49
+ if (token) {
50
+ data.sessionSource = 'token';
51
+ data.sessionInfo.clientName = token.clientName;
52
+ data.sessionInfo.clientVersion = token.clientVersion;
53
+ sessionId = token.sessionId;
54
+ } else if (extra?.sessionId) {
50
55
  data.sessionSource = 'mcp';
51
- (0, external_internal_js_namespaceObject.setServerTrackingData)(server, data);
52
- setLastActivity(server);
53
- return data.sessionId;
54
- }
55
- if ('mcp' === data.sessionSource && data.lastMcpSessionId) {
56
- setLastActivity(server);
57
- return data.sessionId;
58
- }
59
- const now = Date.now();
60
- const timeoutMs = 60 * external_constants_js_namespaceObject.INACTIVITY_TIMEOUT_IN_MINUTES * 1000;
61
- if (now - data.lastActivity.getTime() > timeoutMs) {
62
- data.sessionId = newSessionId();
63
- data.sessionSource = 'generated';
64
- (0, external_internal_js_namespaceObject.setServerTrackingData)(server, data);
65
- }
66
- setLastActivity(server);
67
- return data.sessionId;
68
- }
69
- function setLastActivity(server) {
70
- const data = (0, external_internal_js_namespaceObject.getServerTrackingData)(server);
71
- if (!data) throw new Error('Server tracking data not found');
56
+ sessionId = deriveSessionIdFromMCPSession(extra.sessionId);
57
+ } else sessionId = getSessionIdFromMemory(data);
58
+ data.sessionId = sessionId;
72
59
  data.lastActivity = new Date();
73
60
  (0, external_internal_js_namespaceObject.setServerTrackingData)(server, data);
61
+ return sessionId;
62
+ }
63
+ function getSessionIdFromMemory(data) {
64
+ const timeoutMs = 60 * external_constants_js_namespaceObject.INACTIVITY_TIMEOUT_IN_MINUTES * 1000;
65
+ const isStale = Date.now() - data.lastActivity.getTime() > timeoutMs;
66
+ if ('generated' === data.sessionSource && isStale) return newSessionId();
67
+ return data.sessionId;
74
68
  }
75
69
  function getSessionInfo(server, data, sessionId) {
76
70
  let clientInfo;
@@ -97,16 +91,14 @@ function getSessionInfo(server, data, sessionId) {
97
91
  return data.sessionInfo;
98
92
  }
99
93
  exports.deriveSessionIdFromMCPSession = __webpack_exports__.deriveSessionIdFromMCPSession;
100
- exports.getServerSessionId = __webpack_exports__.getServerSessionId;
94
+ exports.getSessionId = __webpack_exports__.getSessionId;
101
95
  exports.getSessionInfo = __webpack_exports__.getSessionInfo;
102
96
  exports.newSessionId = __webpack_exports__.newSessionId;
103
- exports.setLastActivity = __webpack_exports__.setLastActivity;
104
97
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
105
98
  "deriveSessionIdFromMCPSession",
106
- "getServerSessionId",
99
+ "getSessionId",
107
100
  "getSessionInfo",
108
- "newSessionId",
109
- "setLastActivity"
101
+ "newSessionId"
110
102
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
111
103
  Object.defineProperty(exports, '__esModule', {
112
104
  value: true
@@ -2,43 +2,38 @@ import { version } from "../version.mjs";
2
2
  import { INACTIVITY_TIMEOUT_IN_MINUTES } from "./constants.mjs";
3
3
  import { deterministicPrefixedId, newPrefixedId } from "./ids.mjs";
4
4
  import { getServerTrackingData, setServerTrackingData } from "./internal.mjs";
5
+ import { decodeSessionId, readMcpSessionHeader } from "./session-token.mjs";
5
6
  function newSessionId() {
6
7
  return newPrefixedId('ses');
7
8
  }
8
9
  function deriveSessionIdFromMCPSession(mcpSessionId) {
9
10
  return deterministicPrefixedId('ses', mcpSessionId);
10
11
  }
11
- function getServerSessionId(server, extra) {
12
+ function getSessionId(server, extra) {
12
13
  const data = getServerTrackingData(server);
13
14
  if (!data) throw new Error('Server tracking data not found');
14
- const mcpSessionId = extra?.sessionId;
15
- if (mcpSessionId) {
16
- data.sessionId = deriveSessionIdFromMCPSession(mcpSessionId);
17
- data.lastMcpSessionId = mcpSessionId;
15
+ const sessionHeader = readMcpSessionHeader(extra?.requestInfo?.headers);
16
+ const token = decodeSessionId(sessionHeader);
17
+ let sessionId;
18
+ if (token) {
19
+ data.sessionSource = 'token';
20
+ data.sessionInfo.clientName = token.clientName;
21
+ data.sessionInfo.clientVersion = token.clientVersion;
22
+ sessionId = token.sessionId;
23
+ } else if (extra?.sessionId) {
18
24
  data.sessionSource = 'mcp';
19
- setServerTrackingData(server, data);
20
- setLastActivity(server);
21
- return data.sessionId;
22
- }
23
- if ('mcp' === data.sessionSource && data.lastMcpSessionId) {
24
- setLastActivity(server);
25
- return data.sessionId;
26
- }
27
- const now = Date.now();
28
- const timeoutMs = 60 * INACTIVITY_TIMEOUT_IN_MINUTES * 1000;
29
- if (now - data.lastActivity.getTime() > timeoutMs) {
30
- data.sessionId = newSessionId();
31
- data.sessionSource = 'generated';
32
- setServerTrackingData(server, data);
33
- }
34
- setLastActivity(server);
35
- return data.sessionId;
36
- }
37
- function setLastActivity(server) {
38
- const data = getServerTrackingData(server);
39
- if (!data) throw new Error('Server tracking data not found');
25
+ sessionId = deriveSessionIdFromMCPSession(extra.sessionId);
26
+ } else sessionId = getSessionIdFromMemory(data);
27
+ data.sessionId = sessionId;
40
28
  data.lastActivity = new Date();
41
29
  setServerTrackingData(server, data);
30
+ return sessionId;
31
+ }
32
+ function getSessionIdFromMemory(data) {
33
+ const timeoutMs = 60 * INACTIVITY_TIMEOUT_IN_MINUTES * 1000;
34
+ const isStale = Date.now() - data.lastActivity.getTime() > timeoutMs;
35
+ if ('generated' === data.sessionSource && isStale) return newSessionId();
36
+ return data.sessionId;
42
37
  }
43
38
  function getSessionInfo(server, data, sessionId) {
44
39
  let clientInfo;
@@ -64,4 +59,4 @@ function getSessionInfo(server, data, sessionId) {
64
59
  setServerTrackingData(server, data);
65
60
  return data.sessionInfo;
66
61
  }
67
- export { deriveSessionIdFromMCPSession, getServerSessionId, getSessionInfo, newSessionId, setLastActivity };
62
+ export { deriveSessionIdFromMCPSession, getSessionId, getSessionInfo, newSessionId };
@@ -1 +1 @@
1
- {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/extensions/sink.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE7D,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,kBAAkB,CAAA;AAKtF,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,0BAA0B,EAAE,OAAO,CAAA;IACnC,kFAAkF;IAClF,UAAU,CAAC,EAAE,YAAY,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CA2BnE;AA4BD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAE7C;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC1E"}
1
+ {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/extensions/sink.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE7D,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,kBAAkB,CAAA;AAKtF,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,0BAA0B,EAAE,OAAO,CAAA;IACnC,kFAAkF;IAClF,UAAU,CAAC,EAAE,YAAY,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CA2BnE;AA4BD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAE7C;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/extensions/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAG9F,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAA;AAE5D;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE;IAAE,yBAAyB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzG;AAED,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,wBAAgB,8BAA8B,CAAC,IAAI,GAAE,MAA4B,GAAG,2BAA2B,CA6B9G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CASnD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAG7E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/extensions/tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAG9F,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAA;AAE5D;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE;IAAE,yBAAyB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzG;AAED,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,wBAAgB,8BAA8B,CAAC,IAAI,GAAE,MAA4B,GAAG,2BAA2B,CA6B9G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CASnD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAG7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-helpers.d.ts","sourceRoot":"","sources":["../../src/extensions/tracing-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGzG;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,6BAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAG9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"tracing-helpers.d.ts","sourceRoot":"","sources":["../../src/extensions/tracing-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGzG;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,6BAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAG9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAExD"}
@@ -1 +1 @@
1
- {"version":3,"file":"truncation.d.ts","sourceRoot":"","sources":["../../src/extensions/truncation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,KAAK,EAAc,QAAQ,EAAE,MAAM,UAAU,CAAA;AAG5E,eAAO,MAAM,SAAS,KAAK,CAAA;AAC3B,eAAO,MAAM,WAAW,MAAM,CAAA;AAC9B,eAAO,MAAM,iBAAiB,QAAS,CAAA;AACvC,eAAO,MAAM,eAAe,SAAU,CAAA;AAgBtC;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,KAAK,GAAE,MAAkB,EACzB,UAAU,GAAE,MAAoB,EAChC,eAAe,GAAE,MAA0B,GAC1C,OAAO,CAGT;AAkXD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAoCrE"}
1
+ {"version":3,"file":"truncation.d.ts","sourceRoot":"","sources":["../../src/extensions/truncation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAmB,KAAK,EAAc,QAAQ,EAAE,MAAM,UAAU,CAAA;AAG5E,eAAO,MAAM,SAAS,KAAK,CAAA;AAC3B,eAAO,MAAM,WAAW,MAAM,CAAA;AAC9B,eAAO,MAAM,iBAAiB,QAAS,CAAA;AACvC,eAAO,MAAM,eAAe,SAAU,CAAA;AAgBtC;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,KAAK,GAAE,MAAkB,EACzB,UAAU,GAAE,MAAoB,EAChC,eAAe,GAAE,MAA0B,GAC1C,OAAO,CAGT;AAkXD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAoCrE"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { PostHog } from 'posthog-node';
2
- import { deriveSessionIdFromMCPSession } from './extensions/session';
2
+ import { deriveSessionIdFromMCPSession, newSessionId } from './extensions/session';
3
3
  import type { McpAnalytics, MCPAnalyticsOptions } from './types';
4
4
  /**
5
5
  * Instruments an MCP server so PostHog auto-captures tool calls, tool listings, initialize
@@ -47,7 +47,8 @@ declare function instrument(server: unknown, posthog: PostHog, options?: MCPAnal
47
47
  * @returns A `(server) => server` mutator that instruments the server and returns it.
48
48
  */
49
49
  declare function instrumentMutator<TServer>(posthog: PostHog, options?: MCPAnalyticsOptions): (server: TServer) => TServer;
50
- export { deriveSessionIdFromMCPSession };
50
+ export { deriveSessionIdFromMCPSession, newSessionId };
51
+ export { MCP_SESSION_HEADER, decodeSessionId, encodeSessionId, type SessionTokenPayload, } from './extensions/session-token';
51
52
  export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, } from './extensions/constants';
52
53
  export { PostHogMCP, type PostHogMCPOptions } from './extensions/posthog-mcp';
53
54
  export { getMoreToolsResult } from './extensions/tools';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAQ3C,OAAO,EAAE,6BAA6B,EAAgC,MAAM,sBAAsB,CAAA;AAGlG,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,CAkCtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAKjH;AAmFD,OAAO,EAAE,6BAA6B,EAAE,CAAA;AACxC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,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"}
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;AAGlG,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,CAkCtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAKjH;AAmFD,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;AAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,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
@@ -24,14 +24,18 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ setLogger: ()=>logger_js_namespaceObject.setLogger,
27
28
  PostHog: ()=>external_posthog_node_namespaceObject.PostHog,
28
29
  PostHogMCP: ()=>posthog_mcp_js_namespaceObject.PostHogMCP,
29
- deriveSessionIdFromMCPSession: ()=>session_js_namespaceObject.deriveSessionIdFromMCPSession,
30
30
  POSTHOG_MCP_ANALYTICS_SOURCE: ()=>constants_js_namespaceObject.POSTHOG_MCP_ANALYTICS_SOURCE,
31
+ deriveSessionIdFromMCPSession: ()=>session_js_namespaceObject.deriveSessionIdFromMCPSession,
31
32
  instrument: ()=>instrument,
33
+ decodeSessionId: ()=>session_token_js_namespaceObject.decodeSessionId,
34
+ newSessionId: ()=>session_js_namespaceObject.newSessionId,
35
+ MCP_SESSION_HEADER: ()=>session_token_js_namespaceObject.MCP_SESSION_HEADER,
32
36
  instrumentMutator: ()=>instrumentMutator,
33
- setLogger: ()=>logger_js_namespaceObject.setLogger,
34
37
  PostHogMCPAnalyticsEvent: ()=>constants_js_namespaceObject.PostHogMCPAnalyticsEvent,
38
+ encodeSessionId: ()=>session_token_js_namespaceObject.encodeSessionId,
35
39
  getMoreToolsResult: ()=>tools_js_namespaceObject.getMoreToolsResult,
36
40
  PostHogMCPAnalyticsProperty: ()=>constants_js_namespaceObject.PostHogMCPAnalyticsProperty
37
41
  });
@@ -45,6 +49,7 @@ const lib_identity_js_namespaceObject = require("./extensions/lib-identity.js");
45
49
  const session_js_namespaceObject = require("./extensions/session.js");
46
50
  const instrument_lowlevel_js_namespaceObject = require("./extensions/instrument-lowlevel.js");
47
51
  const instrument_highlevel_js_namespaceObject = require("./extensions/instrument-highlevel.js");
52
+ const session_token_js_namespaceObject = require("./extensions/session-token.js");
48
53
  const constants_js_namespaceObject = require("./extensions/constants.js");
49
54
  const posthog_mcp_js_namespaceObject = require("./extensions/posthog-mcp.js");
50
55
  const tools_js_namespaceObject = require("./extensions/tools.js");
@@ -132,26 +137,34 @@ async function captureCustomEvent(lowLevelServer, eventData) {
132
137
  await (0, capture_js_namespaceObject.captureEvent)(lowLevelServer, event);
133
138
  (0, logger_js_namespaceObject.log)(`Captured event "${eventData.event}" for session ${trackingData.sessionId}`);
134
139
  }
140
+ exports.MCP_SESSION_HEADER = __webpack_exports__.MCP_SESSION_HEADER;
135
141
  exports.POSTHOG_MCP_ANALYTICS_SOURCE = __webpack_exports__.POSTHOG_MCP_ANALYTICS_SOURCE;
136
142
  exports.PostHog = __webpack_exports__.PostHog;
137
143
  exports.PostHogMCP = __webpack_exports__.PostHogMCP;
138
144
  exports.PostHogMCPAnalyticsEvent = __webpack_exports__.PostHogMCPAnalyticsEvent;
139
145
  exports.PostHogMCPAnalyticsProperty = __webpack_exports__.PostHogMCPAnalyticsProperty;
146
+ exports.decodeSessionId = __webpack_exports__.decodeSessionId;
140
147
  exports.deriveSessionIdFromMCPSession = __webpack_exports__.deriveSessionIdFromMCPSession;
148
+ exports.encodeSessionId = __webpack_exports__.encodeSessionId;
141
149
  exports.getMoreToolsResult = __webpack_exports__.getMoreToolsResult;
142
150
  exports.instrument = __webpack_exports__.instrument;
143
151
  exports.instrumentMutator = __webpack_exports__.instrumentMutator;
152
+ exports.newSessionId = __webpack_exports__.newSessionId;
144
153
  exports.setLogger = __webpack_exports__.setLogger;
145
154
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
155
+ "MCP_SESSION_HEADER",
146
156
  "POSTHOG_MCP_ANALYTICS_SOURCE",
147
157
  "PostHog",
148
158
  "PostHogMCP",
149
159
  "PostHogMCPAnalyticsEvent",
150
160
  "PostHogMCPAnalyticsProperty",
161
+ "decodeSessionId",
151
162
  "deriveSessionIdFromMCPSession",
163
+ "encodeSessionId",
152
164
  "getMoreToolsResult",
153
165
  "instrument",
154
166
  "instrumentMutator",
167
+ "newSessionId",
155
168
  "setLogger"
156
169
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
157
170
  Object.defineProperty(exports, '__esModule', {
package/dist/index.mjs CHANGED
@@ -8,6 +8,7 @@ import { applyMcpLibIdentity } from "./extensions/lib-identity.mjs";
8
8
  import { deriveSessionIdFromMCPSession, getSessionInfo, newSessionId } from "./extensions/session.mjs";
9
9
  import { instrumentLowLevelServer } from "./extensions/instrument-lowlevel.mjs";
10
10
  import { instrumentHighLevelServer } from "./extensions/instrument-highlevel.mjs";
11
+ import { MCP_SESSION_HEADER, decodeSessionId, encodeSessionId } from "./extensions/session-token.mjs";
11
12
  import { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty } from "./extensions/constants.mjs";
12
13
  import { PostHogMCP } from "./extensions/posthog-mcp.mjs";
13
14
  import { getMoreToolsResult } from "./extensions/tools.mjs";
@@ -95,4 +96,4 @@ async function captureCustomEvent(lowLevelServer, eventData) {
95
96
  await captureEvent(lowLevelServer, event);
96
97
  log(`Captured event "${eventData.event}" for session ${trackingData.sessionId}`);
97
98
  }
98
- export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHog, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, deriveSessionIdFromMCPSession, getMoreToolsResult, instrument, instrumentMutator, setLogger };
99
+ export { MCP_SESSION_HEADER, POSTHOG_MCP_ANALYTICS_SOURCE, PostHog, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, decodeSessionId, deriveSessionIdFromMCPSession, encodeSessionId, getMoreToolsResult, instrument, instrumentMutator, newSessionId, setLogger };
package/dist/types.d.ts CHANGED
@@ -59,6 +59,8 @@ export interface MCPAnalyticsOptions {
59
59
  /**
60
60
  * Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
61
61
  * on subsequent events for the session. Object form is treated as a static identity.
62
+ * A standalone `$identify` event is published once per session — at `initialize`, or
63
+ * when a long-lived server sees the identity appear or change — never per tool call.
62
64
  */
63
65
  identify?: ((request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<UserIdentity | null>) | UserIdentity | null;
64
66
  /**
@@ -155,9 +157,16 @@ export interface Event {
155
157
  }
156
158
  /** A partially-built MCP event as it flows through the SDK before capture. */
157
159
  export type McpEvent = Partial<Event>;
160
+ /** HTTP request info the SDK's Streamable HTTP transports attach per request. */
161
+ export interface CompatibleRequestInfoLike {
162
+ headers?: Record<string, string | string[] | undefined>;
163
+ [key: string]: unknown;
164
+ }
158
165
  export interface CompatibleRequestHandlerExtra {
159
166
  headers?: Record<string, string | string[]>;
160
167
  sessionId?: string;
168
+ /** Present on HTTP transports only — headers ride every request, unlike `clientInfo`. */
169
+ requestInfo?: CompatibleRequestInfoLike;
161
170
  [key: string]: unknown;
162
171
  }
163
172
  export interface ServerClientInfoLike {
@@ -177,9 +186,16 @@ export interface HighLevelMCPServerLike {
177
186
  tool?(name: string, paramsSchema: unknown, cb: ToolCallback): void;
178
187
  tool?(name: string, description: string, paramsSchema: unknown, cb: ToolCallback): void;
179
188
  }
189
+ /** The connected transport as exposed by the SDK's `Protocol.transport` getter. */
190
+ export interface CompatibleTransportLike {
191
+ sessionId?: string;
192
+ [key: string]: unknown;
193
+ }
180
194
  export interface MCPServerLike {
181
195
  _requestHandlers: Map<string, (request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<unknown>>;
182
196
  _serverInfo?: ServerClientInfoLike;
197
+ /** Optional so older SDKs (and bare test doubles) still validate. */
198
+ transport?: CompatibleTransportLike;
183
199
  getClientVersion(): ServerClientInfoLike | undefined;
184
200
  setRequestHandler(schema: unknown, handler: (request: MCPRequestLike, extra?: CompatibleRequestHandlerExtra) => Promise<unknown>): void;
185
201
  }
@@ -217,11 +233,11 @@ export interface MCPAnalyticsData {
217
233
  sink: McpEventSink | undefined;
218
234
  identifiedSessions: IdentityCache;
219
235
  lastActivity: Date;
220
- lastMcpSessionId?: string;
221
236
  options: MCPAnalyticsOptions;
222
237
  sessionId: string;
223
238
  sessionInfo: SessionInfo;
224
- sessionSource: 'generated' | 'mcp';
239
+ /** `token` = recovered from a self-encoded `Mcp-Session-Id` token (see session-token.ts). */
240
+ sessionSource: 'generated' | 'mcp' | 'token';
225
241
  toolCategories: Map<string, string>;
226
242
  toolDescriptions: Map<string, string>;
227
243
  }
@@ -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.8.0";
1
+ export declare const version = "0.9.1";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -26,7 +26,7 @@ __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  version: ()=>version
28
28
  });
29
- const version = '0.8.0';
29
+ const version = '0.9.1';
30
30
  exports.version = __webpack_exports__.version;
31
31
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
32
32
  "version"
package/dist/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const version = '0.8.0';
1
+ const version = '0.9.1';
2
2
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/mcp",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
@@ -28,7 +28,7 @@
28
28
  "module": "dist/index.mjs",
29
29
  "types": "dist/index.d.ts",
30
30
  "dependencies": {
31
- "@posthog/core": "^1.39.6"
31
+ "@posthog/core": "^1.41.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/preset-env": "^7.27.1",
@@ -39,7 +39,7 @@
39
39
  "@types/node": "^20.0.0",
40
40
  "jest": "29.7.0",
41
41
  "zod": "^3.25.0",
42
- "posthog-node": "^5.39.4",
42
+ "posthog-node": "^5.42.0",
43
43
  "@posthog-tooling/tsconfig-base": "1.1.1"
44
44
  },
45
45
  "peerDependencies": {
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  import type { MCPServerLike, McpEvent } from '../types'
6
7
  import { MCPAnalyticsEventType } from './event-types'
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  import type { HighLevelMCPServerLike, MCPServerLike } from '../types'
6
7
  import { log } from './logger'
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  export const INACTIVITY_TIMEOUT_IN_MINUTES = 30
6
7
 
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  import type { MCPAnalyticsOptions } from '../types'
6
7
  import { DEFAULT_CONTEXT_PARAMETER_DESCRIPTION } from './constants'
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  import { uuidv7 } from '@posthog/core'
6
7
  import { DEFAULT_CONVERSATION_ID_DESCRIPTION } from './constants'
@@ -1,6 +1,7 @@
1
- // Portions of this file are derived from MCPCat/mcpcat-typescript-sdk
2
- // Copyright (c) 2025 MCPcat
3
- // Licensed under the MIT License: https://github.com/MCPCat/mcpcat-typescript-sdk/blob/main/LICENSE
1
+ // Portions of this file are derived from agentcathq/agentcat-typescript-sdk
2
+ // (formerly MCPCat/mcpcat-typescript-sdk)
3
+ // Copyright (c) 2025 AgentCat, Inc. (formerly MCPcat)
4
+ // Licensed under the MIT License: https://github.com/agentcathq/agentcat-typescript-sdk/blob/main/LICENSE
4
5
 
5
6
  /**
6
7
  * Internal SDK event vocabulary.