From ddf46c23930e49a7965c96fbebadcd62f23fba9a Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Wed, 29 Jul 2026 18:29:58 +0530 Subject: [PATCH 1/7] added analytics id for mermaid user --- packages/sdk/src/index.test.ts | 1 + packages/sdk/src/types.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/sdk/src/index.test.ts b/packages/sdk/src/index.test.ts index a3d9b3b..e7a234e 100644 --- a/packages/sdk/src/index.test.ts +++ b/packages/sdk/src/index.test.ts @@ -37,6 +37,7 @@ describe('MermaidChart', () => { return { fullName: 'Test User', emailAddress: 'test@invalid.invalid', + analyticsID: '00000000-0000-0000-0000-0000000000aa', }; }); }); diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 08e4578..39ba390 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -22,6 +22,7 @@ export interface AuthState { export interface MCUser { fullName: string; emailAddress: string; + analyticsID: string; } export interface AICreditsUsage { From c9347b983ad97004e46c4f6678f59daf3e5f59d4 Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Wed, 29 Jul 2026 19:19:08 +0530 Subject: [PATCH 2/7] resolve comments --- packages/cli/src/commander.test.ts | 1 + packages/sdk/src/types.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/commander.test.ts b/packages/cli/src/commander.test.ts index 0691575..5c65475 100644 --- a/packages/cli/src/commander.test.ts +++ b/packages/cli/src/commander.test.ts @@ -59,6 +59,7 @@ beforeAll(async () => { const mockedMCUser = { fullName: 'My Test User', emailAddress: 'my-test-user@test.invalid', + analyticsID: '00000000-0000-0000-0000-0000000000aa', } as const satisfies MCUser; const mockedProjects = [ { diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 39ba390..80341a5 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -22,7 +22,7 @@ export interface AuthState { export interface MCUser { fullName: string; emailAddress: string; - analyticsID: string; + analyticsID?: string; } export interface AICreditsUsage { From 12d9d97f66b651e83e21687e1e05d3d2aa9c2f79 Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Fri, 31 Jul 2026 17:06:11 +0530 Subject: [PATCH 3/7] added changeset version bump --- .changeset/nice-buttons-happen.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/nice-buttons-happen.md diff --git a/.changeset/nice-buttons-happen.md b/.changeset/nice-buttons-happen.md new file mode 100644 index 0000000..2ac8272 --- /dev/null +++ b/.changeset/nice-buttons-happen.md @@ -0,0 +1,5 @@ +--- +'@mermaidchart/sdk': patch +--- + +Added the optional analyticsID for MCUser so we can track the evetns on mermaid mcp server From 2535c7391215040e87b281a935f9d9def47c9e73 Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Fri, 31 Jul 2026 17:37:52 +0530 Subject: [PATCH 4/7] updated analyticsid as required --- .changeset/nice-buttons-happen.md | 2 +- packages/sdk/src/index.e2e.test.ts | 3 +++ packages/sdk/src/types.ts | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.changeset/nice-buttons-happen.md b/.changeset/nice-buttons-happen.md index 2ac8272..9157073 100644 --- a/.changeset/nice-buttons-happen.md +++ b/.changeset/nice-buttons-happen.md @@ -2,4 +2,4 @@ '@mermaidchart/sdk': patch --- -Added the optional analyticsID for MCUser so we can track the evetns on mermaid mcp server +Added required analyticsID to MCUser so consumers (e.g. mermaid-mcp) can use the stable Mixpanel identity diff --git a/packages/sdk/src/index.e2e.test.ts b/packages/sdk/src/index.e2e.test.ts index ff85b99..e351209 100644 --- a/packages/sdk/src/index.e2e.test.ts +++ b/packages/sdk/src/index.e2e.test.ts @@ -79,6 +79,9 @@ describe('getUser', () => { const user = await client.getUser(); expect(user).toHaveProperty('emailAddress'); + expect(user).toHaveProperty('analyticsID'); + expect(typeof user.analyticsID).toBe('string'); + expect(user.analyticsID.length).toBeGreaterThan(0); }); }); diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 80341a5..39ba390 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -22,7 +22,7 @@ export interface AuthState { export interface MCUser { fullName: string; emailAddress: string; - analyticsID?: string; + analyticsID: string; } export interface AICreditsUsage { From 5b328788b13e61e3e1a7a4b415491cdf287661ec Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Fri, 31 Jul 2026 17:53:41 +0530 Subject: [PATCH 5/7] update mcuser object --- packages/sdk/src/index.e2e.test.ts | 7 +++++++ packages/sdk/src/index.test.ts | 1 + packages/sdk/src/types.ts | 3 +++ 3 files changed, 11 insertions(+) diff --git a/packages/sdk/src/index.e2e.test.ts b/packages/sdk/src/index.e2e.test.ts index e351209..afac069 100644 --- a/packages/sdk/src/index.e2e.test.ts +++ b/packages/sdk/src/index.e2e.test.ts @@ -82,6 +82,13 @@ describe('getUser', () => { expect(user).toHaveProperty('analyticsID'); expect(typeof user.analyticsID).toBe('string'); expect(user.analyticsID.length).toBeGreaterThan(0); + expect(user.avatarUrl === null || typeof user.avatarUrl === 'string').toBe(true); + if (user.mermaidTheme !== undefined) { + expect(typeof user.mermaidTheme).toBe('string'); + } + if (user.mermaidLook !== undefined) { + expect(typeof user.mermaidLook).toBe('string'); + } }); }); diff --git a/packages/sdk/src/index.test.ts b/packages/sdk/src/index.test.ts index e7a234e..20d24d8 100644 --- a/packages/sdk/src/index.test.ts +++ b/packages/sdk/src/index.test.ts @@ -38,6 +38,7 @@ describe('MermaidChart', () => { fullName: 'Test User', emailAddress: 'test@invalid.invalid', analyticsID: '00000000-0000-0000-0000-0000000000aa', + avatarUrl: null, }; }); }); diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 39ba390..1e95651 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -23,6 +23,9 @@ export interface MCUser { fullName: string; emailAddress: string; analyticsID: string; + avatarUrl: string | null; + mermaidTheme?: string; + mermaidLook?: string; } export interface AICreditsUsage { From 13dfdeb31295b8e0ff8d1c5880997a58524a15cb Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Fri, 31 Jul 2026 17:53:57 +0530 Subject: [PATCH 6/7] update mcuser object --- .changeset/nice-buttons-happen.md | 2 +- packages/cli/src/commander.test.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.changeset/nice-buttons-happen.md b/.changeset/nice-buttons-happen.md index 9157073..75922a8 100644 --- a/.changeset/nice-buttons-happen.md +++ b/.changeset/nice-buttons-happen.md @@ -2,4 +2,4 @@ '@mermaidchart/sdk': patch --- -Added required analyticsID to MCUser so consumers (e.g. mermaid-mcp) can use the stable Mixpanel identity +Added analyticsID, avatarUrl, mermaidTheme, and mermaidLook to MCUser. diff --git a/packages/cli/src/commander.test.ts b/packages/cli/src/commander.test.ts index 5c65475..336fac6 100644 --- a/packages/cli/src/commander.test.ts +++ b/packages/cli/src/commander.test.ts @@ -60,6 +60,7 @@ const mockedMCUser = { fullName: 'My Test User', emailAddress: 'my-test-user@test.invalid', analyticsID: '00000000-0000-0000-0000-0000000000aa', + avatarUrl: null, } as const satisfies MCUser; const mockedProjects = [ { From 1991fdd499f7fc5c3e825e57c6346166b8670904 Mon Sep 17 00:00:00 2001 From: Prashant-7718 Date: Fri, 31 Jul 2026 18:04:24 +0530 Subject: [PATCH 7/7] updated changeset --- .changeset/nice-buttons-happen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/nice-buttons-happen.md b/.changeset/nice-buttons-happen.md index 75922a8..6d5dc25 100644 --- a/.changeset/nice-buttons-happen.md +++ b/.changeset/nice-buttons-happen.md @@ -2,4 +2,4 @@ '@mermaidchart/sdk': patch --- -Added analyticsID, avatarUrl, mermaidTheme, and mermaidLook to MCUser. +Add `analyticsID`, `avatarUrl`, `mermaidTheme`, and `mermaidLook` return types to `getUser()`