2025-04-01 10:38:02 +09:00

32 lines
1.1 KiB
TypeScript

import { reportInteraction } from '@grafana/runtime';
export const GENERATE_AI_INTERACTION_EVENT_NAME = 'dashboards_autogenerate_clicked';
// Source of the interaction
export enum EventTrackingSrc {
panelDescription = 'panel-description',
panelTitle = 'panel-title',
dashboardChanges = 'dashboard-changes',
dashboardTitle = 'dashboard-title',
dashboardDescription = 'dashboard-description',
unknown = 'unknown',
}
// Item of the interaction for the improve button and history poppover
export enum AutoGenerateItem {
autoGenerateButton = 'auto-generate-button',
erroredRetryButton = 'errored-retry-button',
stopGenerationButton = 'stop-generating-button',
improveButton = 'improve-button',
backHistoryItem = 'back-history-item',
forwardHistoryItem = 'forward-history-item',
quickFeedback = 'quick-feedback',
linkToDocs = 'link-to-docs',
customFeedback = 'custom-feedback',
applySuggestion = 'apply-suggestion',
}
export function reportAutoGenerateInteraction(src: EventTrackingSrc, item: AutoGenerateItem, otherMeta?: object) {
reportInteraction(GENERATE_AI_INTERACTION_EVENT_NAME, { src, item, ...otherMeta });
}