diff --git a/package-lock.json b/package-lock.json index 56b1129d1a7..442a06c57c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45196,6 +45196,7 @@ "@mongodb-js/compass-connections": "^1.57.0", "@mongodb-js/compass-intercom": "^0.23.0", "@mongodb-js/compass-logging": "^1.6.10", + "@mongodb-js/compass-telemetry": "^1.7.1", "@mongodb-js/compass-utils": "^0.8.9", "bson": "^6.10.3", "compass-preferences-model": "^2.39.0", @@ -57170,6 +57171,7 @@ "@mongodb-js/compass-connections": "^1.57.0", "@mongodb-js/compass-intercom": "^0.23.0", "@mongodb-js/compass-logging": "^1.6.10", + "@mongodb-js/compass-telemetry": "^1.7.1", "@mongodb-js/compass-utils": "^0.8.9", "@mongodb-js/connection-info": "^0.14.1", "@mongodb-js/eslint-config-compass": "^1.3.9", diff --git a/packages/compass-generative-ai/package.json b/packages/compass-generative-ai/package.json index 1dce9741ed0..ec4c9e506cb 100644 --- a/packages/compass-generative-ai/package.json +++ b/packages/compass-generative-ai/package.json @@ -57,6 +57,7 @@ "@mongodb-js/compass-connections": "^1.57.0", "@mongodb-js/compass-intercom": "^0.23.0", "@mongodb-js/compass-logging": "^1.6.10", + "@mongodb-js/compass-telemetry": "^1.7.1", "@mongodb-js/compass-utils": "^0.8.9", "bson": "^6.10.3", "compass-preferences-model": "^2.39.0", diff --git a/packages/compass-generative-ai/src/components/ai-experience-entry.tsx b/packages/compass-generative-ai/src/components/ai-experience-entry.tsx index 8a6fef7d6a2..cc653feb4e9 100644 --- a/packages/compass-generative-ai/src/components/ai-experience-entry.tsx +++ b/packages/compass-generative-ai/src/components/ai-experience-entry.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useCallback } from 'react'; import { css, cx, @@ -8,6 +8,10 @@ import { useDarkMode, WorkspaceContainer, } from '@mongodb-js/compass-components'; +import { + type TrackFunction, + useTelemetry, +} from '@mongodb-js/compass-telemetry/provider'; import { AIEntrySVG, @@ -95,6 +99,12 @@ function AIExperienceEntry({ onClick: () => void; }) { const darkMode = useDarkMode(); + const track = useTelemetry(); + + const handleClick = useCallback(() => { + track('AI Generate Query Clicked', { type }); + onClick(); + }, [track, onClick, type]); return (