32 lines
1.1 KiB
TypeScript
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 });
|
|
}
|