2026-04-22 18:58:16 +08:00
|
|
|
export const ANALYTICS_EVENTS = {
|
|
|
|
|
TOOL_USED: "tool_used",
|
|
|
|
|
SEARCH: "search",
|
|
|
|
|
PIPELINE_EXECUTED: "pipeline_executed",
|
|
|
|
|
AI_BUNDLE_ACTION: "ai_bundle_action",
|
|
|
|
|
} as const;
|
|
|
|
|
|
|
|
|
|
export type AnalyticsEvent = (typeof ANALYTICS_EVENTS)[keyof typeof ANALYTICS_EVENTS];
|
|
|
|
|
|
|
|
|
|
export interface ToolUsedProperties {
|
|
|
|
|
tool_id: string;
|
|
|
|
|
status: "completed" | "failed";
|
|
|
|
|
duration_ms: number;
|
|
|
|
|
category: string;
|
|
|
|
|
is_ai_tool: boolean;
|
|
|
|
|
params?: Record<string, string | number | boolean>;
|
2026-05-06 23:21:45 +08:00
|
|
|
error_code?: string;
|
|
|
|
|
error_message?: string;
|
2026-04-22 18:58:16 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface SearchProperties {
|
|
|
|
|
query: string;
|
|
|
|
|
results_count: number;
|
|
|
|
|
clicked_tool_id?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface PipelineExecutedProperties {
|
|
|
|
|
step_count: number;
|
|
|
|
|
tool_ids: string[];
|
|
|
|
|
is_batch: boolean;
|
|
|
|
|
file_count?: number;
|
|
|
|
|
duration_ms: number;
|
|
|
|
|
status: "completed" | "failed";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface AiBundleActionProperties {
|
|
|
|
|
bundle_id: string;
|
|
|
|
|
action: "installed" | "uninstalled";
|
|
|
|
|
duration_ms: number;
|
|
|
|
|
}
|